disable AES ciphersuites unless explicitly requested
[openssl.git] / ssl / s2_lib.c
index 9b40059cf1f8fbb05dba18f5261e2d9c3313bc10..bce2b4e83f2e6b5c426219be6fed8c02580791d8 100644 (file)
@@ -330,7 +330,7 @@ void ssl2_clear(SSL *s)
        s->packet_length=0;
        }
 
-long ssl2_ctrl(SSL *s, int cmd, long larg, char *parg)
+long ssl2_ctrl(SSL *s, int cmd, long larg, void *parg)
        {
        int ret=0;
 
@@ -350,7 +350,7 @@ long ssl2_callback_ctrl(SSL *s, int cmd, void (*fp)())
        return(0);
        }
 
-long ssl2_ctx_ctrl(SSL_CTX *ctx, int cmd, long larg, char *parg)
+long ssl2_ctx_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
        {
        return(0);
        }
@@ -428,14 +428,14 @@ void ssl2_generate_key_material(SSL *s)
        km=s->s2->key_material;
        for (i=0; i<s->s2->key_material_length; i+=MD5_DIGEST_LENGTH)
                {
-               EVP_DigestInit(&ctx,EVP_md5());
+               EVP_DigestInit_ex(&ctx,EVP_md5(), NULL);
 
                EVP_DigestUpdate(&ctx,s->session->master_key,s->session->master_key_length);
                EVP_DigestUpdate(&ctx,&c,1);
                c++;
                EVP_DigestUpdate(&ctx,s->s2->challenge,s->s2->challenge_length);
                EVP_DigestUpdate(&ctx,s->s2->conn_id,s->s2->conn_id_length);
-               EVP_DigestFinal(&ctx,km,NULL);
+               EVP_DigestFinal_ex(&ctx,km,NULL);
                km+=MD5_DIGEST_LENGTH;
                }
        EVP_MD_CTX_cleanup(&ctx);
@@ -470,10 +470,14 @@ void ssl2_write_error(SSL *s)
 
        if (i < 0)
                s->error=error;
-       else if (i != s->error)
+       else
+               {
                s->error=error-i;
-       /* else
-               s->error=0; */
+
+               if (s->error == 0)
+                       if (s->msg_callback)
+                               s->msg_callback(1, s->version, 0, buf, 3, s, s->msg_callback_arg); /* ERROR */
+               }
        }
 
 int ssl2_shutdown(SSL *s)