summary refs log tree commit diff
path: root/client.c
diff options
context:
space:
mode:
Diffstat (limited to 'client.c')
-rw-r--r--client.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/client.c b/client.c
index 66d07d0..25707a8 100644
--- a/client.c
+++ b/client.c
@@ -31,6 +31,7 @@
 #include "bounce.h"
 
 bool clientCA;
+bool clientSTS = true;
 char *clientPass;
 char *clientAway;
 
@@ -168,8 +169,13 @@ static void handleCap(struct Client *client, struct Message *msg) {
 	if (!msg->params[0]) msg->params[0] = "";
 
 	enum Cap avail = (stateCaps & ~CapSASL)
-		| CapServerTime | CapConsumer | CapPassive | (clientCA ? CapSASL : 0);
-	const char *values[CapBits] = { [CapSASLBit] = "EXTERNAL" };
+		| CapServerTime | CapConsumer | CapPassive
+		| (clientCA ? CapSASL : 0)
+		| (clientSTS ? CapSTS : 0);
+	const char *values[CapBits] = {
+		[CapSASLBit] = "EXTERNAL",
+		[CapSTSBit] = "duration=2147483647",
+	};
 
 	if (!strcmp(msg->params[0], "END")) {
 		if (!client->need) return;