Change default min TLS version to TLS 1.0
diff --git a/ChangeLog b/ChangeLog
index 09c5b2f..206a3a8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -41,6 +41,7 @@
    * Remove r and s from ecdsa_context
 
 Default behavior changes
+   * The default minimum TLS version is now TLS 1.0.
    * RC4 is now blacklisted by default in the SSL/TLS layer, and excluded from the
      default ciphersuite list returned by ssl_list_ciphersuites()
    * Support for receiving SSLv2 ClientHello is now disabled by default at
diff --git a/include/mbedtls/ssl.h b/include/mbedtls/ssl.h
index fa20c7f..09aaf37 100644
--- a/include/mbedtls/ssl.h
+++ b/include/mbedtls/ssl.h
@@ -1718,7 +1718,7 @@
 
 /**
  * \brief          Set the minimum accepted SSL/TLS protocol version
- *                 (Default: SSL_MIN_MAJOR_VERSION, SSL_MIN_MINOR_VERSION)
+ *                 (Default: TLS 1.0)
  *
  * \note           Input outside of the SSL_MAX_XXXXX_VERSION and
  *                 SSL_MIN_XXXXX_VERSION range is ignored.
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index fb943dc..73aefc8 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -4953,8 +4953,8 @@
     /*
      * Sane defaults
      */
-    ssl->min_major_ver = SSL_MIN_MAJOR_VERSION;
-    ssl->min_minor_ver = SSL_MIN_MINOR_VERSION;
+    ssl->min_major_ver = SSL_MAJOR_VERSION_3;
+    ssl->min_minor_ver = SSL_MINOR_VERSION_1; /* TLS 1.0 */
     ssl->max_major_ver = SSL_MAX_MAJOR_VERSION;
     ssl->max_minor_ver = SSL_MAX_MINOR_VERSION;
 
diff --git a/programs/ssl/ssl_client1.c b/programs/ssl/ssl_client1.c
index b9735b4..45a6902 100644
--- a/programs/ssl/ssl_client1.c
+++ b/programs/ssl/ssl_client1.c
@@ -161,9 +161,6 @@
     ssl_set_authmode( &ssl, SSL_VERIFY_OPTIONAL );
     ssl_set_ca_chain( &ssl, &cacert, NULL, "mbed TLS Server 1" );
 
-    /* SSLv3 is deprecated, set minimum to TLS 1.0 */
-    ssl_set_min_version( &ssl, SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1 );
-
     ssl_set_rng( &ssl, ctr_drbg_random, &ctr_drbg );
     ssl_set_dbg( &ssl, my_debug, stdout );
     ssl_set_bio_timeout( &ssl, &server_fd, net_send, net_recv, NULL, 0 );
diff --git a/programs/ssl/ssl_client2.c b/programs/ssl/ssl_client2.c
index 9259976..67d2955 100644
--- a/programs/ssl/ssl_client2.c
+++ b/programs/ssl/ssl_client2.c
@@ -83,7 +83,7 @@
 #define DFL_ALLOW_LEGACY        -2
 #define DFL_RENEGOTIATE         0
 #define DFL_EXCHANGES           1
-#define DFL_MIN_VERSION         SSL_MINOR_VERSION_1
+#define DFL_MIN_VERSION         -1
 #define DFL_MAX_VERSION         -1
 #define DFL_ARC4                -1
 #define DFL_AUTH_MODE           -1
@@ -250,8 +250,8 @@
     USAGE_RECSPLIT                                          \
     "\n"                                                    \
     "    arc4=%%d             default: (library default: 0)\n" \
-    "    min_version=%%s      default: \"\" (ssl3)\n"       \
-    "    max_version=%%s      default: \"\" (tls1_2)\n"     \
+    "    min_version=%%s      default: (library default: tls1)\n"       \
+    "    max_version=%%s      default: (library default: tls1_2)\n"     \
     "    force_version=%%s    default: \"\" (none)\n"       \
     "                        options: ssl3, tls1, tls1_1, tls1_2, dtls1, dtls1_2\n" \
     "\n"                                                    \
@@ -1197,17 +1197,17 @@
     }
 #endif
 
-    if( opt.min_version != -1 )
+    if( opt.min_version != DFL_MIN_VERSION )
     {
         ret = ssl_set_min_version( &ssl, SSL_MAJOR_VERSION_3, opt.min_version );
-        if( ret != 0 && opt.min_version != DFL_MIN_VERSION )
+        if( ret != 0 )
         {
             polarssl_printf( " failed\n  ! selected min_version is not available\n" );
             goto exit;
         }
     }
 
-    if( opt.max_version != -1 )
+    if( opt.max_version != DFL_MAX_VERSION )
     {
         ret = ssl_set_max_version( &ssl, SSL_MAJOR_VERSION_3, opt.max_version );
         if( ret != 0 )
diff --git a/programs/ssl/ssl_fork_server.c b/programs/ssl/ssl_fork_server.c
index 451b1a8..72d74b2 100644
--- a/programs/ssl/ssl_fork_server.c
+++ b/programs/ssl/ssl_fork_server.c
@@ -258,10 +258,6 @@
         ssl_set_endpoint( &ssl, SSL_IS_SERVER );
         ssl_set_authmode( &ssl, SSL_VERIFY_NONE );
 
-        /* SSLv3 is deprecated, set minimum to TLS 1.0 */
-        ssl_set_min_version( &ssl, SSL_MAJOR_VERSION_3,
-                                   SSL_MINOR_VERSION_1 );
-
         ssl_set_rng( &ssl, ctr_drbg_random, &ctr_drbg );
         ssl_set_dbg( &ssl, my_debug, stdout );
         ssl_set_bio_timeout( &ssl, &client_fd, net_send, net_recv, NULL, 0 );
diff --git a/programs/ssl/ssl_mail_client.c b/programs/ssl/ssl_mail_client.c
index 2a20fbd..55d7f87 100644
--- a/programs/ssl/ssl_mail_client.c
+++ b/programs/ssl/ssl_mail_client.c
@@ -602,9 +602,6 @@
      * but makes interop easier in this simplified example */
     ssl_set_authmode( &ssl, SSL_VERIFY_OPTIONAL );
 
-    /* SSLv3 is deprecated, set minimum to TLS 1.0 */
-    ssl_set_min_version( &ssl, SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1 );
-
     ssl_set_rng( &ssl, ctr_drbg_random, &ctr_drbg );
     ssl_set_dbg( &ssl, my_debug, stdout );
     ssl_set_bio_timeout( &ssl, &server_fd, net_send, net_recv, NULL, 0 );
diff --git a/programs/ssl/ssl_pthread_server.c b/programs/ssl/ssl_pthread_server.c
index ece8ad2..9702ab1 100644
--- a/programs/ssl/ssl_pthread_server.c
+++ b/programs/ssl/ssl_pthread_server.c
@@ -168,9 +168,6 @@
     ssl_set_endpoint( &ssl, SSL_IS_SERVER );
     ssl_set_authmode( &ssl, SSL_VERIFY_NONE );
 
-    /* SSLv3 is deprecated, set minimum to TLS 1.0 */
-    ssl_set_min_version( &ssl, SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1 );
-
     ssl_set_rng( &ssl, ctr_drbg_random, &ctr_drbg );
     ssl_set_dbg( &ssl, my_mutexed_debug, stdout );
 
diff --git a/programs/ssl/ssl_server.c b/programs/ssl/ssl_server.c
index 34cfa8c..2e4fcd8 100644
--- a/programs/ssl/ssl_server.c
+++ b/programs/ssl/ssl_server.c
@@ -197,9 +197,6 @@
     ssl_set_endpoint( &ssl, SSL_IS_SERVER );
     ssl_set_authmode( &ssl, SSL_VERIFY_NONE );
 
-    /* SSLv3 is deprecated, set minimum to TLS 1.0 */
-    ssl_set_min_version( &ssl, SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_1 );
-
     ssl_set_rng( &ssl, ctr_drbg_random, &ctr_drbg );
     ssl_set_dbg( &ssl, my_debug, stdout );
 
diff --git a/programs/ssl/ssl_server2.c b/programs/ssl/ssl_server2.c
index c2beec7..f3e2955 100644
--- a/programs/ssl/ssl_server2.c
+++ b/programs/ssl/ssl_server2.c
@@ -99,7 +99,7 @@
 #define DFL_RENEGO_DELAY        -2
 #define DFL_RENEGO_PERIOD       -1
 #define DFL_EXCHANGES           1
-#define DFL_MIN_VERSION         SSL_MINOR_VERSION_1
+#define DFL_MIN_VERSION         -1
 #define DFL_MAX_VERSION         -1
 #define DFL_ARC4                -1
 #define DFL_AUTH_MODE           -1
@@ -316,8 +316,8 @@
     USAGE_ETM                                               \
     "\n"                                                    \
     "    arc4=%%d             default: (library default: 0)\n" \
-    "    min_version=%%s      default: \"ssl3\"\n"          \
-    "    max_version=%%s      default: \"tls1_2\"\n"        \
+    "    min_version=%%s      default: (library default: tls1)\n"       \
+    "    max_version=%%s      default: (library default: tls1_2)\n"     \
     "    force_version=%%s    default: \"\" (none)\n"       \
     "                        options: ssl3, tls1, tls1_1, tls1_2, dtls1, dtls1_2\n" \
     "\n"                                                                \
@@ -1734,17 +1734,17 @@
     }
 #endif
 
-    if( opt.min_version != -1 )
+    if( opt.min_version != DFL_MIN_VERSION )
     {
         ret = ssl_set_min_version( &ssl, SSL_MAJOR_VERSION_3, opt.min_version );
-        if( ret != 0 && opt.min_version != DFL_MIN_VERSION )
+        if( ret != 0 )
         {
             polarssl_printf( " failed\n  ! selected min_version is not available\n" );
             goto exit;
         }
     }
 
-    if( opt.max_version != -1 )
+    if( opt.max_version != DFL_MIN_VERSION )
     {
         ret = ssl_set_max_version( &ssl, SSL_MAJOR_VERSION_3, opt.max_version );
         if( ret != 0 )