You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by re...@locus.apache.org on 2000/12/12 08:15:52 UTC

cvs commit: jakarta-slide/src/webdav/client/src/org/apache/webdav/lib Authenticator.java WebdavClient.java

remm        00/12/11 23:15:51

  Modified:    src/webdav/client/src/org/apache/webdav/lib
                        Authenticator.java WebdavClient.java
  Log:
  - Do not send the challenge response if it's null.
  - Pass the State to the authenticator (will be needed for DIGEST).
  
  Revision  Changes    Path
  1.4       +27 -11    jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/Authenticator.java
  
  Index: Authenticator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/Authenticator.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- Authenticator.java	2000/12/12 06:54:41	1.3
  +++ Authenticator.java	2000/12/12 07:15:50	1.4
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/Authenticator.java,v 1.3 2000/12/12 06:54:41 remm Exp $
  - * $Revision: 1.3 $
  - * $Date: 2000/12/12 06:54:41 $
  + * $Header: /home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/Authenticator.java,v 1.4 2000/12/12 07:15:50 remm Exp $
  + * $Revision: 1.4 $
  + * $Date: 2000/12/12 07:15:50 $
    *
    * ====================================================================
    *
  @@ -63,9 +63,7 @@
   
   package org.apache.webdav.lib;
   
  -import java.io.IOException;
  -import java.util.*;
  -import org.apache.webdav.lib.util.*;
  +import org.apache.webdav.lib.util.Base64;
   
   /**
    * Authenticate helper.
  @@ -90,17 +88,21 @@
       /**
        * Generate a response to the given challenge.
        * 
  -     * @param challenge Challenge
  +     * @param state State
        * @param credentials Credentials to use to answser the challenge
        * @return String response to the challenge
        */
  -    public static String challengeResponse(String challenge,
  +    public static String challengeResponse(State state,
                                              Credentials credentials) 
           throws WebdavException {
           
           if (credentials == null)
               throw new WebdavException("No credentials given");
           
  +        String challenge = state.getAuthenticateToken();
  +        if (challenge == null)
  +            return null;
  +        
           int space = challenge.indexOf(' ');
           if (space < 0)
               return null;
  @@ -108,9 +110,11 @@
           String challengeName = challenge.substring(0, space);
           
           if (challengeName.equalsIgnoreCase("basic")) {
  -            return basic(credentials);
  +            return basic(state, credentials);
           } else if (challengeName.equalsIgnoreCase("digest")) {
  -            // FIXME !
  +            return digest(state, credentials);
  +        } else {
  +            
           }
           return null;
           
  @@ -122,11 +126,23 @@
        * 
        * @param credentials Credentials to use to answser the challenge
        */
  -    public static String basic(Credentials credentials) {
  +    public static String basic(State state, Credentials credentials) {
           
           String authString = credentials.getUserName() + ":" 
               + credentials.getPassword();
           return "Basic " + new String(base64.encode(authString.getBytes()));
  +        
  +    }
  +    
  +    
  +    /**
  +     * Generate a basic response.
  +     * 
  +     * @param credentials Credentials to use to answser the challenge
  +     */
  +    public static String digest(State state, Credentials credentials) {
  +        
  +        return null;
           
       }
       
  
  
  
  1.13      +10 -8     jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/WebdavClient.java
  
  Index: WebdavClient.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/WebdavClient.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- WebdavClient.java	2000/12/06 05:04:30	1.12
  +++ WebdavClient.java	2000/12/12 07:15:50	1.13
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/WebdavClient.java,v 1.12 2000/12/06 05:04:30 remm Exp $
  - * $Revision: 1.12 $
  - * $Date: 2000/12/06 05:04:30 $
  + * $Header: /home/cvs/jakarta-slide/src/webdav/client/src/org/apache/webdav/lib/WebdavClient.java,v 1.13 2000/12/12 07:15:50 remm Exp $
  + * $Revision: 1.13 $
  + * $Date: 2000/12/12 07:15:50 $
    *
    * ====================================================================
    *
  @@ -475,11 +475,13 @@
           if (state.getAuthenticateToken() != null) {
               
               String challengeResponse = Authenticator.challengeResponse
  -                (state.getAuthenticateToken(), credentials);
  -            System.out.print("Authorization: " 
  -                               + challengeResponse + "\r\n");
  -            output.write(("Authorization: " 
  -                          + challengeResponse + "\r\n").getBytes());
  +                (state, credentials);
  +            if (debug > 1)
  +                System.out.print("Authorization: " 
  +                                 + challengeResponse + "\r\n");
  +            if (challengeResponse != null)
  +                output.write(("Authorization: " 
  +                              + challengeResponse + "\r\n").getBytes());
               
           }