Up min size of DHM params to 1024 bits on client
diff --git a/ChangeLog b/ChangeLog
index a206690..69bd936 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,9 +2,17 @@
 
 = mbed TLS 1.3.12 released 2015-07-??
 
+Security
+   * Increase the minimum size of Diffie-Hellman parameters accepted by the
+     client to 1024 bits, to protect against Logjam attack.
+
 Bugfix
    * Fix thread-safety issue in SSL debug module (found by Edwin van Vliet).
 
+Changes
+   * Add SSL_MIN_DHM_BYTES configuration parameter in config.h to choose the
+     minimum size of Diffie-Hellman parameters accepted by the client.
+
 = mbed TLS 1.3.11 released 2015-06-04
 
 Security
diff --git a/include/polarssl/config.h b/include/polarssl/config.h
index 6bfa705..422c8be 100644
--- a/include/polarssl/config.h
+++ b/include/polarssl/config.h
@@ -2328,6 +2328,7 @@
 
 /* SSL options */
 //#define SSL_MAX_CONTENT_LEN             16384 /**< Size of the input / output buffer */
+//#define SSL_MIN_DHM_BYTES                 128 /**< Min size of the Diffie-Hellman prime */
 //#define SSL_DEFAULT_TICKET_LIFETIME     86400 /**< Lifetime of session tickets (if enabled) */
 //#define POLARSSL_PSK_MAX_LEN               32 /**< Max size of TLS pre-shared keys, in bytes (default 256 bits) */
 
diff --git a/include/polarssl/ssl.h b/include/polarssl/ssl.h
index 730594a..f82d4fc 100644
--- a/include/polarssl/ssl.h
+++ b/include/polarssl/ssl.h
@@ -282,6 +282,12 @@
 #define SSL_MAX_CONTENT_LEN         16384   /**< Size of the input / output buffer */
 #endif
 
+/*
+ * Minimum size of the Diffie-Hellman parameters to accept from a server.
+ * The default is 1024 bits (128 bytes) for compatibility reasons.
+ * From a purely security perspective, 2048 bits would be better.
+ */
+#define SSL_MIN_DHM_BYTES             128   /**< Min size of the Diffie-Hellman prime */
 /* \} name SECTION: Module settings */
 
 /*
diff --git a/library/ssl_cli.c b/library/ssl_cli.c
index caeb6f3..0c62c34 100644
--- a/library/ssl_cli.c
+++ b/library/ssl_cli.c
@@ -1445,7 +1445,7 @@
         return( ret );
     }
 
-    if( ssl->handshake->dhm_ctx.len < 64  ||
+    if( ssl->handshake->dhm_ctx.len < SSL_MIN_DHM_BYTES ||
         ssl->handshake->dhm_ctx.len > 512 )
     {
         SSL_DEBUG_MSG( 1, ( "bad server key exchange message (DHM length)" ) );