commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ol...@apache.org
Subject cvs commit: jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/auth NTLMScheme.java
Date Wed, 21 Jan 2004 21:10:44 GMT
olegk       2004/01/21 13:10:44

  Modified:    httpclient/src/java/org/apache/commons/httpclient/auth
                        NTLMScheme.java
  Log:
  Fixes the problem with NTLM authentication scheme failing to properly handle authentication
failures caused by invalid credentials which results in an infinite loop in HttpMethodDirector
  
  Contributed by Oleg Kalnichevski
  
  Revision  Changes    Path
  1.17      +10 -5     jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/auth/NTLMScheme.java
  
  Index: NTLMScheme.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/httpclient/src/java/org/apache/commons/httpclient/auth/NTLMScheme.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- NTLMScheme.java	14 Jan 2004 20:48:43 -0000	1.16
  +++ NTLMScheme.java	21 Jan 2004 21:10:44 -0000	1.17
  @@ -95,6 +95,7 @@
       private static final int TYPE1_MSG_GENERATED = 2;
       private static final int TYPE2_MSG_RECEIVED  = 3;
       private static final int TYPE3_MSG_GENERATED = 4;
  +    private static final int FAILED              = Integer.MAX_VALUE;
   
       /** Authentication process state */
       private int state;
  @@ -140,7 +141,11 @@
               this.state = TYPE2_MSG_RECEIVED;
           } else {
               this.ntlmchallenge = "";
  -            this.state = INITIATED;
  +            if (this.state == UNINITIATED) {
  +                this.state = INITIATED;
  +            } else {
  +                this.state = FAILED;
  +            }
           }
       }
   
  @@ -151,7 +156,7 @@
        *   <tt>false</tt> otherwise.
        */
       public boolean isComplete() {
  -        return this.state == TYPE3_MSG_GENERATED;
  +        return this.state == TYPE3_MSG_GENERATED || this.state == FAILED;
       }
   
       /**
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message