• 
      

    Add ticket-based authentication for perforce.

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

    Information

    Review Board
    release-1.7.x

    Reviewers

    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)
       
       
       
       
      Show all issues
      Indentation issue with the endif.
    3. 
        
    david
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to release-1.7.x (178a754).