X-Git-Url: https://git.openssl.org/gitweb/?a=blobdiff_plain;f=ssl%2Fssl3.h;h=badf89d3d9b3aaf481ff6301c955c6a220bb2d8a;hb=aaa3850ccd22feccd009a1a228424618cf10b943;hp=05a59e6ce0cd120d4e272da405bc929d14bc68f8;hpb=a17b5d5a4f50f50f46d27fc52158455d12833196;p=openssl.git diff --git a/ssl/ssl3.h b/ssl/ssl3.h index 05a59e6ce0..badf89d3d9 100644 --- a/ssl/ssl3.h +++ b/ssl/ssl3.h @@ -388,6 +388,17 @@ typedef struct ssl3_buffer_st #define TLS1_FLAGS_TLS_PADDING_BUG 0x0008 #define TLS1_FLAGS_SKIP_CERT_VERIFY 0x0010 #define TLS1_FLAGS_KEEP_HANDSHAKE 0x0020 + +/* SSL3_FLAGS_SGC_RESTART_DONE is set when we + * restart a handshake because of MS SGC and so prevents us + * from restarting the handshake in a loop. It's reset on a + * renegotiation, so effectively limits the client to one restart + * per negotiation. This limits the possibility of a DDoS + * attack where the client handshakes in a loop using SGC to + * restart. Servers which permit renegotiation can still be + * effected, but we can't prevent that. + */ +#define SSL3_FLAGS_SGC_RESTART_DONE 0x0040 #ifndef OPENSSL_NO_SSL_INTERN