summaryrefslogtreecommitdiff
path: root/structures.h
diff options
context:
space:
mode:
authorLuke Bratch <luke@bratch.co.uk>2019-07-09 22:36:35 +0100
committerLuke Bratch <luke@bratch.co.uk>2019-07-09 22:36:35 +0100
commit05d3d94613168187cbf7d54ac6de345bb75910dd (patch)
tree7293a4c9effa6a51683d091e3ff3debe1880f9db /structures.h
parentc70cd5cccc966a35f175913f2281ce251fd62425 (diff)
Avoid SSL_accept() blocking if the client fails to do TLS negotiation.
Diffstat (limited to 'structures.h')
-rw-r--r--structures.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/structures.h b/structures.h
index b96b781..d9b1f7f 100644
--- a/structures.h
+++ b/structures.h
@@ -88,6 +88,7 @@ struct client {
int fd; // Client socket fd - 0 means not connected, greater than 0 means connected and the value is the fd number (so we know which ones to try to read and send to)
int authed; // Client authentication status - 0 means not authenticated, 1 means authenticated.
SSL *ssl; // OpenSSL structures when using TLS, or faked by casting fd ints to SSL* if not. - TODO - Can we drop one of either "int fd" or "SSL *ssl" now?
+ int pendingsslaccept; // Whether the client is still pending SSL_accept() completing (when in client TLS mode only)
int registered; // Whether the client has finished registering with the bouncer
int pendingchannelmode; // Whether the client is waiting to hear back from a "MODE #channel" command
int pendingban; // Whether the client is waiting to hear back from a "MODE #channel b" command