Commit e952b711 authored by Miles Bader's avatar Miles Bader
Browse files

Merge from gnus--devo--0

Revision: emacs@sv.gnu.org/emacs--devo--0--patch-1153
parent 8234f5be
2008-05-09 Teodor Zlatanov <tzz@lifelogs.com>
* nntp.el: Autoload `auth-source-user-or-password'.
(nntp-send-authinfo): Use it.
* nnimap.el: Autoload `auth-source-user-or-password'.
(nnimap-open-connection): Use it.
* auth-source.el: Added docs on using with url-auth. Import gnus-util
for the gnus-message function.
(auth-source-user-or-password): Use it.
2008-05-08 Stefan Monnier <monnier@iro.umontreal.ca>
* rfc2104.el (rfc2104-hexstring-to-bitstring): Rename it back from
......
......@@ -39,8 +39,18 @@
;; before you put some data in ~/.authinfo.gpg (the default place)
;;; For url-auth authentication (HTTP/HTTPS), you need to use:
;;; machine yourmachine.com:80 port http login testuser password testpass
;;; This will match any realm and authentication method (basic or
;;; digest). If you want finer controls, explore the url-auth source
;;; code and variables.
;;; Code:
(require 'gnus-util)
(eval-when-compile (require 'cl))
(eval-when-compile (require 'netrc))
......@@ -135,6 +145,9 @@ Returns fallback choices (where PROTOCOL or HOST are nil) with FALLBACK t."
(defun auth-source-user-or-password (mode host protocol)
"Find user or password (from the string MODE) matching HOST and PROTOCOL."
(gnus-message 9
"auth-source-user-or-password: get %s for %s (%s)"
mode host protocol)
(let (found)
(dolist (choice (auth-source-pick host protocol))
(setq found (netrc-machine-user-or-password
......@@ -144,6 +157,12 @@ Returns fallback choices (where PROTOCOL or HOST are nil) with FALLBACK t."
(list (format "%s" protocol))
(auth-source-protocol-defaults protocol)))
(when found
(gnus-message 9
"auth-source-user-or-password: found %s=%s for %s (%s)"
mode
;; don't show the password
(if (equal mode "password") "SECRET" found)
host protocol)
(return found)))))
(defun auth-source-protocol-defaults (protocol)
......
......@@ -71,6 +71,9 @@
(eval-when-compile (require 'cl))
(eval-and-compile
(autoload 'auth-source-user-or-password "auth-source"))
(nnoo-declare nnimap)
(defconst nnimap-version "nnimap 1.0")
......@@ -796,22 +799,26 @@ If EXAMINE is non-nil the group is selected read-only."
(port (if nnimap-server-port
(int-to-string nnimap-server-port)
"imap"))
(user (netrc-machine-user-or-password
"login"
list
(list server
(or nnimap-server-address
nnimap-address))
(list port)
(list "imap" "imaps" "143" "993")))
(passwd (netrc-machine-user-or-password
"password"
list
(list server
(or nnimap-server-address
nnimap-address))
(list port)
(list "imap" "imaps" "143" "993"))))
(user (or
(auth-source-user-or-password "login" server port) ; this is preferred to netrc-*
(netrc-machine-user-or-password
"login"
list
(list server
(or nnimap-server-address
nnimap-address))
(list port)
(list "imap" "imaps" "143" "993"))))
(passwd (or
(auth-source-user-or-password "login" server port) ; this is preferred to netrc-*
(netrc-machine-user-or-password
"password"
list
(list server
(or nnimap-server-address
nnimap-address))
(list port)
(list "imap" "imaps" "143" "993")))))
(if (imap-authenticate user passwd nnimap-server-buffer)
(prog2
(setq nnimap-server-buffer-alist
......
......@@ -36,6 +36,9 @@
(eval-when-compile (require 'cl))
(eval-and-compile
(autoload 'auth-source-user-or-password "auth-source"))
(defgroup nntp nil
"NNTP access for Gnus."
:group 'gnus)
......@@ -1177,8 +1180,15 @@ If SEND-IF-FORCE, only send authinfo to the server if the
(let* ((list (netrc-parse nntp-authinfo-file))
(alist (netrc-machine list nntp-address "nntp"))
(force (or (netrc-get alist "force") nntp-authinfo-force))
(user (or (netrc-get alist "login") nntp-authinfo-user))
(passwd (netrc-get alist "password")))
(user (or
;; this is preferred to netrc-*
(auth-source-user-or-password "login" nntp-address "nntp")
(netrc-get alist "login")
nntp-authinfo-user))
(passwd (or
;; this is preferred to netrc-*
(auth-source-user-or-password "password" nntp-address "nntp")
(netrc-get alist "password"))))
(when (or (not send-if-force)
force)
(unless user
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment