Add cmd line option to ssl_server2 for datagram packing
This commit adds a new command line option `dgram_packing` to the example server application programs/ssl/ssl_server2 allowing to allow/forbid the use of datagram packing.
This commit is contained in:
parent
04da189225
commit
e7675d0d3d
1 changed files with 20 additions and 1 deletions
|
@ -152,6 +152,7 @@ int main( void )
|
||||||
#define DFL_HS_TO_MAX 0
|
#define DFL_HS_TO_MAX 0
|
||||||
#define DFL_DTLS_MTU -1
|
#define DFL_DTLS_MTU -1
|
||||||
#define DFL_BADMAC_LIMIT -1
|
#define DFL_BADMAC_LIMIT -1
|
||||||
|
#define DFL_DGRAM_PACKING 1
|
||||||
#define DFL_EXTENDED_MS -1
|
#define DFL_EXTENDED_MS -1
|
||||||
#define DFL_ETM -1
|
#define DFL_ETM -1
|
||||||
|
|
||||||
|
@ -299,7 +300,10 @@ int main( void )
|
||||||
" dtls=%%d default: 0 (TLS)\n" \
|
" dtls=%%d default: 0 (TLS)\n" \
|
||||||
" hs_timeout=%%d-%%d default: (library default: 1000-60000)\n" \
|
" hs_timeout=%%d-%%d default: (library default: 1000-60000)\n" \
|
||||||
" range of DTLS handshake timeouts in millisecs\n" \
|
" range of DTLS handshake timeouts in millisecs\n" \
|
||||||
" mtu=%%d default: (library default: unlimited)\n"
|
" mtu=%%d default: (library default: unlimited)\n" \
|
||||||
|
" dgram_packing=%%d default: 1 (allowed)\n" \
|
||||||
|
" allow or forbid packing of multiple\n" \
|
||||||
|
" records within a single datgram.\n"
|
||||||
#else
|
#else
|
||||||
#define USAGE_DTLS ""
|
#define USAGE_DTLS ""
|
||||||
#endif
|
#endif
|
||||||
|
@ -473,6 +477,7 @@ struct options
|
||||||
uint32_t hs_to_min; /* Initial value of DTLS handshake timer */
|
uint32_t hs_to_min; /* Initial value of DTLS handshake timer */
|
||||||
uint32_t hs_to_max; /* Max value of DTLS handshake timer */
|
uint32_t hs_to_max; /* Max value of DTLS handshake timer */
|
||||||
int dtls_mtu; /* UDP Maximum tranport unit for DTLS */
|
int dtls_mtu; /* UDP Maximum tranport unit for DTLS */
|
||||||
|
int dgram_packing; /* allow/forbid datagram packing */
|
||||||
int badmac_limit; /* Limit of records with bad MAC */
|
int badmac_limit; /* Limit of records with bad MAC */
|
||||||
} opt;
|
} opt;
|
||||||
|
|
||||||
|
@ -1342,6 +1347,7 @@ int main( int argc, char *argv[] )
|
||||||
opt.hs_to_min = DFL_HS_TO_MIN;
|
opt.hs_to_min = DFL_HS_TO_MIN;
|
||||||
opt.hs_to_max = DFL_HS_TO_MAX;
|
opt.hs_to_max = DFL_HS_TO_MAX;
|
||||||
opt.dtls_mtu = DFL_DTLS_MTU;
|
opt.dtls_mtu = DFL_DTLS_MTU;
|
||||||
|
opt.dgram_packing = DFL_DGRAM_PACKING;
|
||||||
opt.badmac_limit = DFL_BADMAC_LIMIT;
|
opt.badmac_limit = DFL_BADMAC_LIMIT;
|
||||||
opt.extended_ms = DFL_EXTENDED_MS;
|
opt.extended_ms = DFL_EXTENDED_MS;
|
||||||
opt.etm = DFL_ETM;
|
opt.etm = DFL_ETM;
|
||||||
|
@ -1694,6 +1700,15 @@ int main( int argc, char *argv[] )
|
||||||
if( opt.dtls_mtu < 0 )
|
if( opt.dtls_mtu < 0 )
|
||||||
goto usage;
|
goto usage;
|
||||||
}
|
}
|
||||||
|
else if( strcmp( p, "dgram_packing" ) == 0 )
|
||||||
|
{
|
||||||
|
opt.dgram_packing = atoi( q );
|
||||||
|
if( opt.dgram_packing != 0 &&
|
||||||
|
opt.dgram_packing != 1 )
|
||||||
|
{
|
||||||
|
goto usage;
|
||||||
|
}
|
||||||
|
}
|
||||||
else if( strcmp( p, "sni" ) == 0 )
|
else if( strcmp( p, "sni" ) == 0 )
|
||||||
{
|
{
|
||||||
opt.sni = q;
|
opt.sni = q;
|
||||||
|
@ -2168,6 +2183,9 @@ int main( int argc, char *argv[] )
|
||||||
|
|
||||||
if( opt.dtls_mtu != DFL_DTLS_MTU )
|
if( opt.dtls_mtu != DFL_DTLS_MTU )
|
||||||
mbedtls_ssl_conf_mtu( &conf, opt.dtls_mtu );
|
mbedtls_ssl_conf_mtu( &conf, opt.dtls_mtu );
|
||||||
|
|
||||||
|
if( opt.dgram_packing != DFL_DGRAM_PACKING )
|
||||||
|
mbedtls_ssl_conf_datagram_packing( &ssl, opt.dgram_packing );
|
||||||
#endif /* MBEDTLS_SSL_PROTO_DTLS */
|
#endif /* MBEDTLS_SSL_PROTO_DTLS */
|
||||||
|
|
||||||
#if defined(MBEDTLS_SSL_MAX_FRAGMENT_LENGTH)
|
#if defined(MBEDTLS_SSL_MAX_FRAGMENT_LENGTH)
|
||||||
|
@ -2178,6 +2196,7 @@ int main( int argc, char *argv[] )
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#if defined(MBEDTLS_SSL_TRUNCATED_HMAC)
|
#if defined(MBEDTLS_SSL_TRUNCATED_HMAC)
|
||||||
if( opt.trunc_hmac != DFL_TRUNC_HMAC )
|
if( opt.trunc_hmac != DFL_TRUNC_HMAC )
|
||||||
mbedtls_ssl_conf_truncated_hmac( &conf, opt.trunc_hmac );
|
mbedtls_ssl_conf_truncated_hmac( &conf, opt.trunc_hmac );
|
||||||
|
|
Loading…
Reference in a new issue