diff options
author | Kenny Root <kenny@the-b.org> | 2016-07-03 22:02:02 -0700 |
---|---|---|
committer | Kenny Root <kenny@the-b.org> | 2016-08-29 22:56:30 -0700 |
commit | 60d9ec621ff81ac68b9d2066fb77eaefc8d02ccb (patch) | |
tree | d0107dc604cdc7d0ec0af610928ef5073ead9df7 /src/irc/core/irc-servers.h | |
parent | c8630acbafd6341cbf908ab7d011d87a8fd68b56 (diff) | |
download | irssi-60d9ec621ff81ac68b9d2066fb77eaefc8d02ccb.zip |
SASL: handle fragmentation
The IRCv3 SASL extension says that AUTHENTICATION payloads of exactly
400 bytes in length indicate that the message is fragmented and will
continue in a subsequent message. Handle the reassembly and splitting of
these messages so that we are compliant with the specification.
Diffstat (limited to 'src/irc/core/irc-servers.h')
-rw-r--r-- | src/irc/core/irc-servers.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/irc/core/irc-servers.h b/src/irc/core/irc-servers.h index 41c4b9c2..ecf65ac2 100644 --- a/src/irc/core/irc-servers.h +++ b/src/irc/core/irc-servers.h @@ -78,7 +78,8 @@ struct _IRC_SERVER_REC { GSList *cap_queue; /* A list of caps to request on connection */ int cap_complete:1; /* We've done the initial CAP negotiation */ - guint sasl_timeout; /* Holds the source id of the running timeout */ + GString *sasl_buffer; /* Buffer used to reassemble a fragmented SASL payload */ + guint sasl_timeout; /* Holds the source id of the running timeout */ /* Command sending queue */ int cmdcount; /* number of commands in `cmdqueue'. Can be more than |