Fix tests that were failing with record splitting
diff --git a/programs/ssl/ssl_client2.c b/programs/ssl/ssl_client2.c
index 5b7a488..e08db04 100644
--- a/programs/ssl/ssl_client2.c
+++ b/programs/ssl/ssl_client2.c
@@ -91,6 +91,7 @@
#define DFL_AUTH_MODE SSL_VERIFY_REQUIRED
#define DFL_MFL_CODE SSL_MAX_FRAG_LEN_NONE
#define DFL_TRUNC_HMAC 0
+#define DFL_RECSPLIT -1
#define DFL_RECONNECT 0
#define DFL_RECO_DELAY 0
#define DFL_TICKETS SSL_SESSION_TICKETS_ENABLED
@@ -128,6 +129,7 @@
int auth_mode; /* verify mode for connection */
unsigned char mfl_code; /* code for maximum fragment length */
int trunc_hmac; /* negotiate truncated hmac or not */
+ int recsplit; /* enable record splitting? */
int reconnect; /* attempt to resume session */
int reco_delay; /* delay in seconds before resuming session */
int tickets; /* enable / disable session tickets */
@@ -269,6 +271,13 @@
#define USAGE_MAX_FRAG_LEN ""
#endif /* POLARSSL_SSL_MAX_FRAGMENT_LENGTH */
+#if defined(POLARSSL_SSL_CBC_RECORD_SPLITTING)
+#define USAGE_RECSPLIT \
+ " recplit=%%d default: (library default)\n"
+#else
+#define USAGE_RECSPLIT
+#endif
+
#if defined(POLARSSL_TIMING_C)
#define USAGE_TIME \
" reco_delay=%%d default: 0 seconds\n"
@@ -313,6 +322,7 @@
USAGE_MAX_FRAG_LEN \
USAGE_TRUNC_HMAC \
USAGE_ALPN \
+ USAGE_RECSPLIT \
"\n" \
" min_version=%%s default: \"\" (ssl3)\n" \
" max_version=%%s default: \"\" (tls1_2)\n" \
@@ -409,6 +419,7 @@
opt.auth_mode = DFL_AUTH_MODE;
opt.mfl_code = DFL_MFL_CODE;
opt.trunc_hmac = DFL_TRUNC_HMAC;
+ opt.recsplit = DFL_RECSPLIT;
opt.reconnect = DFL_RECONNECT;
opt.reco_delay = DFL_RECO_DELAY;
opt.tickets = DFL_TICKETS;
@@ -600,6 +611,12 @@
if( opt.trunc_hmac < 0 || opt.trunc_hmac > 1 )
goto usage;
}
+ else if( strcmp( p, "recsplit" ) == 0 )
+ {
+ opt.recsplit = atoi( q );
+ if( opt.recsplit < 0 || opt.recsplit > 1 )
+ goto usage;
+ }
else
goto usage;
}
@@ -882,6 +899,13 @@
}
#endif
+#if defined(POLARSSL_SSL_CBC_RECORD_SPLITTING)
+ if( opt.recsplit != DFL_RECSPLIT )
+ ssl_set_cbc_record_splitting( &ssl, opt.recsplit
+ ? SSL_CBC_RECORD_SPLITTING_ENABLED
+ : SSL_CBC_RECORD_SPLITTING_DISABLED );
+#endif
+
#if defined(POLARSSL_SSL_ALPN)
if( opt.alpn_string != NULL )
if( ( ret = ssl_set_alpn_protocols( &ssl, alpn_list ) ) != 0 )