Make tls_session_secret_cb work with CVE-2014-0224 fix.
[openssl.git] / ssl / ssltest.c
index 036e2c43b3fa6beb96cb7c6c9c03348908d4f90b..31a033b1a9aaee34b512085473cda6c04005ba1d 100644 (file)
@@ -563,8 +563,8 @@ static int verify_serverinfo()
  */
 
 static int custom_ext_0_cli_first_cb(SSL *s, unsigned short ext_type,
-                               const unsigned char **out,
-                               unsigned short *outlen, int *al, void *arg)
+                                    const unsigned char **out,
+                                    unsigned short *outlen, int *al, void *arg)
        {
        if (ext_type != CUSTOM_EXT_TYPE_0)
                custom_ext_error = 1;
@@ -572,17 +572,16 @@ static int custom_ext_0_cli_first_cb(SSL *s, unsigned short ext_type,
        }
 
 static int custom_ext_0_cli_second_cb(SSL *s, unsigned short ext_type,
-                               const unsigned char *in,
-                               unsigned short inlen, int *al,
-                               void *arg)
+                                     const unsigned char *in,
+                                     unsigned short inlen, int *al,
+                                     void *arg)
        {
-       custom_ext_error = 1; /* Shouldn't be called */
-       return 0;
+       return 1;
        }
 
 static int custom_ext_1_cli_first_cb(SSL *s, unsigned short ext_type,
-                               const unsigned char **out,
-                               unsigned short *outlen, int *al, void *arg)
+                                    const unsigned char **out,
+                                    unsigned short *outlen, int *al, void *arg)
        {
        if (ext_type != CUSTOM_EXT_TYPE_1)
                custom_ext_error = 1;
@@ -592,17 +591,16 @@ static int custom_ext_1_cli_first_cb(SSL *s, unsigned short ext_type,
        }
 
 static int custom_ext_1_cli_second_cb(SSL *s, unsigned short ext_type,
-                               const unsigned char *in,
-                               unsigned short inlen, int *al,
-                               void *arg)
+                                     const unsigned char *in,
+                                     unsigned short inlen, int *al,
+                                     void *arg)
        {
-       custom_ext_error = 1; /* Shouldn't be called */
-       return 0;
+       return 1;
        }
 
 static int custom_ext_2_cli_first_cb(SSL *s, unsigned short ext_type,
-                               const unsigned char **out,
-                               unsigned short *outlen, int *al, void *arg)
+                                    const unsigned char **out,
+                                    unsigned short *outlen, int *al, void *arg)
        {
        if (ext_type != CUSTOM_EXT_TYPE_2)
                custom_ext_error = 1;
@@ -612,9 +610,9 @@ static int custom_ext_2_cli_first_cb(SSL *s, unsigned short ext_type,
        }
 
 static int custom_ext_2_cli_second_cb(SSL *s, unsigned short ext_type,
-                               const unsigned char *in,
-                               unsigned short inlen, int *al,
-                               void *arg)
+                                     const unsigned char *in,
+                                     unsigned short inlen, int *al,
+                                     void *arg)
        {
        if (ext_type != CUSTOM_EXT_TYPE_2)
                custom_ext_error = 1;
@@ -624,8 +622,8 @@ static int custom_ext_2_cli_second_cb(SSL *s, unsigned short ext_type,
        }
 
 static int custom_ext_3_cli_first_cb(SSL *s, unsigned short ext_type,
-                               const unsigned char **out,
-                               unsigned short *outlen, int *al, void *arg)
+                                    const unsigned char **out,
+                                    unsigned short *outlen, int *al, void *arg)
        {
        if (ext_type != CUSTOM_EXT_TYPE_3)
                custom_ext_error = 1;
@@ -635,9 +633,9 @@ static int custom_ext_3_cli_first_cb(SSL *s, unsigned short ext_type,
        }
 
 static int custom_ext_3_cli_second_cb(SSL *s, unsigned short ext_type,
-                               const unsigned char *in,
-                               unsigned short inlen, int *al,
-                               void *arg)
+                                     const unsigned char *in,
+                                     unsigned short inlen, int *al,
+                                     void *arg)
        {
        if (ext_type != CUSTOM_EXT_TYPE_3)
                custom_ext_error = 1;
@@ -648,20 +646,19 @@ static int custom_ext_3_cli_second_cb(SSL *s, unsigned short ext_type,
        return 1;
        }
 
-//custom_ext_0_cli_first_cb returns -1 - the server won't receive a callback for this extension
+/* custom_ext_0_cli_first_cb returns -1 - the server won't receive a callback for this extension */
 static int custom_ext_0_srv_first_cb(SSL *s, unsigned short ext_type,
-                               const unsigned char *in,
-                               unsigned short inlen, int *al,
-                               void *arg)
+                                    const unsigned char *in,
+                                    unsigned short inlen, int *al,
+                                    void *arg)
        {
-       custom_ext_error = 1;
-       return 0; /* Shouldn't be called */
+       return 1;
        }
 
-//'generate' callbacks are always called, even if the 'receive' callback isn't called
+/* 'generate' callbacks are always called, even if the 'receive' callback isn't called */
 static int custom_ext_0_srv_second_cb(SSL *s, unsigned short ext_type,
-                               const unsigned char **out,
-                               unsigned short *outlen, int *al, void *arg)
+                                     const unsigned char **out,
+                                     unsigned short *outlen, int *al, void *arg)
        {
         return -1; /* Don't send an extension */
        }
@@ -682,16 +679,16 @@ static int custom_ext_1_srv_first_cb(SSL *s, unsigned short ext_type,
        }
 
 static int custom_ext_1_srv_second_cb(SSL *s, unsigned short ext_type,
-                               const unsigned char **out,
-                               unsigned short *outlen, int *al, void *arg)
+                                     const unsigned char **out,
+                                     unsigned short *outlen, int *al, void *arg)
        {
        return -1; /* Don't send an extension */
        }
 
 static int custom_ext_2_srv_first_cb(SSL *s, unsigned short ext_type,
-                               const unsigned char *in,
-                               unsigned short inlen, int *al,
-                               void *arg)
+                                    const unsigned char *in,
+                                    unsigned short inlen, int *al,
+                                    void *arg)
        {
        if (ext_type != CUSTOM_EXT_TYPE_2)
                custom_ext_error = 1;           
@@ -704,8 +701,8 @@ static int custom_ext_2_srv_first_cb(SSL *s, unsigned short ext_type,
        }
 
 static int custom_ext_2_srv_second_cb(SSL *s, unsigned short ext_type,
-                               const unsigned char **out,
-                               unsigned short *outlen, int *al, void *arg)
+                                     const unsigned char **out,
+                                     unsigned short *outlen, int *al, void *arg)
        {
        *out = NULL;
        *outlen = 0;
@@ -713,9 +710,9 @@ static int custom_ext_2_srv_second_cb(SSL *s, unsigned short ext_type,
        }
 
 static int custom_ext_3_srv_first_cb(SSL *s, unsigned short ext_type,
-                               const unsigned char *in,
-                               unsigned short inlen, int *al,
-                               void *arg)
+                                    const unsigned char *in,
+                                    unsigned short inlen, int *al,
+                                    void *arg)
        {
        if (ext_type != CUSTOM_EXT_TYPE_3)
                custom_ext_error = 1;           
@@ -728,8 +725,8 @@ static int custom_ext_3_srv_first_cb(SSL *s, unsigned short ext_type,
        }
 
 static int custom_ext_3_srv_second_cb(SSL *s, unsigned short ext_type,
-                               const unsigned char **out,
-                               unsigned short *outlen, int *al, void *arg)
+                                     const unsigned char **out,
+                                     unsigned short *outlen, int *al, void *arg)
        {
        *out = (const unsigned char*)custom_ext_srv_string;
        *outlen = strlen(custom_ext_srv_string);
@@ -737,8 +734,8 @@ static int custom_ext_3_srv_second_cb(SSL *s, unsigned short ext_type,
        }
 
 static int supp_data_0_srv_first_cb(SSL *s, unsigned short supp_data_type,
-                               const unsigned char **out,
-                               unsigned short *outlen, int *al, void *arg)
+                                   const unsigned char **out,
+                                   unsigned short *outlen, int *al, void *arg)
        {
        *out = (const unsigned char*)supp_data_0_string;
        *outlen = strlen(supp_data_0_string);
@@ -748,9 +745,9 @@ static int supp_data_0_srv_first_cb(SSL *s, unsigned short supp_data_type,
        }
 
 static int supp_data_0_srv_second_cb(SSL *s, unsigned short supp_data_type,
-                               const unsigned char *in,
-                               unsigned short inlen, int *al,
-                               void *arg)
+                                    const unsigned char *in,
+                                    unsigned short inlen, int *al,
+                                    void *arg)
        {
        if (supp_data_type != CUSTOM_SUPP_DATA_TYPE_0)
                suppdata_error = 1;
@@ -764,16 +761,16 @@ static int supp_data_0_srv_second_cb(SSL *s, unsigned short supp_data_type,
        }
 
 static int supp_data_1_srv_first_cb(SSL *s, unsigned short supp_data_type,
-                               const unsigned char **out,
-                               unsigned short *outlen, int *al, void *arg)
+                                   const unsigned char **out,
+                                   unsigned short *outlen, int *al, void *arg)
        {
        return -1;
        }
 
 static int supp_data_1_srv_second_cb(SSL *s, unsigned short supp_data_type,
-                               const unsigned char *in,
-                               unsigned short inlen, int *al,
-                               void *arg)
+                                    const unsigned char *in,
+                                    unsigned short inlen, int *al,
+                                    void *arg)
        {
        suppdata_error = 1;
        return 1;
@@ -789,9 +786,9 @@ static int supp_data_2_srv_second_cb(SSL *s, unsigned short supp_data_type,
        }
 
 static int supp_data_0_cli_first_cb(SSL *s, unsigned short supp_data_type,
-                               const unsigned char *in,
-                               unsigned short inlen, int *al,
-                               void *arg)
+                                   const unsigned char *in,
+                                   unsigned short inlen, int *al,
+                                   void *arg)
        {
        if (supp_data_type != CUSTOM_SUPP_DATA_TYPE_0)
                suppdata_error = 1;
@@ -805,8 +802,8 @@ static int supp_data_0_cli_first_cb(SSL *s, unsigned short supp_data_type,
        }
 
 static int supp_data_0_cli_second_cb(SSL *s, unsigned short supp_data_type,
-                               const unsigned char **out,
-                               unsigned short *outlen, int *al, void *arg)
+                                    const unsigned char **out,
+                                    unsigned short *outlen, int *al, void *arg)
        {
        *out = (const unsigned char*)supp_data_0_string;
        *outlen = strlen(supp_data_0_string);
@@ -816,25 +813,25 @@ static int supp_data_0_cli_second_cb(SSL *s, unsigned short supp_data_type,
        }
 
 static int supp_data_1_cli_first_cb(SSL *s, unsigned short supp_data_type,
-                               const unsigned char *in,
-                               unsigned short inlen, int *al,
-                               void *arg)
+                                   const unsigned char *in,
+                                   unsigned short inlen, int *al,
+                                   void *arg)
        {
        suppdata_error = 1;
        return 1;
        }
 
 static int supp_data_1_cli_second_cb(SSL *s, unsigned short supp_data_type,
-                               const unsigned char **out,
-                               unsigned short *outlen, int *al, void *arg)
+                                    const unsigned char **out,
+                                    unsigned short *outlen, int *al, void *arg)
        {
        return -1;
        }
 
 static int supp_data_2_cli_first_cb(SSL *s, unsigned short supp_data_type,
-                               const unsigned char *in,
-                               unsigned short inlen, int *al,
-                               void *arg)
+                                   const unsigned char *in,
+                                   unsigned short inlen, int *al,
+                                   void *arg)
        {
        suppdata_error = 1;
        return 1;
@@ -1510,6 +1507,11 @@ bad:
                ERR_print_errors(bio_err);
                goto end;
                }
+       /* Since we will use low security ciphersuites and keys for
+        * testing set security level to zero.
+        */
+       SSL_CTX_set_security_level(c_ctx, 0);
+       SSL_CTX_set_security_level(s_ctx, 0);
 
        if (cipher != NULL)
                {