diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2013-03-20 15:49:14 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2013-03-26 15:16:41 +0000 |
commit | c3b344e36a088283731b4f65a70e85b100f55686 (patch) | |
tree | 27000a39428849e76799f34288bd4490a073b2a7 /ssl/d1_lib.c | |
parent | 9cf0f187542f080031f83c5e538d3e1872ac09d1 (diff) |
Provisional DTLS 1.2 support.
Add correct flags for DTLS 1.2, update s_server and s_client to handle
DTLS 1.2 methods.
Currently no support for version negotiation: i.e. if client/server selects
DTLS 1.2 it is that or nothing.
Diffstat (limited to 'ssl/d1_lib.c')
-rw-r--r-- | ssl/d1_lib.c | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/ssl/d1_lib.c b/ssl/d1_lib.c index b739153309..16bafa3560 100644 --- a/ssl/d1_lib.c +++ b/ssl/d1_lib.c @@ -91,6 +91,25 @@ SSL3_ENC_METHOD DTLSv1_enc_data={ dtls1_handshake_write }; +SSL3_ENC_METHOD DTLSv1_2_enc_data={ + dtls1_enc, + tls1_mac, + tls1_setup_key_block, + tls1_generate_master_secret, + tls1_change_cipher_state, + tls1_final_finish_mac, + TLS1_FINISH_MAC_LENGTH, + tls1_cert_verify_mac, + TLS_MD_CLIENT_FINISH_CONST,TLS_MD_CLIENT_FINISH_CONST_SIZE, + TLS_MD_SERVER_FINISH_CONST,TLS_MD_SERVER_FINISH_CONST_SIZE, + tls1_alert_code, + tls1_export_keying_material, + SSL_ENC_FLAG_DTLS|SSL_ENC_FLAG_EXPLICIT_IV|SSL_ENC_FLAG_SIGALGS|SSL_ENC_FLAG_SHA256_PRF, + DTLS1_HM_HEADER_LENGTH, + dtls1_set_handshake_header, + dtls1_handshake_write + }; + long dtls1_default_timeout(void) { /* 2 hours, the 24 hours mentioned in the DTLSv1 spec @@ -247,7 +266,7 @@ void dtls1_clear(SSL *s) if (s->options & SSL_OP_CISCO_ANYCONNECT) s->version=DTLS1_BAD_VER; else - s->version=DTLS1_VERSION; + s->version=s->method->version; } long dtls1_ctrl(SSL *s, int cmd, long larg, void *parg) |