* url-http.el (url-http-handle-authentication): Use proxy server,
authorChong Yidong <cyd@stupidchicken.com>
Sun, 8 Nov 2009 05:32:48 +0000 (05:32 +0000)
committerChong Yidong <cyd@stupidchicken.com>
Sun, 8 Nov 2009 05:32:48 +0000 (05:32 +0000)
if any, for authentication (Bug#4883).

lisp/url/ChangeLog
lisp/url/url-http.el

index 799fddc..91cafbb 100644 (file)
@@ -1,3 +1,8 @@
+2009-11-08  Kai Tetzlaff  <kai.tetzlaff@web.de>  (tiny change)
+
+       * url-http.el (url-http-handle-authentication): Use proxy server,
+       if any, for authentication (Bug#4883).
+
 2009-11-03  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * url-util.el (url-insert-entities-in-string):
index d9be187..7bd8a7a 100644 (file)
@@ -315,12 +315,16 @@ This allows us to use `mail-fetch-field', etc."
                  '("basic")))
        (type nil)
        (url (url-recreate-url url-current-object))
-       (url-basic-auth-storage 'url-http-real-basic-auth-storage)
+       (auth-url (url-recreate-url
+                  (if (and proxy (boundp 'url-http-proxy))
+                      url-http-proxy
+                    url-current-object)))
+       (url-basic-auth-storage (if proxy
+                                   ;; Cheating, but who cares? :)
+                                   'url-http-proxy-basic-auth-storage
+                                 'url-http-real-basic-auth-storage))
        auth
        (strength 0))
-    ;; Cheating, but who cares? :)
-    (if proxy
-       (setq url-basic-auth-storage 'url-http-proxy-basic-auth-storage))
 
     ;; find strongest supported auth
     (dolist (this-auth auths)
@@ -347,7 +351,8 @@ This allows us to use `mail-fetch-field', etc."
                  " send it to " url-bug-address ".<hr>")
          (setq status t))
       (let* ((args (url-parse-args (subst-char-in-string ?, ?\; auth)))
-            (auth (url-get-authentication url (cdr-safe (assoc "realm" args))
+            (auth (url-get-authentication auth-url
+                                          (cdr-safe (assoc "realm" args))
                                           type t args)))
        (if (not auth)
            (setq success t)