• Gnus developers's avatar
    Merge changes made in Gnus trunk. · b8e0f0cd
    Gnus developers authored
    auth.texi (Overview, Help for users, Help for developers): Update docs.
     (Help for users): Talk about spaces.
    sieve-manage.el: Autoload `auth-source-search'.
     (sieve-sasl-auth): Use it.
    nnimap.el: Autoload `auth-source-forget+'.
     (nnimap-open-connection-1): Use it if the connection fails.
    auth-source.el: Require `password-cache'.
     (auth-source-hide-passwords, auth-source-cache): Remove and mark obsolete.
     (auth-source-magic): Marker for `password-cache' keys.
     (auth-source-do-cache): Update docstring.
     (auth-source-search): Use and check cache.
     (auth-source-forget-all-cached, auth-source-remember)
     (auth-source-recall, auth-source-forget, auth-source-forget+)
     (auth-source-specmatchp): Caching support functions.
     (auth-source-forget-user-or-password, auth-source-forget-all-cached): Remove and obsolete.
     (auth-source-user-or-password): Remove caching to further discourage using it.  Always hide passwords.
    password-cache.el (password-cache-remove): Accept secrets that are not strings.
    mail-source.el: Autoload `auth-source-search'.
     (mail-source-keyword-map): Note order matters.
     (mail-source-set-1): Get all the mail-source source values and defaults and search auth-source on those if needed.  This can all probably be simplified.
    nnimap.el: Autoload `auth-source-search'.
     (nnimap-credentials): Use it.
     (nnimap-open-connection-1): Ask for the virtual server and physical address in one shot.
    nntp.el: Autoload `auth-source-search'.
     (nntp-send-authinfo): Use it.  Note TODO.
    auth-source.el (auth-source-secrets-search, auth-source-user-or-password): Use `append' instead of `nconc'.
     (auth-source-user-or-password): Build return list better and protect against nil :secret.
    auth-source.el (top): Require 'eieio unconditionally.  Autoload `secrets-get-attributes' instead of `secrets-get-attribute'.
     (auth-source-secrets-search): Limit search when `max' is greater than number of results.
    auth-source.el (auth-source-secrets-search): Add examples.
    auth-source.el (auth-sources): Allow for simpler defaults for Secrets API with a string "secrets:collection-name" and with 'default.
     (auth-source-backend-parse): Parse "secrets:collection-name" and 'default.  Recurse on parses instead of repeating code.  Use the Secrets API is the source is not nil and 'ignore otherwise.  Emit a message when ignoring a source.
     (auth-source-search): List ignored search keys at the top level.
     (auth-source-netrc-create): Use `case' instead of `cond'.
     (auth-source-secrets-search): Created with TODOs.
     (auth-source-secrets-create): Created with TODOs.
     (auth-source-retrieve, auth-source-create, auth-source-delete)
     (auth-source-protocol-defaults, auth-source-user-or-password-imap)
     (auth-source-user-or-password-pop3, auth-source-user-or-password-ssh)
     (auth-source-user-or-password-smtp): Removed.
     (auth-source-user-or-password): Deprecated and modified to be a wrapper around `auth-source-search'.  Not tested thoroughly.
    auth-source.el: Bring in assoc and eioeio libraries.
     (secrets-enabled): New variable to track the status of the Secrets API.
     (auth-source-backend): New EIOEIO class to represent a backend.
     (auth-source-creation-defaults): New variable to set prompt defaults during token creation (see the `auth-source-search' docstring for details).
     (auth-sources): Simplify to allow a simple string as a netrc backend spec.
     (auth-source-backend-parse): Parse a backend from an `auth-sources' spec.
     (auth-source-backend-parse-parameters): Fill in the backend parameters.
     (auth-source-search): Main auth-source API entry point.
     (auth-source-delete): Wrapper around `auth-source-search' for deletion.
     (auth-source-search-collection): Helper function for searching.
     (auth-source-netrc-parse, auth-source-netrc-normalize)
     (auth-source-netrc-search, auth-source-netrc-create): Netrc backend.  Supports search, create, and delete.
     (auth-source-secrets-search, auth-source-secrets-create): Secrets API backend stubs.
    (auth-source-user-or-password): Call `auth-source-search' but it's not ready yet.
ChangeLog 239 KB