Add ticket-based authentication for perforce.

Review Request #3850 — Created Feb. 7, 2013 and submitted

david
Review Board
release-1.7.x
1623
reviewboard
Add ticket-based authentication for perforce.

People running perforce these days are encouraged to use ticket-based
authentication, which dramatically improves security (it actually forces users
to authenticate, and uses per-host tickets that can be expired).

We've been putting this off for a long time, and it turns out that it's not so
bad these days. I was mostly worried because our PerforceClient used p4api for
most tasks but manually invoked 'p4 print' to actually get the file contents,
which meant that we'd have to have two different login implementations. Some
testing reveals that since perforce revamped the python bindings, they fixed it
so run_print actually returns usable data.

Whether we want to use ticket-based authentication gets stored into the
extra_data dictionary, so we don't have to have any migrations.
Verified that the field was shown and hidden at the right times, and that data
was correctly persisted into the database.

Set up a local perforce server that required password authentication. Verified
that diffs still displayed correctly (to test the run_print() change).

Set the "security" setting to "3" on the server, which enforces ticket
authentication, and verified that local p4 clients all required ticket
authentication. Set use_ticket_auth in the admin UI and cleared my cache, then
reloaded the diff successfully.
Description From Last Updated

Indentation issue with the endif.

chipx86chipx86
reviewbot
  1. This is a review from Review Bot.
      Tool: PEP8 Style Checker
      Processed Files:
        reviewboard/scmtools/perforce.py
        reviewboard/scmtools/admin.py
        reviewboard/scmtools/models.py
        reviewboard/scmtools/core.py
        reviewboard/scmtools/forms.py
      Ignored Files:
        reviewboard/templates/admin/repository_fields.js
    
    
  2. 
      
chipx86
  1. Awesome! This is great. Makes me want to do another release right now! (But I won't.)
    
    One small indentation issue. Then ship it :)
  2. reviewboard/templates/admin/repository_fields.js (Diff revision 1)
     
     
     
     
    Indentation issue with the endif.
  3. 
      
david
Review request changed

Status: Closed (submitted)

Change Summary:

Pushed to release-1.7.x (178a754).
Loading...