From: Ted Zlatanov Date: Tue, 15 Feb 2011 15:31:58 +0000 (-0600) Subject: Enable `auth-source-debug' by default. Add and use `auth-source-do-warn'. X-Git-Url: https://cgit.sxemacs.org/?a=commitdiff_plain;h=d3688d0bb275d5d3dcca7cc741bddc8021ac06e7;p=gnus Enable `auth-source-debug' by default. Add and use `auth-source-do-warn'. * auth-source.el (auth-source-debug): Enable by default and don't mention the obsolete `auth-source-hide-passwords'. (auth-source-do-warn): New function to debug unconditionally. (auth-source-do-debug): Use it. (auth-source-backend-parse): Use it for invalid `auth-sources' entries and for Secrets API entries when the secrets.el library is not available. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 91ee1a201..8e0c467a3 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,13 @@ +2011-02-15 Teodor Zlatanov + + * auth-source.el (auth-source-debug): Enable by default and don't + mention the obsolete `auth-source-hide-passwords'. + (auth-source-do-warn): New function to debug unconditionally. + (auth-source-do-debug): Use it. + (auth-source-backend-parse): Use it for invalid `auth-sources' entries + and for Secrets API entries when the secrets.el library is not + available. + 2011-02-14 Lars Ingebrigtsen * gnus-sum.el (gnus-propagate-marks): Default to nil. diff --git a/lisp/auth-source.el b/lisp/auth-source.el index 0692dbb53..a259c5c2f 100644 --- a/lisp/auth-source.el +++ b/lisp/auth-source.el @@ -135,14 +135,15 @@ :version "23.2" ;; No Gnus :type `boolean) -(defcustom auth-source-debug nil +(defcustom auth-source-debug t "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 t, debug messages are logged with `message'. In +that case, your authentication data will be in the clear (except +for passwords). + If the value is a function, debug messages are logged by calling that function using the same arguments as `message'." :group 'auth-source @@ -235,18 +236,22 @@ If the value is not a list, symmetric encryption will be used." ;; (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")) +;; (let ((auth-source-debug 'debug)) (auth-source-do-debug "hello")) +;; (let ((auth-source-debug t)) (auth-source-do-debug "hello")) +;; (let ((auth-source-debug nil)) (auth-source-do-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)))) + (apply 'auth-source-do-warn msg))) + +(defun auth-source-do-warn (&rest msg) + (apply + ;; set logger to either the function in auth-source-debug or 'message + ;; note that it will be 'message if auth-source-debug is nil + (if (functionp auth-source-debug) + auth-source-debug + 'message) + msg)) + ;; (auth-source-pick nil :host "any" :protocol 'imap :user "joe") ;; (auth-source-pick t :host "any" :protocol 'imap :user "joe") @@ -312,16 +317,23 @@ If the value is not a list, symmetric encryption will be used." (setq source (or (secrets-get-alias (symbol-name source)) "Login"))) - (auth-source-backend - (format "Secrets API (%s)" source) - :source source - :type 'secrets - :search-function 'auth-source-secrets-search - :create-function 'auth-source-secrets-create))) + (if (featurep 'secrets) + (auth-source-backend + (format "Secrets API (%s)" source) + :source source + :type 'secrets + :search-function 'auth-source-secrets-search + :create-function 'auth-source-secrets-create) + (auth-source-do-warn + "auth-source-backend-parse: no Secrets API, ignoring spec: %S" entry) + (auth-source-backend + (format "Ignored Secrets API (%s)" source) + :source "" + :type 'ignore)))) ;; none of them (t - (auth-source-do-debug + (auth-source-do-warn "auth-source-backend-parse: invalid backend spec: %S" entry) (auth-source-backend "Empty"