Revert my earlier CRYPTO_THREADID commit, I will commit a reworked
[openssl.git] / ssl / ssltest.c
index 0d611161ab954f46fa90d10915cf770a40bf0c68..83a571d69bbc952ed45d6befe95d4a58c04816cd 100644 (file)
@@ -422,6 +422,25 @@ static void lock_dbg_cb(int mode, int type, const char *file, int line)
                }
        }
 
+#ifdef TLSEXT_TYPE_opaque_prf_input
+struct cb_info_st { void *input; size_t len; int ret; };
+struct cb_info_st co1 = { "C", 1, 1 }; /* try to negotiate oqaque PRF input */
+struct cb_info_st co2 = { "C", 1, 2 }; /* insist on oqaque PRF input */
+struct cb_info_st so1 = { "S", 1, 1 }; /* try to negotiate oqaque PRF input */
+struct cb_info_st so2 = { "S", 1, 2 }; /* insist on oqaque PRF input */
+
+int opaque_prf_input_cb(SSL *ssl, void *peerinput, size_t len, void *arg_)
+       {
+       struct cb_info_st *arg = arg_;
+
+       if (arg == NULL)
+               return 1;
+       
+       if (!SSL_set_tlsext_opaque_prf_input(ssl, arg->input, arg->len))
+               return 0;
+       return arg->ret;
+       }
+#endif
 
 int main(int argc, char *argv[])
        {
@@ -470,7 +489,7 @@ int main(int argc, char *argv[])
        debug = 0;
        cipher = 0;
 
-       bio_err=BIO_new_fp(stderr,BIO_NOCLOSE); 
+       bio_err=BIO_new_fp(stderr,BIO_NOCLOSE|BIO_FP_TEXT);     
 
        CRYPTO_set_locking_callback(lock_dbg_cb);
 
@@ -489,7 +508,7 @@ int main(int argc, char *argv[])
 
        RAND_seed(rnd_seed, sizeof rnd_seed);
 
-       bio_stdout=BIO_new_fp(stdout,BIO_NOCLOSE);
+       bio_stdout=BIO_new_fp(stdout,BIO_NOCLOSE|BIO_FP_TEXT);
 
        argc--;
        argv++;
@@ -836,6 +855,13 @@ bad:
        SSL_CTX_set_tmp_rsa_callback(s_ctx,tmp_rsa_cb);
 #endif
 
+#ifdef TLSEXT_TYPE_opaque_prf_input
+       SSL_CTX_set_tlsext_opaque_prf_input_callback(c_ctx, opaque_prf_input_cb);
+       SSL_CTX_set_tlsext_opaque_prf_input_callback(s_ctx, opaque_prf_input_cb);
+       SSL_CTX_set_tlsext_opaque_prf_input_callback_arg(c_ctx, &co1); /* or &co2 or NULL */
+       SSL_CTX_set_tlsext_opaque_prf_input_callback_arg(s_ctx, &so1); /* or &so2 or NULL */
+#endif
+
        if (!SSL_CTX_use_certificate_file(s_ctx,server_cert,SSL_FILETYPE_PEM))
                {
                ERR_print_errors(bio_err);
@@ -2350,7 +2376,7 @@ static unsigned int psk_client_callback(SSL *ssl, const char *hint, char *identi
        int ret;
        unsigned int psk_len = 0;
 
-       ret = snprintf(identity, max_identity_len, "Client_identity");
+       ret = BIO_snprintf(identity, max_identity_len, "Client_identity");
        if (ret < 0)
                goto out_err;
        if (debug)