Merge branch 'etm' into dtls
* etm: Fix warning in reduced config Update Changelog for EtM Keep EtM state across renegotiations Adjust minimum length for EtM Don't send back EtM extension if not using CBC Fix for the RFC erratum Implement EtM Preparation for EtM Implement initial negotiation of EtM Conflicts: include/polarssl/check_config.h
This commit is contained in:
commit
f9d778d635
10 changed files with 531 additions and 23 deletions
|
@ -128,6 +128,7 @@ int main( int argc, char *argv[] )
|
|||
#define DFL_HS_TO_MAX 0
|
||||
#define DFL_BADMAC_LIMIT -1
|
||||
#define DFL_EXTENDED_MS -1
|
||||
#define DFL_ETM -1
|
||||
|
||||
#define LONG_RESPONSE "<p>01-blah-blah-blah-blah-blah-blah-blah-blah-blah\r\n" \
|
||||
"02-blah-blah-blah-blah-blah-blah-blah-blah-blah-blah-blah-blah-blah\r\n" \
|
||||
|
@ -196,6 +197,7 @@ struct options
|
|||
uint32_t hs_to_max; /* Max value of DTLS handshake timer */
|
||||
int badmac_limit; /* Limit of records with bad MAC */
|
||||
char extended_ms; /* allow negotiation of extended MS? */
|
||||
char etm; /* allow negotiation of encrypt-then-MAC? */
|
||||
} opt;
|
||||
|
||||
static void my_debug( void *ctx, int level, const char *str )
|
||||
|
@ -357,6 +359,13 @@ static int my_send( void *ctx, const unsigned char *buf, size_t len )
|
|||
#define USAGE_EMS ""
|
||||
#endif
|
||||
|
||||
#if defined(POLARSSL_SSL_ENCRYPT_THEN_MAC)
|
||||
#define USAGE_ETM \
|
||||
" etm=0/1 default: (library default: on)\n"
|
||||
#else
|
||||
#define USAGE_ETM ""
|
||||
#endif
|
||||
|
||||
#define USAGE \
|
||||
"\n usage: ssl_server2 param=<>...\n" \
|
||||
"\n acceptable parameters:\n" \
|
||||
|
@ -390,6 +399,7 @@ static int my_send( void *ctx, const unsigned char *buf, size_t len )
|
|||
USAGE_MAX_FRAG_LEN \
|
||||
USAGE_ALPN \
|
||||
USAGE_EMS \
|
||||
USAGE_ETM \
|
||||
"\n" \
|
||||
" min_version=%%s default: \"ssl3\"\n" \
|
||||
" max_version=%%s default: \"tls1_2\"\n" \
|
||||
|
@ -794,6 +804,7 @@ int main( int argc, char *argv[] )
|
|||
opt.hs_to_max = DFL_HS_TO_MAX;
|
||||
opt.badmac_limit = DFL_BADMAC_LIMIT;
|
||||
opt.extended_ms = DFL_EXTENDED_MS;
|
||||
opt.etm = DFL_ETM;
|
||||
|
||||
for( i = 1; i < argc; i++ )
|
||||
{
|
||||
|
@ -998,6 +1009,15 @@ int main( int argc, char *argv[] )
|
|||
default: goto usage;
|
||||
}
|
||||
}
|
||||
else if( strcmp( p, "etm" ) == 0 )
|
||||
{
|
||||
switch( atoi( q ) )
|
||||
{
|
||||
case 0: opt.etm = SSL_ETM_DISABLED; break;
|
||||
case 1: opt.etm = SSL_ETM_ENABLED; break;
|
||||
default: goto usage;
|
||||
}
|
||||
}
|
||||
else if( strcmp( p, "tickets" ) == 0 )
|
||||
{
|
||||
opt.tickets = atoi( q );
|
||||
|
@ -1435,6 +1455,11 @@ int main( int argc, char *argv[] )
|
|||
ssl_set_extended_master_secret( &ssl, opt.extended_ms );
|
||||
#endif
|
||||
|
||||
#if defined(POLARSSL_SSL_ENCRYPT_THEN_MAC)
|
||||
if( opt.etm != DFL_ETM )
|
||||
ssl_set_encrypt_then_mac( &ssl, opt.etm );
|
||||
#endif
|
||||
|
||||
#if defined(POLARSSL_SSL_ALPN)
|
||||
if( opt.alpn_string != NULL )
|
||||
if( ( ret = ssl_set_alpn_protocols( &ssl, alpn_list ) ) != 0 )
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue