Start adding ticket keys (only key_name for now)
diff --git a/library/ssl_srv.c b/library/ssl_srv.c
index 5b7db17..1178309 100644
--- a/library/ssl_srv.c
+++ b/library/ssl_srv.c
@@ -165,7 +165,10 @@
unsigned char *p = start;
size_t clear_len, enc_len;
- memset( p, 0, 16 ); // TODO: key_name
+ if( ssl->ticket_keys == NULL )
+ return( POLARSSL_ERR_SSL_BAD_INPUT_DATA );
+
+ memcpy( p, ssl->ticket_keys->key_name, 16 );
p += 16;
memset( p, 0, 16 ); // TODO: iv
@@ -208,7 +211,7 @@
const unsigned char *mac;
size_t enc_len, clear_len;
- if( len < 34 )
+ if( len < 34 || ssl->ticket_keys == NULL )
return( POLARSSL_ERR_SSL_BAD_INPUT_DATA );
enc_len = ( enc_len_p[0] << 8 ) | enc_len_p[1];
@@ -217,8 +220,8 @@
if( len != enc_len + 66 )
return( POLARSSL_ERR_SSL_BAD_INPUT_DATA );
- // TODO: check key_name
- (void) key_name;
+ if( memcmp( key_name, ssl->ticket_keys->key_name, 16 ) != 0 )
+ return( POLARSSL_ERR_SSL_BAD_INPUT_DATA );
// TODO: check hmac
(void) mac;