dgaudet     98/01/02 15:58:29

  Modified:    .        STATUS
               src      CHANGES
               src/modules/standard mod_digest.c
  Log:
  Using the digest Authentication scheme for proxy authentication, authorization
  never succeeds because mod_digest always looks at the Authorization header,
  never at the Proxy-Authorization header.
  
  Also, the scheme in the auth header is compared to "Digest" using a case-
  sensitive comparison, instead of a case-insensitive comparison.
  
  PR:           1599
  Submitted by: Ronald Tschalaer <[EMAIL PROTECTED]>
  Reviewed by:  Dean Gaudet, Jim Jagielski
  
  Revision  Changes    Path
  1.47      +1 -5      apachen/STATUS
  
  Index: STATUS
  ===================================================================
  RCS file: /export/home/cvs/apachen/STATUS,v
  retrieving revision 1.46
  retrieving revision 1.47
  diff -u -r1.46 -r1.47
  --- STATUS    1998/01/02 23:46:06     1.46
  +++ STATUS    1998/01/02 23:58:24     1.47
  @@ -65,6 +65,7 @@
       * Paul/Ben's [PATCH] 1.3: spaces in NT spawn* arguments
       * Dean's [PATCH] mod_info minor cleanups (take 2)
       * Dean's [PATCH] mod_status cleanups
  +    * [PATCH] mod_digest/1599: proxy authentication using the digest auth 
scheme never succeeds (fwd)
   
   Available Patches:
   
  @@ -72,11 +73,6 @@
        <[EMAIL PROTECTED]>
        Status: Ken +1, Jim +1
        Gregory Lundberg says it's legally invalid
  -
  -    * [PATCH] mod_digest/1599: proxy authentication using the digest auth
  -      scheme never succeeds (fwd)
  -     <[EMAIL PROTECTED]>
  -     Status: Dean +1, Jim +1
   
       * Martin's [PATCH] 36kB: Make apache compile & run on an EBCDIC mainframe
        <[EMAIL PROTECTED]>
  
  
  
  1.556     +4 -0      apachen/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /export/home/cvs/apachen/src/CHANGES,v
  retrieving revision 1.555
  retrieving revision 1.556
  diff -u -r1.555 -r1.556
  --- CHANGES   1998/01/02 23:46:07     1.555
  +++ CHANGES   1998/01/02 23:58:26     1.556
  @@ -1,5 +1,9 @@
   Changes with Apache 1.3b4
   
  +  *) mod_digest didn't properly deal with proxy authentication.  It
  +     also lacked a case-insensitive comparision of the "Digest"
  +     token.  [Ronald Tschalaer <[EMAIL PROTECTED]>] PR#1599
  +
     *) A few cleanups in mod_status for efficiency.  [Dean Gaudet]
   
     *) A few cleanups in mod_info to make it thread-safe, and remove an
  
  
  
  1.28      +4 -2      apachen/src/modules/standard/mod_digest.c
  
  Index: mod_digest.c
  ===================================================================
  RCS file: /export/home/cvs/apachen/src/modules/standard/mod_digest.c,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- mod_digest.c      1997/12/18 20:39:18     1.27
  +++ mod_digest.c      1998/01/02 23:58:28     1.28
  @@ -132,7 +132,9 @@
   
   int get_digest_rec(request_rec *r, digest_header_rec * response)
   {
  -    const char *auth_line = table_get(r->headers_in, "Authorization");
  +    const char *auth_line = table_get(r->headers_in,
  +                                    r->proxyreq ? "Proxy-Authorization"
  +                                    : "Authorization");
       int l;
       int s = 0, vk = 0, vv = 0;
       char *t, *key, *value;
  @@ -151,7 +153,7 @@
        return AUTH_REQUIRED;
       }
   
  -    if (strcmp(getword(r->pool, &auth_line, ' '), "Digest")) {
  +    if (strcasecmp(getword(r->pool, &auth_line, ' '), "Digest")) {
        /* Client tried to authenticate using wrong auth scheme */
        aplog_error(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, r->server,
                    "client used wrong authentication scheme: %s", r->uri);
  
  
  

Reply via email to