aboutsummaryrefslogtreecommitdiff
path: root/server-client.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2020-09-22 08:01:18 +0100
committerThomas Adam <thomas@xteddy.org>2020-09-22 08:01:18 +0100
commita34ceb1074488b2adb6edce4c1342025e1ac1c1d (patch)
tree544acbafc7f764d49c864950142a458aed0e6a2a /server-client.c
parentca5afb34bfdcaddbaed12e7375b48c05019e4c18 (diff)
parent86d6ac2f0695b02bdbef542cce3cdb0cca39160e (diff)
downloadrtmux-a34ceb1074488b2adb6edce4c1342025e1ac1c1d.tar.gz
rtmux-a34ceb1074488b2adb6edce4c1342025e1ac1c1d.tar.bz2
rtmux-a34ceb1074488b2adb6edce4c1342025e1ac1c1d.zip
Merge branch 'obsd-master'
Diffstat (limited to 'server-client.c')
-rw-r--r--server-client.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/server-client.c b/server-client.c
index 0801cc8b..62281c83 100644
--- a/server-client.c
+++ b/server-client.c
@@ -1983,6 +1983,7 @@ server_client_dispatch(struct imsg *imsg, void *arg)
switch (imsg->hdr.type) {
case MSG_IDENTIFY_FEATURES:
case MSG_IDENTIFY_FLAGS:
+ case MSG_IDENTIFY_LONGFLAGS:
case MSG_IDENTIFY_TERM:
case MSG_IDENTIFY_TTYNAME:
case MSG_IDENTIFY_CWD:
@@ -2141,6 +2142,7 @@ server_client_dispatch_identify(struct client *c, struct imsg *imsg)
const char *data, *home;
size_t datalen;
int flags, feat;
+ uint64_t longflags;
char *name;
if (c->flags & CLIENT_IDENTIFIED)
@@ -2165,6 +2167,14 @@ server_client_dispatch_identify(struct client *c, struct imsg *imsg)
c->flags |= flags;
log_debug("client %p IDENTIFY_FLAGS %#x", c, flags);
break;
+ case MSG_IDENTIFY_LONGFLAGS:
+ if (datalen != sizeof longflags)
+ fatalx("bad MSG_IDENTIFY_LONGFLAGS size");
+ memcpy(&longflags, data, sizeof longflags);
+ c->flags |= longflags;
+ log_debug("client %p IDENTIFY_LONGFLAGS %#llx", c,
+ (unsigned long long)longflags);
+ break;
case MSG_IDENTIFY_TERM:
if (datalen == 0 || data[datalen - 1] != '\0')
fatalx("bad MSG_IDENTIFY_TERM string");