]> git.eshelyaron.com Git - emacs.git/commit
Accept functions in place of passwords in ERC
authorF. Jason Park <jp@neverwas.me>
Sun, 13 Nov 2022 09:52:48 +0000 (01:52 -0800)
committerAmin Bandali <bandali@gnu.org>
Thu, 24 Nov 2022 02:23:05 +0000 (21:23 -0500)
commit5258f3616812da63526da7b1aadfe26fc384ef2a
tree6a14cfa3b2dd5949f6533db325dd296cbad25f06
parented8862c40432302b68433a9b8c00cd5604962ec4
Accept functions in place of passwords in ERC

* lisp/erc/erc-backend.el (erc-session-password): Add comment
explaining type is now string, nil, or function.
* lisp/erc/erc-compat.el (erc-compat--29-auth-source-pass-search):
Use obfuscation from auth-source function when available.
* lisp/erc/erc-sasl.el (erc-sasl--read-password,
erc-server-AUTHENTICATE): Use `erc--unfun'.
* lisp/erc/erc-services.el (erc-nickserv-get-password,
erc-nickserv-send-identify): Use `erc--unfun'.
* lisp/erc/erc.el (erc--unfun): New function for unwrapping a
password couched in a getter.
(erc--debug-irc-protocol-mask-secrets): Add variable to indicate
whether to mask passwords in debug logs.
(erc--mask-secrets): New function to swap masked secret with question
marks in debug logs.
(erc-log-irc-protocol): Conditionally mask secrets when
`erc--debug-irc-protocol-mask-secrets' is non-nil.
(erc--auth-source-search): Don't unwrap secret from function before
returning.
(erc-server-join-channel, erc-login): Use `erc--unfun'.

* test/lisp/erc/erc-services-tests.el
(erc-services-tests--wrap-search): Add helper for `erc--unfun'.
(erc-services-tests--auth-source-standard,
erc-services-tests--auth-source-announced,
erc-services-tests--auth-source-overrides, erc-nickserv-get-password):
Use `erc--unfun'.
* test/lisp/erc/erc-tests.el (erc--debug-irc-protocol-mask-secrets):
Add test for masking secrets with `erc--unfun' and friends.
lisp/erc/erc-backend.el
lisp/erc/erc-compat.el
lisp/erc/erc-sasl.el
lisp/erc/erc-services.el
lisp/erc/erc.el
test/lisp/erc/erc-services-tests.el
test/lisp/erc/erc-tests.el