Move negotiated max fragment length to session
User-set max fragment length remains in ssl_context.
The min of the two is used for sizing fragments.
diff --git a/include/polarssl/ssl.h b/include/polarssl/ssl.h
index 5b4e36f..e9e33e3 100644
--- a/include/polarssl/ssl.h
+++ b/include/polarssl/ssl.h
@@ -124,6 +124,7 @@
#define SSL_MAX_FRAG_LEN_1024 2 /*!< MaxFragmentLength 2^10 */
#define SSL_MAX_FRAG_LEN_2048 3 /*!< MaxFragmentLength 2^11 */
#define SSL_MAX_FRAG_LEN_4096 4 /*!< MaxFragmentLength 2^12 */
+#define SSL_MAX_FRAG_LEN_INVALID 5 /*!< first invalid value */
#define SSL_IS_CLIENT 0
#define SSL_IS_SERVER 1
@@ -330,6 +331,8 @@
#if defined(POLARSSL_X509_PARSE_C)
x509_cert *peer_cert; /*!< peer X.509 cert chain */
#endif /* POLARSSL_X509_PARSE_C */
+
+ unsigned char mfl_code; /*!< MaxFragmentLength negotiated by peer */
};
/*
@@ -508,8 +511,7 @@
size_t out_msglen; /*!< record header: message length */
size_t out_left; /*!< amount of data not yet written */
- /* Maximum fragment length extension (RFC 6066 section 4) */
- unsigned char mfl_code; /*!< numerical code for MaxFragmentLength */
+ unsigned char mfl_code; /*!< MaxFragmentLength chosen by us */
/*
* PKI layer