| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 27fb651 commit 309e297
35 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -178,6 +178,9 @@ | |||
| 178 | 178 | ||
| 179 | 179 | Changes between 1.1.1c and 1.1.1d [10 Sep 2019] | |
| 180 | 180 | ||
| 181 | + *) Implement BoringSSL's QUIC API | ||
| 182 | + [Todd Short] | ||
| 183 | + | ||
| 181 | 184 | *) Fixed a fork protection issue. OpenSSL 1.1.1 introduced a rewritten random | |
| 182 | 185 | number generator (RNG). This was intended to include protection in the | |
| 183 | 186 | event of a fork() system call in order to ensure that the parent and child | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -401,6 +401,7 @@ my @disablables = ( | |||
| 401 | 401 | "poly1305", | |
| 402 | 402 | "posix-io", | |
| 403 | 403 | "psk", | |
| 404 | + "quic", | ||
| 404 | 405 | "rc2", | |
| 405 | 406 | "rc4", | |
| 406 | 407 | "rc5", | |
@@ -517,6 +518,8 @@ my @disable_cascades = ( | |||
| 517 | 518 | sub { !$disabled{"unit-test"} } => [ "heartbeats" ], | |
| 518 | 519 | ||
| 519 | 520 | sub { !$disabled{"msan"} } => [ "asm" ], | |
| 521 | + | ||
| 522 | + "tls1_3" => [ "quic" ], | ||
| 520 | 523 | ); | |
| 521 | 524 | ||
| 522 | 525 | # Avoid protocol support holes. Also disable all versions below N, if version | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -456,6 +456,9 @@ | |||
| 456 | 456 | no-psk | |
| 457 | 457 | Don't build support for Pre-Shared Key based ciphersuites. | |
| 458 | 458 | ||
| 459 | + no-quic | ||
| 460 | + Don't build with support for QUIC. | ||
| 461 | + | ||
| 459 | 462 | no-rdrand | |
| 460 | 463 | Don't use hardware RDRAND capabilities. | |
| 461 | 464 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1183,7 +1183,7 @@ SSL_F_OSSL_STATEM_SERVER_CONSTRUCT_MESSAGE:431:* | |||
| 1183 | 1183 | SSL_F_OSSL_STATEM_SERVER_POST_PROCESS_MESSAGE:601:\ | |
| 1184 | 1184 | ossl_statem_server_post_process_message | |
| 1185 | 1185 | SSL_F_OSSL_STATEM_SERVER_POST_WORK:602:ossl_statem_server_post_work | |
| 1186 | - SSL_F_OSSL_STATEM_SERVER_PRE_WORK:640: | ||
| 1186 | + SSL_F_OSSL_STATEM_SERVER_PRE_WORK:640:ossl_statem_server_pre_work | ||
| 1187 | 1187 | SSL_F_OSSL_STATEM_SERVER_PROCESS_MESSAGE:603:ossl_statem_server_process_message | |
| 1188 | 1188 | SSL_F_OSSL_STATEM_SERVER_READ_TRANSITION:418:ossl_statem_server_read_transition | |
| 1189 | 1189 | SSL_F_OSSL_STATEM_SERVER_WRITE_TRANSITION:604:\ | |
@@ -1192,6 +1192,9 @@ SSL_F_PARSE_CA_NAMES:541:parse_ca_names | |||
| 1192 | 1192 | SSL_F_PITEM_NEW:624:pitem_new | |
| 1193 | 1193 | SSL_F_PQUEUE_NEW:625:pqueue_new | |
| 1194 | 1194 | SSL_F_PROCESS_KEY_SHARE_EXT:439:* | |
| 1195 | + SSL_F_QUIC_CHANGE_CIPHER_STATE:639:quic_change_cipher_state | ||
| 1196 | + SSL_F_QUIC_GET_MESSAGE:641:quic_get_message | ||
| 1197 | + SSL_F_QUIC_SET_ENCRYPTION_SECRETS:642:quic_set_encryption_secrets | ||
| 1195 | 1198 | SSL_F_READ_STATE_MACHINE:352:read_state_machine | |
| 1196 | 1199 | SSL_F_SET_CLIENT_CIPHERSUITE:540:set_client_ciphersuite | |
| 1197 | 1200 | SSL_F_SRP_GENERATE_CLIENT_MASTER_SECRET:595:srp_generate_client_master_secret | |
@@ -1202,7 +1205,9 @@ SSL_F_SSL3_CHECK_CERT_AND_ALGORITHM:130:ssl3_check_cert_and_algorithm | |||
| 1202 | 1205 | SSL_F_SSL3_CTRL:213:ssl3_ctrl | |
| 1203 | 1206 | SSL_F_SSL3_CTX_CTRL:133:ssl3_ctx_ctrl | |
| 1204 | 1207 | SSL_F_SSL3_DIGEST_CACHED_RECORDS:293:ssl3_digest_cached_records | |
| 1208 | + SSL_F_SSL3_DISPATCH_ALERT:643:ssl3_dispatch_alert | ||
| 1205 | 1209 | SSL_F_SSL3_DO_CHANGE_CIPHER_SPEC:292:ssl3_do_change_cipher_spec | |
| 1210 | + SSL_F_SSL3_DO_WRITE:644:ssl3_do_write | ||
| 1206 | 1211 | SSL_F_SSL3_ENC:608:ssl3_enc | |
| 1207 | 1212 | SSL_F_SSL3_FINAL_FINISH_MAC:285:ssl3_final_finish_mac | |
| 1208 | 1213 | SSL_F_SSL3_FINISH_MAC:587:ssl3_finish_mac | |
@@ -1310,6 +1315,8 @@ SSL_F_SSL_PARSE_SERVERHELLO_USE_SRTP_EXT:311:* | |||
| 1310 | 1315 | SSL_F_SSL_PEEK:270:SSL_peek | |
| 1311 | 1316 | SSL_F_SSL_PEEK_EX:432:SSL_peek_ex | |
| 1312 | 1317 | SSL_F_SSL_PEEK_INTERNAL:522:ssl_peek_internal | |
| 1318 | + SSL_F_SSL_PROCESS_QUIC_POST_HANDSHAKE:645:SSL_process_quic_post_handshake | ||
| 1319 | + SSL_F_SSL_PROVIDE_QUIC_DATA:646:SSL_provide_quic_data | ||
| 1313 | 1320 | SSL_F_SSL_READ:223:SSL_read | |
| 1314 | 1321 | SSL_F_SSL_READ_EARLY_DATA:529:SSL_read_early_data | |
| 1315 | 1322 | SSL_F_SSL_READ_EX:434:SSL_read_ex | |
@@ -1359,6 +1366,7 @@ SSL_F_SSL_WRITE_EARLY_DATA:526:SSL_write_early_data | |||
| 1359 | 1366 | SSL_F_SSL_WRITE_EARLY_FINISH:527:* | |
| 1360 | 1367 | SSL_F_SSL_WRITE_EX:433:SSL_write_ex | |
| 1361 | 1368 | SSL_F_SSL_WRITE_INTERNAL:524:ssl_write_internal | |
| 1369 | + SSL_F_STATEM_FLUSH:647:statem_flush | ||
| 1362 | 1370 | SSL_F_STATE_MACHINE:353:state_machine | |
| 1363 | 1371 | SSL_F_TLS12_CHECK_PEER_SIGALG:333:tls12_check_peer_sigalg | |
| 1364 | 1372 | SSL_F_TLS12_COPY_SIGALGS:533:tls12_copy_sigalgs | |
@@ -1422,6 +1430,8 @@ SSL_F_TLS_CONSTRUCT_CTOS_POST_HANDSHAKE_AUTH:619:\ | |||
| 1422 | 1430 | tls_construct_ctos_post_handshake_auth | |
| 1423 | 1431 | SSL_F_TLS_CONSTRUCT_CTOS_PSK:501:tls_construct_ctos_psk | |
| 1424 | 1432 | SSL_F_TLS_CONSTRUCT_CTOS_PSK_KEX_MODES:509:tls_construct_ctos_psk_kex_modes | |
| 1433 | + SSL_F_TLS_CONSTRUCT_CTOS_QUIC_TRANSPORT_PARAMS:648:\ | ||
| 1434 | + tls_construct_ctos_quic_transport_params | ||
| 1425 | 1435 | SSL_F_TLS_CONSTRUCT_CTOS_RENEGOTIATE:473:tls_construct_ctos_renegotiate | |
| 1426 | 1436 | SSL_F_TLS_CONSTRUCT_CTOS_SCT:474:tls_construct_ctos_sct | |
| 1427 | 1437 | SSL_F_TLS_CONSTRUCT_CTOS_SERVER_NAME:475:tls_construct_ctos_server_name | |
@@ -1463,6 +1473,8 @@ SSL_F_TLS_CONSTRUCT_STOC_KEY_SHARE:456:tls_construct_stoc_key_share | |||
| 1463 | 1473 | SSL_F_TLS_CONSTRUCT_STOC_MAXFRAGMENTLEN:548:tls_construct_stoc_maxfragmentlen | |
| 1464 | 1474 | SSL_F_TLS_CONSTRUCT_STOC_NEXT_PROTO_NEG:457:tls_construct_stoc_next_proto_neg | |
| 1465 | 1475 | SSL_F_TLS_CONSTRUCT_STOC_PSK:504:tls_construct_stoc_psk | |
| 1476 | + SSL_F_TLS_CONSTRUCT_STOC_QUIC_TRANSPORT_PARAMS:649:\ | ||
| 1477 | + tls_construct_stoc_quic_transport_params | ||
| 1466 | 1478 | SSL_F_TLS_CONSTRUCT_STOC_RENEGOTIATE:458:tls_construct_stoc_renegotiate | |
| 1467 | 1479 | SSL_F_TLS_CONSTRUCT_STOC_SERVER_NAME:459:tls_construct_stoc_server_name | |
| 1468 | 1480 | SSL_F_TLS_CONSTRUCT_STOC_SESSION_TICKET:460:tls_construct_stoc_session_ticket | |
@@ -1491,6 +1503,8 @@ SSL_F_TLS_PARSE_CTOS_MAXFRAGMENTLEN:571:tls_parse_ctos_maxfragmentlen | |||
| 1491 | 1503 | SSL_F_TLS_PARSE_CTOS_POST_HANDSHAKE_AUTH:620:tls_parse_ctos_post_handshake_auth | |
| 1492 | 1504 | SSL_F_TLS_PARSE_CTOS_PSK:505:tls_parse_ctos_psk | |
| 1493 | 1505 | SSL_F_TLS_PARSE_CTOS_PSK_KEX_MODES:572:tls_parse_ctos_psk_kex_modes | |
| 1506 | + SSL_F_TLS_PARSE_CTOS_QUIC_TRANSPORT_PARAMS:650:\ | ||
| 1507 | + tls_parse_ctos_quic_transport_params | ||
| 1494 | 1508 | SSL_F_TLS_PARSE_CTOS_RENEGOTIATE:464:tls_parse_ctos_renegotiate | |
| 1495 | 1509 | SSL_F_TLS_PARSE_CTOS_SERVER_NAME:573:tls_parse_ctos_server_name | |
| 1496 | 1510 | SSL_F_TLS_PARSE_CTOS_SESSION_TICKET:574:tls_parse_ctos_session_ticket | |
@@ -1509,6 +1523,8 @@ SSL_F_TLS_PARSE_STOC_KEY_SHARE:445:tls_parse_stoc_key_share | |||
| 1509 | 1523 | SSL_F_TLS_PARSE_STOC_MAXFRAGMENTLEN:581:tls_parse_stoc_maxfragmentlen | |
| 1510 | 1524 | SSL_F_TLS_PARSE_STOC_NPN:582:tls_parse_stoc_npn | |
| 1511 | 1525 | SSL_F_TLS_PARSE_STOC_PSK:502:tls_parse_stoc_psk | |
| 1526 | + SSL_F_TLS_PARSE_STOC_QUIC_TRANSPORT_PARAMS:651:\ | ||
| 1527 | + tls_parse_stoc_quic_transport_params | ||
| 1512 | 1528 | SSL_F_TLS_PARSE_STOC_RENEGOTIATE:448:tls_parse_stoc_renegotiate | |
| 1513 | 1529 | SSL_F_TLS_PARSE_STOC_SCT:564:tls_parse_stoc_sct | |
| 1514 | 1530 | SSL_F_TLS_PARSE_STOC_SERVER_NAME:583:tls_parse_stoc_server_name | |
@@ -2713,6 +2729,7 @@ SSL_R_INCONSISTENT_EARLY_DATA_ALPN:222:inconsistent early data alpn | |||
| 2713 | 2729 | SSL_R_INCONSISTENT_EARLY_DATA_SNI:231:inconsistent early data sni | |
| 2714 | 2730 | SSL_R_INCONSISTENT_EXTMS:104:inconsistent extms | |
| 2715 | 2731 | SSL_R_INSUFFICIENT_SECURITY:241:insufficient security | |
| 2732 | + SSL_R_INTERNAL_ERROR:295:internal error | ||
| 2716 | 2733 | SSL_R_INVALID_ALERT:205:invalid alert | |
| 2717 | 2734 | SSL_R_INVALID_CCS_MESSAGE:260:invalid ccs message | |
| 2718 | 2735 | SSL_R_INVALID_CERTIFICATE_OR_ALG:238:invalid certificate or alg | |
@@ -2888,6 +2905,7 @@ SSL_R_VERSION_TOO_LOW:396:version too low | |||
| 2888 | 2905 | SSL_R_WRONG_CERTIFICATE_TYPE:383:wrong certificate type | |
| 2889 | 2906 | SSL_R_WRONG_CIPHER_RETURNED:261:wrong cipher returned | |
| 2890 | 2907 | SSL_R_WRONG_CURVE:378:wrong curve | |
| 2908 | + SSL_R_WRONG_ENCRYPTION_LEVEL_RECEIVED:296:wrong encryption level received | ||
| 2891 | 2909 | SSL_R_WRONG_SIGNATURE_LENGTH:264:wrong signature length | |
| 2892 | 2910 | SSL_R_WRONG_SIGNATURE_SIZE:265:wrong signature size | |
| 2893 | 2911 | SSL_R_WRONG_SIGNATURE_TYPE:370:wrong signature type | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -15,7 +15,7 @@ | |||
| 15 | 15 | #include "internal/cryptlib.h" | |
| 16 | 16 | #include "crypto/evp.h" | |
| 17 | 17 | ||
| 18 | - #define HKDF_MAXBUF 1024 | ||
| 18 | + #define HKDF_MAXBUF 2048 | ||
| 19 | 19 | ||
| 20 | 20 | static unsigned char *HKDF(const EVP_MD *evp_md, | |
| 21 | 21 | const unsigned char *salt, size_t salt_len, | |
@@ -107,7 +107,10 @@ static int pkey_hkdf_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2) | |||
| 107 | 107 | if (kctx->key != NULL) | |
| 108 | 108 | OPENSSL_clear_free(kctx->key, kctx->key_len); | |
| 109 | 109 | ||
| 110 | - kctx->key = OPENSSL_memdup(p2, p1); | ||
| 110 | + if (p1 == 0) | ||
| 111 | + kctx->key = OPENSSL_zalloc(1); | ||
| 112 | + else | ||
| 113 | + kctx->key = OPENSSL_memdup(p2, p1); | ||
| 111 | 114 | if (kctx->key == NULL) | |
| 112 | 115 | return 0; | |
| 113 | 116 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -13,6 +13,7 @@ SSL_CIPHER_get_digest_nid, | |||
| 13 | 13 | SSL_CIPHER_get_handshake_digest, | |
| 14 | 14 | SSL_CIPHER_get_kx_nid, | |
| 15 | 15 | SSL_CIPHER_get_auth_nid, | |
| 16 | + SSL_CIPHER_get_prf_nid, | ||
| 16 | 17 | SSL_CIPHER_is_aead, | |
| 17 | 18 | SSL_CIPHER_find, | |
| 18 | 19 | SSL_CIPHER_get_id, | |
@@ -34,6 +35,7 @@ SSL_CIPHER_get_protocol_id | |||
| 34 | 35 | const EVP_MD *SSL_CIPHER_get_handshake_digest(const SSL_CIPHER *c); | |
| 35 | 36 | int SSL_CIPHER_get_kx_nid(const SSL_CIPHER *c); | |
| 36 | 37 | int SSL_CIPHER_get_auth_nid(const SSL_CIPHER *c); | |
| 38 | + int SSL_CIPHER_get_prf_nid(const SSL_CIPHER *c); | ||
| 37 | 39 | int SSL_CIPHER_is_aead(const SSL_CIPHER *c); | |
| 38 | 40 | const SSL_CIPHER *SSL_CIPHER_find(SSL *ssl, const unsigned char *ptr); | |
| 39 | 41 | uint32_t SSL_CIPHER_get_id(const SSL_CIPHER *c); | |
@@ -91,6 +93,15 @@ TLS 1.3 cipher suites) B<NID_auth_any> is returned. Examples (not comprehensive) | |||
| 91 | 93 | NID_auth_ecdsa | |
| 92 | 94 | NID_auth_psk | |
| 93 | 95 | ||
| 96 | + SSL_CIPHER_get_prf_nid() retuns the pseudo-random function NID for B<c>. If B<c> is | ||
| 97 | + a pre-TLS-1.2 cipher, it returns B<NID_md5_sha1> but note these ciphers use | ||
| 98 | + SHA-256 in TLS 1.2. Other return values may be treated uniformly in all | ||
| 99 | + applicable versions. Examples (not comprehensive): | ||
| 100 | + | ||
| 101 | + NID_md5_sha1 | ||
| 102 | + NID_sha256 | ||
| 103 | + NID_sha384 | ||
| 104 | + | ||
| 94 | 105 | SSL_CIPHER_is_aead() returns 1 if the cipher B<c> is AEAD (e.g. GCM or | |
| 95 | 106 | ChaCha20/Poly1305), and 0 if it is not AEAD. | |
| 96 | 107 | ||
@@ -201,6 +212,8 @@ required to enable this function. | |||
| 201 | 212 | ||
| 202 | 213 | The OPENSSL_cipher_name() function was added in OpenSSL 1.1.1. | |
| 203 | 214 | ||
| 215 | + The SSL_CIPHER_get_prf_nid() function was added in OpenSSL 3.0.0. | ||
| 216 | + | ||
| 204 | 217 | =head1 COPYRIGHT | |
| 205 | 218 | ||
| 206 | 219 | Copyright 2000-2019 The OpenSSL Project Authors. All Rights Reserved. | |
| Back | FazBrowse Home | New Git URL |
0 commit comments