-
Notifications
You must be signed in to change notification settings - Fork 43
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
27 additions
and
27 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
68.0.3440.106 | ||
69.0.3497.81 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
From 26b821a6abbb9fbab5d7e7e6cedb32e707bcb477 Mon Sep 17 00:00:00 2001 | ||
From 641b079914ed0d74c60ed94d6c4d84fc72d0a469 Mon Sep 17 00:00:00 2001 | ||
From: Dmitrii Pichulin <[email protected]> | ||
Date: Sat, 28 Jul 2018 10:44:38 +0300 | ||
Subject: [PATCH] added GOSTSSL | ||
|
@@ -13,7 +13,7 @@ Subject: [PATCH] added GOSTSSL | |
6 files changed, 354 insertions(+) | ||
|
||
diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h | ||
index 9544bbeb..1b94a220 100644 | ||
index f693030a..933ddc52 100644 | ||
--- a/include/openssl/ssl.h | ||
+++ b/include/openssl/ssl.h | ||
@@ -167,6 +167,10 @@ | ||
|
@@ -27,7 +27,7 @@ index 9544bbeb..1b94a220 100644 | |
#if defined(__cplusplus) | ||
extern "C" { | ||
#endif | ||
@@ -4671,6 +4675,10 @@ OPENSSL_EXPORT bool SSL_apply_handback(SSL *ssl, Span<const uint8_t> handback); | ||
@@ -4608,6 +4612,10 @@ OPENSSL_EXPORT bool SSL_apply_handback(SSL *ssl, Span<const uint8_t> handback); | ||
|
||
#endif | ||
|
||
|
@@ -39,10 +39,10 @@ index 9544bbeb..1b94a220 100644 | |
#define SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT 101 | ||
#define SSL_R_BAD_ALERT 102 | ||
diff --git a/include/openssl/tls1.h b/include/openssl/tls1.h | ||
index 4b25806e..a8c80792 100644 | ||
index e3958520..07d09ee3 100644 | ||
--- a/include/openssl/tls1.h | ||
+++ b/include/openssl/tls1.h | ||
@@ -596,6 +596,11 @@ extern "C" { | ||
@@ -606,6 +606,11 @@ extern "C" { | ||
#define TLS1_TXT_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 \ | ||
"ECDHE-PSK-CHACHA20-POLY1305" | ||
|
||
|
@@ -55,10 +55,10 @@ index 4b25806e..a8c80792 100644 | |
#define TLS1_TXT_AES_128_GCM_SHA256 "AEAD-AES128-GCM-SHA256" | ||
#define TLS1_TXT_AES_256_GCM_SHA384 "AEAD-AES256-GCM-SHA384" | ||
diff --git a/ssl/handshake_client.cc b/ssl/handshake_client.cc | ||
index e9b0eedf..404fe858 100644 | ||
index eba21f39..dbf7e24e 100644 | ||
--- a/ssl/handshake_client.cc | ||
+++ b/ssl/handshake_client.cc | ||
@@ -692,6 +692,17 @@ static enum ssl_hs_wait_t do_read_server_hello(SSL_HANDSHAKE *hs) { | ||
@@ -676,6 +676,17 @@ static enum ssl_hs_wait_t do_read_server_hello(SSL_HANDSHAKE *hs) { | ||
} | ||
hs->new_cipher = cipher; | ||
|
||
|
@@ -77,10 +77,10 @@ index e9b0eedf..404fe858 100644 | |
// ServerHello. | ||
if (!hs->transcript.InitHash(ssl_protocol_version(ssl), hs->new_cipher) || | ||
diff --git a/ssl/internal.h b/ssl/internal.h | ||
index 28ea87b7..c5d65eb0 100644 | ||
index e3f0984c..8829f609 100644 | ||
--- a/ssl/internal.h | ||
+++ b/ssl/internal.h | ||
@@ -430,6 +430,11 @@ namespace bssl { | ||
@@ -431,6 +431,11 @@ namespace bssl { | ||
#define SSL_kPSK 0x00000004u | ||
#define SSL_kGENERIC 0x00000008u | ||
|
||
|
@@ -92,7 +92,7 @@ index 28ea87b7..c5d65eb0 100644 | |
// Bits for |algorithm_auth| (server authentication). | ||
#define SSL_aRSA 0x00000001u | ||
#define SSL_aECDSA 0x00000002u | ||
@@ -437,6 +442,11 @@ namespace bssl { | ||
@@ -438,6 +443,11 @@ namespace bssl { | ||
#define SSL_aPSK 0x00000004u | ||
#define SSL_aGENERIC 0x00000008u | ||
|
||
|
@@ -104,7 +104,7 @@ index 28ea87b7..c5d65eb0 100644 | |
#define SSL_aCERT (SSL_aRSA | SSL_aECDSA) | ||
|
||
// Bits for |algorithm_enc| (symmetric encryption). | ||
@@ -448,6 +458,10 @@ namespace bssl { | ||
@@ -449,6 +459,10 @@ namespace bssl { | ||
#define SSL_eNULL 0x00000020u | ||
#define SSL_CHACHA20POLY1305 0x00000040u | ||
|
||
|
@@ -115,7 +115,7 @@ index 28ea87b7..c5d65eb0 100644 | |
#define SSL_AES (SSL_AES128 | SSL_AES256 | SSL_AES128GCM | SSL_AES256GCM) | ||
|
||
// Bits for |algorithm_mac| (symmetric authentication). | ||
@@ -455,6 +469,10 @@ namespace bssl { | ||
@@ -456,6 +470,10 @@ namespace bssl { | ||
// SSL_AEAD is set for all AEADs. | ||
#define SSL_AEAD 0x00000002u | ||
|
||
|
@@ -126,7 +126,7 @@ index 28ea87b7..c5d65eb0 100644 | |
// Bits for |algorithm_prf| (handshake digest). | ||
#define SSL_HANDSHAKE_MAC_DEFAULT 0x1 | ||
#define SSL_HANDSHAKE_MAC_SHA256 0x2 | ||
@@ -3084,6 +3102,57 @@ void ssl_set_read_error(SSL* ssl); | ||
@@ -3169,6 +3187,57 @@ void ssl_set_read_error(SSL* ssl); | ||
|
||
} // namespace bssl | ||
|
||
|
@@ -185,7 +185,7 @@ index 28ea87b7..c5d65eb0 100644 | |
// Opaque C types. | ||
// | ||
diff --git a/ssl/ssl_cipher.cc b/ssl/ssl_cipher.cc | ||
index 8536f893..9b0c23b5 100644 | ||
index 42be5919..91d50c75 100644 | ||
--- a/ssl/ssl_cipher.cc | ||
+++ b/ssl/ssl_cipher.cc | ||
@@ -210,6 +210,20 @@ static const SSL_CIPHER kCiphers[] = { | ||
|
@@ -230,7 +230,7 @@ index 8536f893..9b0c23b5 100644 | |
}; | ||
|
||
static const size_t kCiphersLen = OPENSSL_ARRAY_SIZE(kCiphers); | ||
@@ -1196,6 +1224,17 @@ bool ssl_create_cipher_list(SSLCipherPreferenceList **out_cipher_list, | ||
@@ -1194,6 +1222,17 @@ bool ssl_create_cipher_list(SSLCipherPreferenceList **out_cipher_list, | ||
ssl_cipher_apply_rule(0, ~0u, ~0u, SSL_3DES, ~0u, 0, CIPHER_ADD, -1, false, | ||
&head, &tail); | ||
|
||
|
@@ -248,7 +248,7 @@ index 8536f893..9b0c23b5 100644 | |
// Temporarily enable everything else for sorting | ||
ssl_cipher_apply_rule(0, ~0u, ~0u, ~0u, ~0u, 0, CIPHER_ADD, -1, false, &head, | ||
&tail); | ||
@@ -1378,6 +1417,10 @@ int SSL_CIPHER_get_kx_nid(const SSL_CIPHER *cipher) { | ||
@@ -1376,6 +1415,10 @@ int SSL_CIPHER_get_kx_nid(const SSL_CIPHER *cipher) { | ||
case SSL_kRSA: | ||
return NID_kx_rsa; | ||
case SSL_kECDHE: | ||
|
@@ -259,7 +259,7 @@ index 8536f893..9b0c23b5 100644 | |
return NID_kx_ecdhe; | ||
case SSL_kPSK: | ||
return NID_kx_psk; | ||
@@ -1393,6 +1436,10 @@ int SSL_CIPHER_get_auth_nid(const SSL_CIPHER *cipher) { | ||
@@ -1391,6 +1434,10 @@ int SSL_CIPHER_get_auth_nid(const SSL_CIPHER *cipher) { | ||
case SSL_aRSA: | ||
return NID_auth_rsa; | ||
case SSL_aECDSA: | ||
|
@@ -270,7 +270,7 @@ index 8536f893..9b0c23b5 100644 | |
return NID_auth_ecdsa; | ||
case SSL_aPSK: | ||
return NID_auth_psk; | ||
@@ -1515,6 +1562,9 @@ int SSL_CIPHER_get_bits(const SSL_CIPHER *cipher, int *out_alg_bits) { | ||
@@ -1513,6 +1560,9 @@ int SSL_CIPHER_get_bits(const SSL_CIPHER *cipher, int *out_alg_bits) { | ||
|
||
case SSL_AES256: | ||
case SSL_AES256GCM: | ||
|
@@ -281,10 +281,10 @@ index 8536f893..9b0c23b5 100644 | |
alg_bits = 256; | ||
strength_bits = 256; | ||
diff --git a/ssl/ssl_lib.cc b/ssl/ssl_lib.cc | ||
index 606d1fc2..84a84128 100644 | ||
index c68968a5..1b14b188 100644 | ||
--- a/ssl/ssl_lib.cc | ||
+++ b/ssl/ssl_lib.cc | ||
@@ -560,6 +560,163 @@ static int ssl_session_cmp(const SSL_SESSION *a, const SSL_SESSION *b) { | ||
@@ -534,6 +534,163 @@ static int ssl_session_cmp(const SSL_SESSION *a, const SSL_SESSION *b) { | ||
return OPENSSL_memcmp(a->session_id, b->session_id, a->session_id_length); | ||
} | ||
|
||
|
@@ -378,7 +378,7 @@ index 606d1fc2..84a84128 100644 | |
+ return 0; | ||
+ } | ||
+ | ||
+ ssl->s3->established_session->certs = std::move( ret ).release(); | ||
+ ssl->s3->established_session->certs = std::move( ret ); | ||
+ } | ||
+ | ||
+ // SSL_CB_HANDSHAKE_DONE | ||
|
@@ -448,7 +448,7 @@ index 606d1fc2..84a84128 100644 | |
SSL_CTX *SSL_CTX_new(const SSL_METHOD *method) { | ||
SSL_CTX *ret = NULL; | ||
|
||
@@ -828,6 +985,13 @@ void SSL_free(SSL *ssl) { | ||
@@ -804,6 +961,13 @@ void SSL_free(SSL *ssl) { | ||
return; | ||
} | ||
|
||
|
@@ -462,7 +462,7 @@ index 606d1fc2..84a84128 100644 | |
CRYPTO_free_ex_data(&g_ex_data_class_ssl, ssl, &ssl->ex_data); | ||
|
||
BIO_free_all(ssl->rbio); | ||
@@ -908,6 +1072,20 @@ BIO *SSL_get_rbio(const SSL *ssl) { return ssl->rbio; } | ||
@@ -884,6 +1048,20 @@ BIO *SSL_get_rbio(const SSL *ssl) { return ssl->rbio; } | ||
BIO *SSL_get_wbio(const SSL *ssl) { return ssl->wbio; } | ||
|
||
int SSL_do_handshake(SSL *ssl) { | ||
|
@@ -483,7 +483,7 @@ index 606d1fc2..84a84128 100644 | |
ssl_reset_error_state(ssl); | ||
|
||
if (ssl->do_handshake == NULL) { | ||
@@ -1072,6 +1250,20 @@ static int ssl_read_impl(SSL *ssl) { | ||
@@ -1048,6 +1226,20 @@ static int ssl_read_impl(SSL *ssl) { | ||
} | ||
|
||
int SSL_read(SSL *ssl, void *buf, int num) { | ||
|
@@ -504,7 +504,7 @@ index 606d1fc2..84a84128 100644 | |
int ret = SSL_peek(ssl, buf, num); | ||
if (ret <= 0) { | ||
return ret; | ||
@@ -1101,6 +1293,20 @@ int SSL_peek(SSL *ssl, void *buf, int num) { | ||
@@ -1077,6 +1269,20 @@ int SSL_peek(SSL *ssl, void *buf, int num) { | ||
} | ||
|
||
int SSL_write(SSL *ssl, const void *buf, int num) { | ||
|
@@ -525,7 +525,7 @@ index 606d1fc2..84a84128 100644 | |
ssl_reset_error_state(ssl); | ||
|
||
if (ssl->do_handshake == NULL) { | ||
@@ -2310,6 +2516,11 @@ EVP_PKEY *SSL_CTX_get0_privatekey(const SSL_CTX *ctx) { | ||
@@ -2326,6 +2532,11 @@ EVP_PKEY *SSL_CTX_get0_privatekey(const SSL_CTX *ctx) { | ||
} | ||
|
||
const SSL_CIPHER *SSL_get_current_cipher(const SSL *ssl) { | ||
|