Subject: Re: bug#64977: 29.1; `auth-source-macos-keychain-search' handles :user key incorrectly

From: "J.P." <[email-masked]>
Date: Wed, 02 Aug 2023 06:22:51 -0700

Hi LdBeth,

LdBeth <[email-masked]> writes:

> Right after switched from 28.2, my config that uses `auth-source.el'
> to retrieve IRC password from macOS keychain stopped working.

A few comments to the extent this concerns ERC. (Feel free to ignore.)

In case you haven't noticed, ERC got pickier in 5.5 regarding the
auth-source back ends it supports. Quoting from "(erc) auth-source":

  See "(auth)Top" for general info on setting up various backends, but
  keep in mind that some of these may not be compatible. Those currently
  supported are netrc, plstore, json, secrets, and pass.

The recommended move for folks in your situation is to specify your own
query function. See "(erc) auth-source functions".

As for changing `auth-source-macos-keychain-search-items', that's above
my pay grade, but offering up a patch may be your best bet. And if by
chance you're keen on seeing ERC adopt macos-keychain as an official
back end, additional requirements likely apply. I say that because the
back ends comprising our current selection all provide a common set of
capabilities, namely, those needed to adapt IRC semantics to a
generalized secrets store. The auth-source side is somewhat spelled out
in the doc string for `auth-source-search', but ERC derives its idea of
the interface mostly from the behavior of the reference back end, netrc.
If interested, see test/lisp/erc/erc-services-tests.el and the latter
half of test/lisp/auth-source-pass-tests.el for all the particulars.

Thanks,
J.P.

P.S. If replying to this, please Cc. [email-masked].