From: "J.P." <jp@neverwas.me>
To: Ulrich Mueller <ulm@gentoo.org>
Cc: 29108@debbugs.gnu.org
Subject: bug#29108: 25.3; ERC SASL support
Date: Wed, 28 Jul 2021 15:42:48 -0700 [thread overview]
Message-ID: <874kcedpqv.fsf@neverwas.me> (raw)
In-Reply-To: <u35ry74sp@gentoo.org> (Ulrich Mueller's message of "Wed, 28 Jul 2021 18:59:34 +0200")
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
next prev parent reply other threads:[~2021-07-28 22:42 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-01 20:07 bug#29108: 25.3; ERC SASL support Alex Branham
2017-11-10 2:24 ` Noam Postavsky
2019-10-23 9:24 ` Lars Ingebrigtsen
2019-10-23 10:34 ` Alex Branham
2019-10-23 11:19 ` Lars Ingebrigtsen
2019-10-23 12:19 ` Stefan Kangas
2019-10-23 12:57 ` Noam Postavsky
2019-10-23 13:32 ` Stefan Kangas
2019-11-02 14:10 ` Stefan Kangas
2020-08-03 9:39 ` Lars Ingebrigtsen
2021-07-28 16:59 ` Ulrich Mueller
2021-07-28 17:21 ` Eli Zaretskii
2021-07-28 22:42 ` J.P. [this message]
2021-08-09 9:59 ` J.P.
2021-08-09 10:22 ` Ulrich Mueller
2021-08-09 10:56 ` J.P.
2021-08-09 12:39 ` J.P.
2021-08-23 13:47 ` J.P.
[not found] ` <87o89oi87g.fsf@neverwas.me>
2021-08-23 14:01 ` Lars Ingebrigtsen
[not found] ` <87zgt8s1jt.fsf@gnus.org>
2021-08-24 13:42 ` J.P.
2022-09-18 18:32 ` bug#29108: [J.P.] Add "non-IRCv3" SASL to ERC J.P.
2022-09-20 6:07 ` bug#29108: 25.3; ERC SASL support J.P.
[not found] ` <875yhifujk.fsf_-_@neverwas.me>
2022-09-21 13:13 ` J.P.
2022-10-14 3:05 ` J.P.
[not found] ` <878rljxfxs.fsf@neverwas.me>
2022-10-26 13:14 ` J.P.
[not found] ` <87k04m4th8.fsf@neverwas.me>
2022-11-08 14:10 ` J.P.
[not found] ` <87o7thlepf.fsf@neverwas.me>
2022-11-09 4:08 ` Akib Azmain Turja via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-11-09 13:49 ` J.P.
[not found] ` <874jv81bn2.fsf@neverwas.me>
2022-11-09 17:50 ` Akib Azmain Turja via Bug reports for GNU Emacs, the Swiss army knife of text editors
[not found] ` <87iljoqaor.fsf@disroot.org>
2022-11-10 5:28 ` J.P.
[not found] ` <87sfirml89.fsf@neverwas.me>
2022-11-10 18:04 ` Adam Porter
2022-11-10 21:50 ` J.P.
2022-11-11 5:51 ` Akib Azmain Turja via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-11-14 22:28 ` Adam Porter
[not found] ` <87sfiq7a3j.fsf@neverwas.me>
2022-11-11 1:25 ` Adam Porter
2022-11-11 5:56 ` Akib Azmain Turja via Bug reports for GNU Emacs, the Swiss army knife of text editors
[not found] ` <878rkighkn.fsf@disroot.org>
2022-11-14 22:29 ` Adam Porter
2022-11-13 15:36 ` J.P.
[not found] ` <87o7taoohd.fsf@neverwas.me>
2022-11-14 6:45 ` J.P.
2022-11-14 15:20 ` J.P.
[not found] ` <87y1sdk1fg.fsf@neverwas.me>
2022-11-16 14:51 ` J.P.
[not found] ` <875yfflzps.fsf@neverwas.me>
2022-11-17 6:30 ` J.P.
[not found] ` <877czuks8k.fsf@neverwas.me>
2022-11-17 15:28 ` J.P.
2022-11-18 2:26 ` J.P.
[not found] ` <878rk9576b.fsf@neverwas.me>
2022-11-18 14:06 ` J.P.
[not found] ` <87leo8z79j.fsf@neverwas.me>
2022-11-19 14:48 ` J.P.
[not found] ` <87tu2vroeh.fsf@neverwas.me>
2022-11-20 14:29 ` J.P.
[not found] ` <87wn7pog1l.fsf@neverwas.me>
2022-11-21 15:09 ` J.P.
[not found] ` <87y1s4mjj6.fsf@neverwas.me>
2022-11-22 14:01 ` J.P.
[not found] ` <87r0xvks03.fsf@neverwas.me>
2022-11-24 2:49 ` Amin Bandali
[not found] ` <87r0xtnk24.fsf@gnu.org>
2022-11-25 14:43 ` J.P.
[not found] ` <87wn7jgkne.fsf@neverwas.me>
2022-11-28 0:08 ` J.P.
2022-11-29 5:19 ` Amin Bandali
[not found] ` <87iliyz6at.fsf@gnu.org>
2022-11-29 15:05 ` J.P.
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=874kcedpqv.fsf@neverwas.me \
--to=jp@neverwas.me \
--cc=29108@debbugs.gnu.org \
--cc=ulm@gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).