comparison lisp/url/url-auth.el @ 95612:26c59cfcaeff

(auth-source-user-or-password): Remove unnecessary eval-and-compile.
author Glenn Morris <rgm@gnu.org>
date Sat, 07 Jun 2008 02:33:51 +0000
parents fc66ed3d9938
children 7369ded3b436
comparison
equal deleted inserted replaced
95611:4ad2aacd19df 95612:26c59cfcaeff
1 ;;; url-auth.el --- Uniform Resource Locator authorization modules 1 ;;; url-auth.el --- Uniform Resource Locator authorization modules
2 2
3 ;; Copyright (C) 1996, 1997, 1998, 1999, 2004, 3 ;; Copyright (C) 1996, 1997, 1998, 1999, 2004, 2005, 2006, 2007,
4 ;; 2005, 2006, 2007, 2008 Free Software Foundation, Inc. 4 ;; 2008 Free Software Foundation, Inc.
5 5
6 ;; Keywords: comm, data, processes, hypermedia 6 ;; Keywords: comm, data, processes, hypermedia
7 7
8 ;; This file is part of GNU Emacs. 8 ;; This file is part of GNU Emacs.
9 9
23 ;;; Code: 23 ;;; Code:
24 24
25 (require 'url-vars) 25 (require 'url-vars)
26 (require 'url-parse) 26 (require 'url-parse)
27 (autoload 'url-warn "url") 27 (autoload 'url-warn "url")
28 28 (autoload 'auth-source-user-or-password "auth-source")
29 (eval-and-compile
30 (autoload 'auth-source-user-or-password "auth-source"))
31 29
32 (defsubst url-auth-user-prompt (url realm) 30 (defsubst url-auth-user-prompt (url realm)
33 "String to usefully prompt for a username." 31 "String to usefully prompt for a username."
34 (concat "Username [for " 32 (concat "Username [for "
35 (or realm (url-truncate-url-for-viewing 33 (or realm (url-truncate-url-for-viewing
81 (t (url-file-directory file))) 79 (t (url-file-directory file)))
82 byserv (cdr-safe (assoc server 80 byserv (cdr-safe (assoc server
83 (symbol-value url-basic-auth-storage)))) 81 (symbol-value url-basic-auth-storage))))
84 (cond 82 (cond
85 ((and prompt (not byserv)) 83 ((and prompt (not byserv))
86 (setq user (or 84 (setq user (or
87 (auth-source-user-or-password "login" server type) 85 (auth-source-user-or-password "login" server type)
88 (read-string (url-auth-user-prompt url realm) 86 (read-string (url-auth-user-prompt url realm)
89 (or user (user-real-login-name)))) 87 (or user (user-real-login-name))))
90 pass (or 88 pass (or
91 (auth-source-user-or-password "password" server type) 89 (auth-source-user-or-password "password" server type)
92 (read-passwd "Password: " nil (or pass "")))) 90 (read-passwd "Password: " nil (or pass ""))))
93 (set url-basic-auth-storage 91 (set url-basic-auth-storage
94 (cons (list server 92 (cons (list server
95 (cons file 93 (cons file
109 (string= data (substring file 0 (length data))))) 107 (string= data (substring file 0 (length data)))))
110 (setq retval (cdr (car byserv)))) 108 (setq retval (cdr (car byserv))))
111 (setq byserv (cdr byserv)))) 109 (setq byserv (cdr byserv))))
112 (if (or (and (not retval) prompt) overwrite) 110 (if (or (and (not retval) prompt) overwrite)
113 (progn 111 (progn
114 (setq user (or 112 (setq user (or
115 (auth-source-user-or-password "login" server type) 113 (auth-source-user-or-password "login" server type)
116 (read-string (url-auth-user-prompt url realm) 114 (read-string (url-auth-user-prompt url realm)
117 (user-real-login-name))) 115 (user-real-login-name)))
118 pass (or 116 pass (or
119 (auth-source-user-or-password "password" server type) 117 (auth-source-user-or-password "password" server type)
120 (read-passwd "Password: ")) 118 (read-passwd "Password: "))
121 retval (base64-encode-string (format "%s:%s" user pass)) 119 retval (base64-encode-string (format "%s:%s" user pass))
122 byserv (assoc server (symbol-value url-basic-auth-storage))) 120 byserv (assoc server (symbol-value url-basic-auth-storage)))
123 (setcdr byserv 121 (setcdr byserv
203 (string= data (substring file 0 (length data))))) 201 (string= data (substring file 0 (length data)))))
204 (setq retval (cdr (car byserv)))) 202 (setq retval (cdr (car byserv))))
205 (setq byserv (cdr byserv)))) 203 (setq byserv (cdr byserv))))
206 (if overwrite 204 (if overwrite
207 (if (and (not retval) prompt) 205 (if (and (not retval) prompt)
208 (setq user (or 206 (setq user (or
209 (auth-source-user-or-password "login" server type) 207 (auth-source-user-or-password "login" server type)
210 (read-string (url-auth-user-prompt url realm) 208 (read-string (url-auth-user-prompt url realm)
211 (user-real-login-name))) 209 (user-real-login-name)))
212 pass (or 210 pass (or
213 (auth-source-user-or-password "password" server type) 211 (auth-source-user-or-password "password" server type)
214 (read-passwd "Password: ")) 212 (read-passwd "Password: "))
215 retval (setq retval 213 retval (setq retval
216 (cons user 214 (cons user
217 (url-digest-auth-create-key 215 (url-digest-auth-create-key