Commit 554a69b8 authored by Katsumi Yamaoka's avatar Katsumi Yamaoka
Browse files

Synch with Gnus trunk:

2009-07-16  Katsumi Yamaoka  <yamaoka@jpl.org>
* nnrss.el (nnrss-request-article): Allow mml-to-mime to generate MIME
article without making inquiry to a user for unknown encoding.

* nnmaildir.el (nnmaildir--group-maxnum, nnmaildir--new-number)
(nnmaildir--scan): Assume i-node and device number that file-attributes
returns might be cons-cell.

2009-07-16  Teodor Zlatanov  <tzz@lifelogs.com>
* auth-source.el: Remove docs now in auth.texi.  Don't use
`gnus-message' for logging.  Add new variables `auth-source-debug' and
`auth-source-hide-passwords' and use them.
parent 0dd44f7e
2009-07-16 Katsumi Yamaoka <yamaoka@jpl.org>
* nnrss.el (nnrss-request-article): Allow mml-to-mime to generate MIME
article without making inquiry to a user for unknown encoding.
* nnmaildir.el (nnmaildir--group-maxnum, nnmaildir--new-number)
(nnmaildir--scan): Assume i-node and device number that file-attributes
returns might be cons-cell.
2009-07-16 Teodor Zlatanov <tzz@lifelogs.com>
* auth-source.el: Remove docs now in auth.texi. Don't use
`gnus-message' for logging. Add new variables `auth-source-debug' and
`auth-source-hide-passwords' and use them.
2009-07-15 Glenn Morris <rgm@gnu.org>
* gnus-spec.el (gnus-make-format-preserve-properties): Doc fix.
......
......@@ -27,33 +27,7 @@
;; of providing 5000 options, we'll stick to simple, easy to
;; understand options.
;; Easy setup:
;; (require 'auth-source)
;; (customize-variable 'auth-sources) ;; optional
;; now, whatever sources you've defined for password have to be available
;; if you want encrypted sources, which is strongly recommended, do
;; (require 'epa-file)
;; (epa-file-enable)
;; (setq epa-file-cache-passphrase-for-symmetric-encryption t) ; VERY important
;; 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.
;;; For tramp authentication, use:
;;; machine yourmachine.com port scp login testuser password testpass
;;; Note that the port denotes the Tramp connection method. When you
;;; don't use a port entry, you match any Tramp method.
;; See the auth.info Info documentation for details.
;;; Code:
......@@ -100,6 +74,31 @@
:version "23.1" ;; No Gnus
:type `boolean)
(defcustom auth-source-debug nil
"Whether auth-source should log debug messages.
Also see `auth-source-hide-passwords'.
If the value is nil, debug messages are not logged.
If the value is t, debug messages are logged with `message'.
In that case, your authentication data will be in the
clear (except for passwords, which are always stripped out).
If the value is a function, debug messages are logged by calling
that function using the same arguments as `message'."
:group 'auth-source
:version "23.1" ;; No Gnus
:type `(choice
:tag "auth-source debugging mode"
(const :tag "Log using `message' to the *Messages* buffer" t)
(function :tag "Function that takes arguments like `message'")
(const :tag "Don't log anything" nil)))
(defcustom auth-source-hide-passwords t
"Whether auth-source should hide passwords in log messages.
Only relevant if `auth-source-debug' is not nil."
:group 'auth-source
:version "23.1" ;; No Gnus
:type `boolean)
(defcustom auth-sources '((:source "~/.authinfo.gpg" :host t :protocol t))
"List of authentication sources.
......@@ -137,6 +136,19 @@ Each entry is the authentication type with optional properties."
;; (auth-source-user-or-password-imap "password" "imap.myhost.com")
;; (auth-source-protocol-defaults 'imap)
;; (let ((auth-source-debug 'debug)) (auth-source-debug "hello"))
;; (let ((auth-source-debug t)) (auth-source-debug "hello"))
;; (let ((auth-source-debug nil)) (auth-source-debug "hello"))
(defun auth-source-do-debug (&rest msg)
;; set logger to either the function in auth-source-debug or 'message
;; note that it will be 'message if auth-source-debug is nil, so
;; we also check the value
(when auth-source-debug
(let ((logger (if (functionp auth-source-debug)
auth-source-debug
'message)))
(apply logger msg))))
(defun auth-source-pick (host protocol &optional fallback)
"Parse `auth-sources' for HOST, and PROTOCOL matches.
......@@ -171,21 +183,21 @@ Returns fallback choices (where PROTOCOL or HOST are nil) with FALLBACK t."
(defun auth-source-user-or-password (mode host protocol)
"Find MODE (string or list of strings) matching HOST and PROTOCOL.
MODE can be \"login\" or \"password\" for example."
(gnus-message 9
"auth-source-user-or-password: get %s for %s (%s)"
mode host protocol)
(auth-source-do-debug
"auth-source-user-or-password: get %s for %s (%s)"
mode host protocol)
(let* ((listy (listp mode))
(mode (if listy mode (list mode)))
(cname (format "%s %s:%s" mode host protocol))
(found (gethash cname auth-source-cache)))
(if found
(progn
(gnus-message 9
"auth-source-user-or-password: cached %s=%s for %s (%s)"
mode
;; don't show the password
(if (member "password" mode) "SECRET" found)
host protocol)
(auth-source-do-debug
"auth-source-user-or-password: cached %s=%s for %s (%s)"
mode
;; don't show the password
(if (and (member "password" mode) auth-source-hide-passwords) "SECRET" found)
host protocol)
found)
(dolist (choice (auth-source-pick host protocol))
(setq found (netrc-machine-user-or-password
......@@ -195,12 +207,12 @@ MODE can be \"login\" or \"password\" for example."
(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 (member "password" mode) "SECRET" found)
host protocol)
(auth-source-do-debug
"auth-source-user-or-password: found %s=%s for %s (%s)"
mode
;; don't show the password
(if (and (member "password" mode) auth-source-hide-passwords) "SECRET" found)
host protocol)
(setq found (if listy found (car-safe found)))
(when auth-source-do-cache
(puthash cname found auth-source-cache)))
......
......@@ -270,8 +270,8 @@ by nnmaildir-request-article.")
(setq attr (file-attributes
(concat dir (number-to-string number-linked))))
(or attr (throw 'return (1- number-linked)))
(if (/= ino-opened (nth 10 attr))
(setq number-opened number-linked))))))
(unless (equal ino-opened (nth 10 attr))
(setq number-opened number-linked))))))
;; Make the given server, if non-nil, be the current server. Then make the
;; given group, if non-nil, be the current group of the current server. Then
......@@ -361,9 +361,9 @@ by nnmaildir-request-article.")
number-open number-link))
((nnmaildir--eexist-p err)
(let ((attr (file-attributes path-link)))
(if (/= (nth 10 attr) ino-open)
(setq number-open number-link
number-link 0))))
(unless (equal (nth 10 attr) ino-open)
(setq number-open number-link
number-link 0))))
(t (signal (car err) (cdr err)))))))))
(defun nnmaildir--update-nov (server group article)
......@@ -744,7 +744,7 @@ by nnmaildir-request-article.")
ls (or (nnmaildir--param pgname 'directory-files) srv-ls))
(unless read-only
(setq x (nth 11 (file-attributes tdir)))
(unless (and (= x (nth 11 nattr)) (= x (nth 11 cattr)))
(unless (and (equal x (nth 11 nattr)) (equal x (nth 11 cattr)))
(setf (nnmaildir--srv-error nnmaildir--cur-server)
(concat "Maildir spans filesystems: " absdir))
(throw 'return nil))
......
......@@ -310,7 +310,11 @@ used to render text. If it is nil, text will simply be folded.")
"<#/part>\n"
"<#/multipart>\n"))
(condition-case nil
(mml-to-mime)
;; Allow `mml-to-mime' to generate MIME article without
;; making inquiry to a user for unknown encoding.
(let ((mml-confirmation-set
(cons 'unknown-encoding mml-confirmation-set)))
(mml-to-mime))
(error
(erase-buffer)
(insert header
......
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