Changeset 15556 in project


Ignore:
Timestamp:
08/24/09 13:29:33 (10 years ago)
Author:
sjamaan
Message:

Remove digest auth code, which isn't ready yet!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • release/4/http-client/trunk/http-client.scm

    r15547 r15556  
    347347                                                 (password . ,password)))))
    348348                                     (request-headers req)))))
    349                    ((digest)
    350                     (let* ((params (header-params 'www-authenticate
    351                                                   (response-headers response)))
    352                            (qops (alist-ref 'qop header-params eq? '()))
    353                            (qop (cond
    354                                  ((member 'auth-int qops) 'auth-int)
    355                                  ((member 'auth qops) 'auth)
    356                                  (else #f)))
    357                            (cnonce (and qop "client-nonce-TODO"))
    358                            (nonce (header-param 'nonce header-params))
    359                            (nc (and qop 1)) ;; TODO
    360                            (hashconc (lambda args
    361                                        (md5 (string-join
    362                                              (map ->string args) ":"))))
    363                            (realm (alist-ref 'realm header-params))
    364                            (method (alist-ref 'method header-params))
    365                            (h1 (hashconc username realm password))
    366                            (h2 (if (eq? qop 'auth-int)
    367                                    (hashconc method
    368                                              (uri->string
    369                                               (request-uri req)
    370                                               (constantly ""))
    371                                              "message-body") ; TODO
    372                                    (hashconc method (uri->string
    373                                                      (request-uri req)
    374                                                      (constantly "")))))
    375                            (response-digest
    376                             (case qop
    377                               ((auth-int) #f ; TODO
    378                                )
    379                               ((auth) #f ; TODO
    380                                )
    381                               (else
    382                                (conc h1 nonce h2)))))
    383                       (loop (add1 attempts)
    384                             redirects
    385                             (update-request
    386                              req
    387                              headers:
    388                              (headers
    389                               `((authorization
    390                                  #(digest
    391                                    ((username . ,username)
    392                                     (uri . ,(request-uri req))
    393                                     (realm . ,(alist-ref params 'realm))
    394                                     (nonce . ,(alist-ref params 'nonce))
    395                                     (cnonce . ,cnonce)
    396                                     (nc . ,nc)
    397                                     (response . ,response-digest)
    398                                     (opaque . ,(alist-ref params 'opaque))))))
    399                               (request-headers req))))))
    400349                   (else (error "Should never get here"))))
    401350               ;; pass it on, we can't throw an error here
Note: See TracChangeset for help on using the changeset viewer.