diff options
author | markus <> | 2002-09-10 16:31:57 +0000 |
---|---|---|
committer | markus <> | 2002-09-10 16:31:57 +0000 |
commit | 7d038e9d4d83e7c7120e78418e108df70b9025d6 (patch) | |
tree | baf775b286ff801a89f746b1938a3c700bba6822 /src/lib/libssl/ssl.h | |
parent | 3bd21dd4c3a3e3106321a5f6b3641ab9f18a6e3b (diff) | |
download | openbsd-7d038e9d4d83e7c7120e78418e108df70b9025d6.tar.gz openbsd-7d038e9d4d83e7c7120e78418e108df70b9025d6.tar.bz2 openbsd-7d038e9d4d83e7c7120e78418e108df70b9025d6.zip |
merge openssl-0.9.7-beta3, tested on vax by miod@
Diffstat (limited to 'src/lib/libssl/ssl.h')
-rw-r--r-- | src/lib/libssl/ssl.h | 44 |
1 files changed, 37 insertions, 7 deletions
diff --git a/src/lib/libssl/ssl.h b/src/lib/libssl/ssl.h index ce6354b2ff..d9949e8eb2 100644 --- a/src/lib/libssl/ssl.h +++ b/src/lib/libssl/ssl.h | |||
@@ -253,7 +253,7 @@ extern "C" { | |||
253 | #define SSL_TXT_RC4 "RC4" | 253 | #define SSL_TXT_RC4 "RC4" |
254 | #define SSL_TXT_RC2 "RC2" | 254 | #define SSL_TXT_RC2 "RC2" |
255 | #define SSL_TXT_IDEA "IDEA" | 255 | #define SSL_TXT_IDEA "IDEA" |
256 | #define SSL_TXT_AES "AESdraft" /* AES ciphersuites are not yet official (thus excluded from 'ALL') */ | 256 | #define SSL_TXT_AES "AES" |
257 | #define SSL_TXT_MD5 "MD5" | 257 | #define SSL_TXT_MD5 "MD5" |
258 | #define SSL_TXT_SHA1 "SHA1" | 258 | #define SSL_TXT_SHA1 "SHA1" |
259 | #define SSL_TXT_SHA "SHA" | 259 | #define SSL_TXT_SHA "SHA" |
@@ -266,6 +266,23 @@ extern "C" { | |||
266 | #define SSL_TXT_TLSV1 "TLSv1" | 266 | #define SSL_TXT_TLSV1 "TLSv1" |
267 | #define SSL_TXT_ALL "ALL" | 267 | #define SSL_TXT_ALL "ALL" |
268 | 268 | ||
269 | /* | ||
270 | * COMPLEMENTOF* definitions. These identifiers are used to (de-select) | ||
271 | * ciphers normally not being used. | ||
272 | * Example: "RC4" will activate all ciphers using RC4 including ciphers | ||
273 | * without authentication, which would normally disabled by DEFAULT (due | ||
274 | * the "!ADH" being part of default). Therefore "RC4:!COMPLEMENTOFDEFAULT" | ||
275 | * will make sure that it is also disabled in the specific selection. | ||
276 | * COMPLEMENTOF* identifiers are portable between version, as adjustments | ||
277 | * to the default cipher setup will also be included here. | ||
278 | * | ||
279 | * COMPLEMENTOFDEFAULT does not experience the same special treatment that | ||
280 | * DEFAULT gets, as only selection is being done and no sorting as needed | ||
281 | * for DEFAULT. | ||
282 | */ | ||
283 | #define SSL_TXT_CMPALL "COMPLEMENTOFALL" | ||
284 | #define SSL_TXT_CMPDEF "COMPLEMENTOFDEFAULT" | ||
285 | |||
269 | /* The following cipher list is used by default. | 286 | /* The following cipher list is used by default. |
270 | * It also is substituted when an application-defined cipher list string | 287 | * It also is substituted when an application-defined cipher list string |
271 | * starts with 'DEFAULT'. */ | 288 | * starts with 'DEFAULT'. */ |
@@ -429,6 +446,7 @@ typedef struct ssl_session_st | |||
429 | struct ssl_session_st *prev,*next; | 446 | struct ssl_session_st *prev,*next; |
430 | } SSL_SESSION; | 447 | } SSL_SESSION; |
431 | 448 | ||
449 | |||
432 | #define SSL_OP_MICROSOFT_SESS_ID_BUG 0x00000001L | 450 | #define SSL_OP_MICROSOFT_SESS_ID_BUG 0x00000001L |
433 | #define SSL_OP_NETSCAPE_CHALLENGE_BUG 0x00000002L | 451 | #define SSL_OP_NETSCAPE_CHALLENGE_BUG 0x00000002L |
434 | #define SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG 0x00000008L | 452 | #define SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG 0x00000008L |
@@ -439,6 +457,19 @@ typedef struct ssl_session_st | |||
439 | #define SSL_OP_TLS_D5_BUG 0x00000100L | 457 | #define SSL_OP_TLS_D5_BUG 0x00000100L |
440 | #define SSL_OP_TLS_BLOCK_PADDING_BUG 0x00000200L | 458 | #define SSL_OP_TLS_BLOCK_PADDING_BUG 0x00000200L |
441 | 459 | ||
460 | /* Disable SSL 3.0/TLS 1.0 CBC vulnerability workaround that was added | ||
461 | * in OpenSSL 0.9.6d. Usually (depending on the application protocol) | ||
462 | * the workaround is not needed. Unfortunately some broken SSL/TLS | ||
463 | * implementations cannot handle it at all, which is why we include | ||
464 | * it in SSL_OP_ALL. */ | ||
465 | #define SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS 0x00000800L /* added in 0.9.6e */ | ||
466 | |||
467 | /* SSL_OP_ALL: various bug workarounds that should be rather harmless. | ||
468 | * This used to be 0x000FFFFFL before 0.9.7. */ | ||
469 | #define SSL_OP_ALL 0x00000FFFL | ||
470 | |||
471 | /* As server, disallow session resumption on renegotiation */ | ||
472 | #define SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION 0x00010000L | ||
442 | /* If set, always create a new key when using tmp_dh parameters */ | 473 | /* If set, always create a new key when using tmp_dh parameters */ |
443 | #define SSL_OP_SINGLE_DH_USE 0x00100000L | 474 | #define SSL_OP_SINGLE_DH_USE 0x00100000L |
444 | /* Set to always use the tmp_rsa key when doing RSA operations, | 475 | /* Set to always use the tmp_rsa key when doing RSA operations, |
@@ -452,8 +483,10 @@ typedef struct ssl_session_st | |||
452 | * (version 3.1) was announced in the client hello. Normally this is | 483 | * (version 3.1) was announced in the client hello. Normally this is |
453 | * forbidden to prevent version rollback attacks. */ | 484 | * forbidden to prevent version rollback attacks. */ |
454 | #define SSL_OP_TLS_ROLLBACK_BUG 0x00800000L | 485 | #define SSL_OP_TLS_ROLLBACK_BUG 0x00800000L |
455 | /* As server, disallow session resumption on renegotiation */ | 486 | |
456 | #define SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION 0x01000000L | 487 | #define SSL_OP_NO_SSLv2 0x01000000L |
488 | #define SSL_OP_NO_SSLv3 0x02000000L | ||
489 | #define SSL_OP_NO_TLSv1 0x04000000L | ||
457 | 490 | ||
458 | /* The next flag deliberately changes the ciphertest, this is a check | 491 | /* The next flag deliberately changes the ciphertest, this is a check |
459 | * for the PKCS#1 attack */ | 492 | * for the PKCS#1 attack */ |
@@ -461,11 +494,7 @@ typedef struct ssl_session_st | |||
461 | #define SSL_OP_PKCS1_CHECK_2 0x10000000L | 494 | #define SSL_OP_PKCS1_CHECK_2 0x10000000L |
462 | #define SSL_OP_NETSCAPE_CA_DN_BUG 0x20000000L | 495 | #define SSL_OP_NETSCAPE_CA_DN_BUG 0x20000000L |
463 | #define SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG 0x40000000L | 496 | #define SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG 0x40000000L |
464 | #define SSL_OP_ALL 0x000FFFFFL | ||
465 | 497 | ||
466 | #define SSL_OP_NO_SSLv2 0x01000000L | ||
467 | #define SSL_OP_NO_SSLv3 0x02000000L | ||
468 | #define SSL_OP_NO_TLSv1 0x04000000L | ||
469 | 498 | ||
470 | /* Allow SSL_write(..., n) to return r with 0 < r < n (i.e. report success | 499 | /* Allow SSL_write(..., n) to return r with 0 < r < n (i.e. report success |
471 | * when just a single record has been written): */ | 500 | * when just a single record has been written): */ |
@@ -479,6 +508,7 @@ typedef struct ssl_session_st | |||
479 | * is blocking: */ | 508 | * is blocking: */ |
480 | #define SSL_MODE_AUTO_RETRY 0x00000004L | 509 | #define SSL_MODE_AUTO_RETRY 0x00000004L |
481 | 510 | ||
511 | |||
482 | /* Note: SSL[_CTX]_set_{options,mode} use |= op on the previous value, | 512 | /* Note: SSL[_CTX]_set_{options,mode} use |= op on the previous value, |
483 | * they cannot be used to clear bits. */ | 513 | * they cannot be used to clear bits. */ |
484 | 514 | ||