about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2022-01-16 14:17:46 -0500
committerJune McEnroe <june@causal.agency>2022-01-16 14:17:46 -0500
commit605f889ab57c3465523104812fbf3edeb1e513d9 (patch)
treebc725593f352dee73e9337ddc6fe520331d25acc
parentUse Cold for away notices in queries (diff)
downloadcatgirl-605f889ab57c3465523104812fbf3edeb1e513d9.tar.gz
catgirl-605f889ab57c3465523104812fbf3edeb1e513d9.zip
Avoid sending null byte in SASL PLAIN 2.0a
Woops! BASE64_SIZE is the size of the string buffer. Somehow ergo
is the only server software (that I know of) to reject the accidental
null byte.

Reported by smlavine.
-rw-r--r--handle.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/handle.c b/handle.c
index 5d61081..e460c7c 100644
--- a/handle.c
+++ b/handle.c
@@ -219,7 +219,7 @@ static void handleAuthenticate(struct Message *msg) {
 	char b64[BASE64_SIZE(sizeof(buf))];
 	base64(b64, buf, len);
 	ircFormat("AUTHENTICATE ");
-	ircSend(b64, BASE64_SIZE(len));
+	ircSend(b64, BASE64_SIZE(len) - 1);
 	ircFormat("\r\n");
 
 	explicit_bzero(b64, sizeof(b64));