Merge code for RSA and ECDSA in SSL
diff --git a/library/ssl_cli.c b/library/ssl_cli.c
index babd60a..ba2c68c 100644
--- a/library/ssl_cli.c
+++ b/library/ssl_cli.c
@@ -2023,7 +2023,7 @@
             md_alg = POLARSSL_MD_SHA256;
             ssl->out_msg[4] = SSL_HASH_SHA256;
         }
-        /* SIG added later */
+        ssl->out_msg[5] = ssl_sig_from_pk( ssl->pk_key );
 
         if( ( md_info = md_info_from_type( md_alg ) ) == NULL )
         {
@@ -2036,40 +2036,13 @@
         offset = 2;
     }
 
-#if defined(POLARSSL_RSA_C)
-    if( ssl->rsa_key != NULL )
+    if( ( ret = pk_sign( ssl->pk_key, md_alg, hash, hashlen,
+                         ssl->out_msg + 6 + offset, &n,
+                         ssl->f_rng, ssl->p_rng ) ) != 0 )
     {
-        if( ssl->minor_ver == SSL_MINOR_VERSION_3 )
-            ssl->out_msg[5] = SSL_SIG_RSA;
-
-        if( ( ret = pk_sign( ssl->pk_key, md_alg, hash, hashlen,
-                             ssl->out_msg + 6 + offset, &n,
-                             ssl->f_rng, ssl->p_rng ) ) != 0 )
-        {
-            SSL_DEBUG_RET( 1, "pk_sign", ret );
-            return( ret );
-        }
+        SSL_DEBUG_RET( 1, "pk_sign", ret );
+        return( ret );
     }
-    else
-#endif /* POLARSSL_RSA_C */
-#if defined(POLARSSL_ECDSA_C)
-    if( pk_can_do( ssl->pk_key, POLARSSL_PK_ECDSA ) )
-    {
-        if( ssl->minor_ver == SSL_MINOR_VERSION_3 )
-            ssl->out_msg[5] = SSL_SIG_ECDSA;
-
-        if( ( ret = pk_sign( ssl->pk_key, md_alg, hash, hashlen,
-                             ssl->out_msg + 6 + offset, &n,
-                             ssl->f_rng, ssl->p_rng ) ) != 0 )
-        {
-            SSL_DEBUG_RET( 1, "pk_sign", ret );
-            return( ret );
-        }
-    }
-    else
-#endif /* POLARSSL_ECDSA_C */
-        /* should never happen */
-        return( POLARSSL_ERR_SSL_FEATURE_UNAVAILABLE );
 
     ssl->out_msg[4 + offset] = (unsigned char)( n >> 8 );
     ssl->out_msg[5 + offset] = (unsigned char)( n      );