diff options
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libssl/ssl.h | 46 |
1 files changed, 39 insertions, 7 deletions
diff --git a/src/lib/libssl/ssl.h b/src/lib/libssl/ssl.h index 833f761690..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 | ||
| @@ -1637,6 +1667,7 @@ void ERR_load_SSL_strings(void); | |||
| 1637 | #define SSL_R_INVALID_COMMAND 280 | 1667 | #define SSL_R_INVALID_COMMAND 280 |
| 1638 | #define SSL_R_INVALID_PURPOSE 278 | 1668 | #define SSL_R_INVALID_PURPOSE 278 |
| 1639 | #define SSL_R_INVALID_TRUST 279 | 1669 | #define SSL_R_INVALID_TRUST 279 |
| 1670 | #define SSL_R_KEY_ARG_TOO_LONG 1112 | ||
| 1640 | #define SSL_R_KRB5 1104 | 1671 | #define SSL_R_KRB5 1104 |
| 1641 | #define SSL_R_KRB5_C_CC_PRINC 1094 | 1672 | #define SSL_R_KRB5_C_CC_PRINC 1094 |
| 1642 | #define SSL_R_KRB5_C_GET_CRED 1095 | 1673 | #define SSL_R_KRB5_C_GET_CRED 1095 |
| @@ -1716,6 +1747,7 @@ void ERR_load_SSL_strings(void); | |||
| 1716 | #define SSL_R_SHORT_READ 219 | 1747 | #define SSL_R_SHORT_READ 219 |
| 1717 | #define SSL_R_SIGNATURE_FOR_NON_SIGNING_CERTIFICATE 220 | 1748 | #define SSL_R_SIGNATURE_FOR_NON_SIGNING_CERTIFICATE 220 |
| 1718 | #define SSL_R_SSL23_DOING_SESSION_ID_REUSE 221 | 1749 | #define SSL_R_SSL23_DOING_SESSION_ID_REUSE 221 |
| 1750 | #define SSL_R_SSL3_SESSION_ID_TOO_LONG 1113 | ||
| 1719 | #define SSL_R_SSL3_SESSION_ID_TOO_SHORT 222 | 1751 | #define SSL_R_SSL3_SESSION_ID_TOO_SHORT 222 |
| 1720 | #define SSL_R_SSLV3_ALERT_BAD_CERTIFICATE 1042 | 1752 | #define SSL_R_SSLV3_ALERT_BAD_CERTIFICATE 1042 |
| 1721 | #define SSL_R_SSLV3_ALERT_BAD_RECORD_MAC 1020 | 1753 | #define SSL_R_SSLV3_ALERT_BAD_RECORD_MAC 1020 |
