  include/openssl/tls1.h  |   5 ++
  ssl/handshake_client.cc |  11 +++++
  ssl/internal.h          |  63 ++++++++++++++++++++++++
- ssl/ssl_cipher.cc       |  38 +++++++++++++++
+ ssl/ssl_cipher.cc       |  42 ++++++++++++++++
  ssl/ssl_lib.cc          | 125 ++++++++++++++++++++++++++++++++++++++++++++++++
- 6 files changed, 250 insertions(+)
+ 6 files changed, 254 insertions(+)
 
 diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h
 index 4a1a726..833e0f3 100644

+  if( gostssl() )
+  {
+      ssl_cipher_apply_rule( 0, ~0u, ~0u, SSL_eGOST28147, ~0u, 0, CIPHER_ADD, -1, 0, &head, &tail );
+  }
+#endif
+
   /* Temporarily enable everything else for sorting */
   ssl_cipher_apply_rule(0, ~0u, ~0u, ~0u, ~0u, 0, CIPHER_ADD, -1, 0, &head,
                         &tail);
@@ -1535,6 +1570,9 @@ int SSL_CIPHER_get_bits(const SSL_CIPHER *cipher, int *out_alg_bits) {
 
     case SSL_AES256:
     case SSL_AES256GCM:

 };
 
 static const size_t kCiphersLen = OPENSSL_ARRAY_SIZE(kCiphers);
@@ -1276,6 +1304,17 @@ int ssl_create_cipher_list(
   ssl_cipher_apply_rule(0, ~0u, ~0u, SSL_3DES, ~0u, 0, CIPHER_ADD, -1, 0, &head,
                         &tail);
 
