• Show log

    Commit

  • Hash : ce72ae95
    Author : Edward Thomson
    Date : 2019-03-22T10:53:30

    http: simplify authentication mechanisms
    
    Hold an individual authentication context instead of trying to maintain
    all the contexts; we can select the preferred context during the initial
    negotiation.
    
    Subsequent authentication steps will re-use the chosen authentication
    (until such time as it's rejected) instead of trying to manage multiple
    contexts when all but one will never be used (since we can only
    authenticate with a single mechanism at a time.)
    
    Also, when we're given a 401 or 407 in the middle of challenge/response
    handling, short-circuit immediately without incrementing the retry
    count.  The multi-step authentication is expected, and not a "retry" and
    should not be penalized as such.
    
    This means that we don't need to keep the contexts around and ensures
    that we do not unnecessarily fail for too many retries when we have
    challenge/response auth on a proxy and a server and potentially
    redirects in play as well.