0006-Send-CAP-END-on-RPL_SASLSUCCESS.patch (1370B)
- From e8bda36978b91df532394a10e66589272f549959 Mon Sep 17 00:00:00 2001
- From: Michael Forney <mforney@mforney.org>
- Date: Thu, 19 Mar 2026 02:48:24 -0700
- Subject: [PATCH] Send CAP END on RPL_SASLSUCCESS
- soju does not send 900 RPL_LOGGEDIN after SASL authentication[0]
- in order to show the one from the upstream network.
- We already sent CAP END *unless* doing SASL, so it makes sense to
- look for 903 RPL_SASLSUCCESS to send CAP END when we *are* doing
- SASL.
- [0] https://github.com/ircv3/ircv3-specifications/pull/476
- ---
- handle.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
- diff --git a/handle.c b/handle.c
- index b973161..1c13343 100644
- --- a/handle.c
- +++ b/handle.c
- @@ -252,7 +252,7 @@ static void handleAuthenticate(struct Message *msg) {
- explicit_bzero(self.plainPass, strlen(self.plainPass));
- }
- -static void handleReplyLoggedIn(struct Message *msg) {
- +static void handleReplySASLSuccess(struct Message *msg) {
- (void)msg;
- ircFormat("CAP END\r\n");
- handleReplyGeneric(msg);
- @@ -1403,7 +1403,7 @@ static const struct Handler {
- { "704", +ReplyHelp, handleReplyHelp },
- { "705", +ReplyHelp, handleReplyHelp },
- { "706", -ReplyHelp, NULL },
- - { "900", 0, handleReplyLoggedIn },
- + { "903", 0, handleReplySASLSuccess },
- { "904", 0, handleErrorSASLFail },
- { "905", 0, handleErrorSASLFail },
- { "906", 0, handleErrorSASLFail },
- --
- 2.49.0