bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#29108: 25.3; ERC SASL support


From: J.P.
Subject: bug#29108: 25.3; ERC SASL support
Date: Wed, 28 Jul 2021 15:42:48 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Ulrich Mueller <ulm@gentoo.org> writes:

> ERC is a little behind the times by not supporting SASL, so please
> pretty please can we have this?

Hi Ulrich,

I have a patch for this that I'll be introducing in the next few days as
part of a larger change set bringing much needed life support to ERC
generally. It lays the foundation for moving us to IRCv3.

If you would like a preview, you can check this out [1].

> Not sure if it helps, but archive.org has a partial copy of the original
> git repository:
> https://web.archive.org/web/20180611034438if_/https://github.com/jane-lx/erc-sasl

I'm well acquainted with this patch. IMO, it's a hack, but nothing wrong
with that [2].

If you'd like to take what I have for a spin, please follow the steps
posted here [3], except change the bug number in all URLs from 48598 to
99999. The stuff there is a bit stale (many improvements since), but
I'll be updating it all shortly.

More to follow in the next 72 or so. Please stay tuned.

Thanks,
J.P.


[1] https://gitlab.com/jpneverwas/erc-v3/-/blob/master/erc-v3-sasl.el

[2] Some info posted to #erc about this a few months back:

    *** #erc was created on 2021-05-19 07:01:11
    <neverwas> Okay people, so I redid my rather horrendous joke of an
               SASL extension using the upstream sasl.el library and was
               able to implement all of the recommended mechanisms
               currently in use or soon to be. Turns out alphachat is
               running the latest atheme, so I signed up and
               successfully validated against its service (and captured
               logs) for both SCRAM-SHA-256 and
               ECDSA-NIST256P-CHALLENGE.
                      a                                        [14:07]
    <neverwas> The main ugly point right now is I'm currently shelling
               out to openssl for the latter (ecdsa). I see two possible
               ways around this. The first is adding
               gnutls_privkey_sign_hash() and anything it requires to
               src/gnutls.c. The other is shelling out to a comparable
               gnutls-based command-line tool. After a cursory search, I
               was unable to find one that does the job. Anyone here
               familiar with that suite?
    <neverwas> So once we add the basic v3 building blocks for CAP and
               its subcommands to ERC proper (and a couple tiny sasl.el
               patches I'll open soon), adding full featured SASL
               support should go pretty smoothly. Unlike how rcirc and
               Circe (and the older non-GNU ERC patches) do things, this
               approach properly delegates to a black-box service for
               the subprotocol, which is the way rfc4422 designed it.
                                                               [14:08]
    <neverwas> This makes it super easy to add other mechanisms in the
               future. All the gory details are hidden away behind the
               sasl.el-provided state machine, so you just feed it
               whatever arrives from the server, and it coughs out the
               next thing to send. Take a look if you want:
               https://gitlab.com/jpneverwas/erc-v3/-/blob/master/erc-v3-sasl.el
               (replace "blob" with "raw" for no JS)

[3] https://lists.gnu.org/archive/html/emacs-erc/2021-06/msg00019.html





reply via email to

[Prev in Thread] Current Thread [Next in Thread]