Add ssl_set_max_frag_len()
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index dfeed33..b6bb44f 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -2826,6 +2826,9 @@
     memset( ssl-> in_ctr, 0, SSL_BUFFER_LEN );
     memset( ssl->out_ctr, 0, SSL_BUFFER_LEN );
 
+    ssl->mfl_code = SSL_MAX_FRAG_LEN_NONE;
+    ssl->max_frag_len = SSL_MAX_CONTENT_LEN;
+
     ssl->hostname = NULL;
     ssl->hostname_len = 0;
 
@@ -3111,6 +3114,35 @@
     ssl->min_minor_ver = minor;
 }
 
+int ssl_set_max_frag_len( ssl_context *ssl, unsigned char mfl_code )
+{
+    switch( mfl_code )
+    {
+        case SSL_MAX_FRAG_LEN_512:
+            ssl->max_frag_len = 512;
+            break;
+
+        case SSL_MAX_FRAG_LEN_1024:
+            ssl->max_frag_len = 1024;
+            break;
+
+        case SSL_MAX_FRAG_LEN_2048:
+            ssl->max_frag_len = 2048;
+            break;
+
+        case SSL_MAX_FRAG_LEN_4096:
+            ssl->max_frag_len = 4096;
+            break;
+
+        default:
+            return( POLARSSL_ERR_SSL_BAD_INPUT_DATA );
+    }
+
+    ssl->mfl_code = mfl_code;
+
+    return( 0 );
+}
+
 void ssl_set_renegotiation( ssl_context *ssl, int renegotiation )
 {
     ssl->disable_renegotiation = renegotiation;