From 9641be2aac79ada32751d044182a2655e9592356 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Fri, 10 Feb 2012 19:43:14 +0000 Subject: [PATCH] PR: 2714 Submitted by: Tomas Mraz Make no-srp work. --- apps/progs.h | 6 +++--- apps/progs.pl | 2 ++ apps/s_server.c | 9 ++++++++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/apps/progs.h b/apps/progs.h index e91b884a9c..949e78066b 100644 --- a/apps/progs.h +++ b/apps/progs.h @@ -44,9 +44,9 @@ extern int smime_main(int argc,char *argv[]); extern int rand_main(int argc,char *argv[]); extern int engine_main(int argc,char *argv[]); extern int ocsp_main(int argc,char *argv[]); -extern int srp_main(int argc,char *argv[]); extern int prime_main(int argc,char *argv[]); extern int ts_main(int argc,char *argv[]); +extern int srp_main(int argc,char *argv[]); #define FUNC_TYPE_GENERAL 1 #define FUNC_TYPE_MD 2 @@ -146,11 +146,11 @@ FUNCTION functions[] = { #ifndef OPENSSL_NO_OCSP {FUNC_TYPE_GENERAL,"ocsp",ocsp_main}, #endif + {FUNC_TYPE_GENERAL,"prime",prime_main}, + {FUNC_TYPE_GENERAL,"ts",ts_main}, #ifndef OPENSSL_NO_SRP {FUNC_TYPE_GENERAL,"srp",srp_main}, #endif - {FUNC_TYPE_GENERAL,"prime",prime_main}, - {FUNC_TYPE_GENERAL,"ts",ts_main}, #ifndef OPENSSL_NO_MD2 {FUNC_TYPE_MD,"md2",dgst_main}, #endif diff --git a/apps/progs.pl b/apps/progs.pl index de6fdeabbd..39ca8f71fb 100644 --- a/apps/progs.pl +++ b/apps/progs.pl @@ -51,6 +51,8 @@ foreach (@ARGV) { print "#ifndef OPENSSL_NO_CMS\n${str}#endif\n"; } elsif ( ($_ =~ /^ocsp$/)) { print "#ifndef OPENSSL_NO_OCSP\n${str}#endif\n"; } + elsif ( ($_ =~ /^srp$/)) + { print "#ifndef OPENSSL_NO_SRP\n${str}#endif\n"; } else { print $str; } } diff --git a/apps/s_server.c b/apps/s_server.c index 92bd28b8e3..de737807b7 100644 --- a/apps/s_server.c +++ b/apps/s_server.c @@ -2275,6 +2275,7 @@ static int sv_body(char *hostname, int s, unsigned char *context) { static count=0; if (++count == 100) { count=0; SSL_renegotiate(con); } } #endif k=SSL_write(con,&(buf[l]),(unsigned int)i); +#ifndef OPENSSL_NO_SRP while (SSL_get_error(con,k) == SSL_ERROR_WANT_X509_LOOKUP) { BIO_printf(bio_s_out,"LOOKUP renego during write\n"); @@ -2285,6 +2286,7 @@ static int sv_body(char *hostname, int s, unsigned char *context) BIO_printf(bio_s_out,"LOOKUP not successful\n"); k=SSL_write(con,&(buf[l]),(unsigned int)i); } +#endif switch (SSL_get_error(con,k)) { case SSL_ERROR_NONE: @@ -2332,6 +2334,7 @@ static int sv_body(char *hostname, int s, unsigned char *context) { again: i=SSL_read(con,(char *)buf,bufsize); +#ifndef OPENSSL_NO_SRP while (SSL_get_error(con,i) == SSL_ERROR_WANT_X509_LOOKUP) { BIO_printf(bio_s_out,"LOOKUP renego during read\n"); @@ -2342,6 +2345,7 @@ again: BIO_printf(bio_s_out,"LOOKUP not successful\n"); i=SSL_read(con,(char *)buf,bufsize); } +#endif switch (SSL_get_error(con,i)) { case SSL_ERROR_NONE: @@ -2419,6 +2423,7 @@ static int init_ssl_connection(SSL *con) i=SSL_accept(con); +#ifndef OPENSSL_NO_SRP while (i <= 0 && SSL_get_error(con,i) == SSL_ERROR_WANT_X509_LOOKUP) { BIO_printf(bio_s_out,"LOOKUP during accept %s\n",srp_callback_parm.login); @@ -2429,6 +2434,7 @@ static int init_ssl_connection(SSL *con) BIO_printf(bio_s_out,"LOOKUP not successful\n"); i=SSL_accept(con); } +#endif if (i <= 0) { if (BIO_sock_should_retry(i)) @@ -2649,6 +2655,7 @@ static int www_body(char *hostname, int s, unsigned char *context) if (hack) { i=SSL_accept(con); +#ifndef OPENSSL_NO_SRP while (i <= 0 && SSL_get_error(con,i) == SSL_ERROR_WANT_X509_LOOKUP) { BIO_printf(bio_s_out,"LOOKUP during accept %s\n",srp_callback_parm.login); @@ -2659,7 +2666,7 @@ static int www_body(char *hostname, int s, unsigned char *context) BIO_printf(bio_s_out,"LOOKUP not successful\n"); i=SSL_accept(con); } - +#endif switch (SSL_get_error(con,i)) { case SSL_ERROR_NONE: -- 2.25.1