unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
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





  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).