about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2023-07-16 18:46:36 -0400
committerJune McEnroe <june@causal.agency>2023-07-16 18:54:28 -0400
commitd7f5b99dc74a3ec292b95f5d22b4829a332035df (patch)
tree0592fc5f0df07446964627c60f51f25b33b17039
parentAdd support for extended-monitor (diff)
downloadpounce-d7f5b99dc74a3ec292b95f5d22b4829a332035df.tar.gz
pounce-d7f5b99dc74a3ec292b95f5d22b4829a332035df.zip
Factor out caps pounce doesn't request from the server
-rw-r--r--state.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/state.c b/state.c
index df000b5..924bb8f 100644
--- a/state.c
+++ b/state.c
@@ -86,6 +86,14 @@ void stateLogin(
 	serverFormat("USER %s 0 * :%s\r\n", user, real);
 }
 
+static const enum Cap DontReq = 0
+	| CapConsumer
+	| CapPalaverApp
+	| CapPassive
+	| CapSASL
+	| CapSTS
+	| CapUnsupported;
+
 static void handleCap(struct Message *msg) {
 	require(msg, false, 3);
 	enum Cap caps;
@@ -96,7 +104,7 @@ static void handleCap(struct Message *msg) {
 	}
 
 	if (!strcmp(msg->params[1], "LS") || !strcmp(msg->params[1], "NEW")) {
-		caps &= ~(CapSASL | CapSTS | CapUnsupported);
+		caps &= ~DontReq;
 		if (caps & CapEchoMessage && !(caps & CapLabeledResponse)) {
 			caps &= ~CapEchoMessage;
 		}