diff options
author | Luke Bratch <luke@bratch.co.uk> | 2019-07-09 22:36:35 +0100 |
---|---|---|
committer | Luke Bratch <luke@bratch.co.uk> | 2019-07-09 22:36:35 +0100 |
commit | 05d3d94613168187cbf7d54ac6de345bb75910dd (patch) | |
tree | 7293a4c9effa6a51683d091e3ff3debe1880f9db /structures.h | |
parent | c70cd5cccc966a35f175913f2281ce251fd62425 (diff) |
Avoid SSL_accept() blocking if the client fails to do TLS negotiation.
Diffstat (limited to 'structures.h')
-rw-r--r-- | structures.h | 1 |
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 |