From 35c315d2f3b762d63525014b173c9747ef75bb8b Mon Sep 17 00:00:00 2001 From: Hakase Date: Fri, 14 Sep 2018 11:08:29 +0900 Subject: [PATCH] Latest update - 34f5c8b1 --- apps/s_server.c | 5 +++++ crypto/evp/pmeth_lib.c | 6 +++--- doc/man1/s_server.pod | 14 +++++++++----- test/ct_test.c | 4 ++-- 4 files changed, 19 insertions(+), 10 deletions(-) diff --git a/apps/s_server.c b/apps/s_server.c index e3bb1a67..6f2a2ae8 100644 --- a/apps/s_server.c +++ b/apps/s_server.c @@ -1622,6 +1622,11 @@ int s_server_main(int argc, char *argv[]) goto end; } #endif + if (early_data && (www > 0 || rev)) { + BIO_printf(bio_err, + "Can't use -early_data in combination with -www, -WWW, -HTTP, or -rev\n"); + goto end; + } #ifndef OPENSSL_NO_SCTP if (protocol == IPPROTO_SCTP) { diff --git a/crypto/evp/pmeth_lib.c b/crypto/evp/pmeth_lib.c index 633cb886..7fbf895e 100644 --- a/crypto/evp/pmeth_lib.c +++ b/crypto/evp/pmeth_lib.c @@ -837,21 +837,21 @@ void EVP_PKEY_meth_get_ctrl(const EVP_PKEY_METHOD *pmeth, void EVP_PKEY_meth_get_check(const EVP_PKEY_METHOD *pmeth, int (**pcheck) (EVP_PKEY *pkey)) { - if (*pcheck) + if (pcheck != NULL) *pcheck = pmeth->check; } void EVP_PKEY_meth_get_public_check(const EVP_PKEY_METHOD *pmeth, int (**pcheck) (EVP_PKEY *pkey)) { - if (*pcheck) + if (pcheck != NULL) *pcheck = pmeth->public_check; } void EVP_PKEY_meth_get_param_check(const EVP_PKEY_METHOD *pmeth, int (**pcheck) (EVP_PKEY *pkey)) { - if (*pcheck) + if (pcheck != NULL) *pcheck = pmeth->param_check; } diff --git a/doc/man1/s_server.pod b/doc/man1/s_server.pod index 07016fc4..f4c4eda3 100644 --- a/doc/man1/s_server.pod +++ b/doc/man1/s_server.pod @@ -405,13 +405,14 @@ Inhibit printing of session and certificate information. Sends a status message back to the client when it connects. This includes information about the ciphers used and various session parameters. The output is in HTML format so this option will normally be used with a -web browser. +web browser. Cannot be used in conjunction with B<-early_data>. =item B<-WWW> Emulates a simple web server. Pages will be resolved relative to the current directory, for example if the URL https://myhost/page.html is -requested the file ./page.html will be loaded. +requested the file ./page.html will be loaded. Cannot be used in conjunction +with B<-early_data>. =item B<-tlsextdebug> @@ -423,7 +424,8 @@ Emulates a simple web server. Pages will be resolved relative to the current directory, for example if the URL https://myhost/page.html is requested the file ./page.html will be loaded. The files loaded are assumed to contain a complete and correct HTTP response (lines that -are part of the HTTP response line and headers must end with CRLF). +are part of the HTTP response line and headers must end with CRLF). Cannot be +used in conjunction with B<-early_data>. =item B<-id_prefix val> @@ -488,7 +490,8 @@ output. =item B<-rev> Simple test server which just reverses the text received from the client -and sends it back to the server. Also sets B<-brief>. +and sends it back to the server. Also sets B<-brief>. Cannot be used in +conjunction with B<-early_data>. =item B<-async> @@ -711,7 +714,8 @@ greater than or equal to 0. =item B<-early_data> -Accept early data where possible. +Accept early data where possible. Cannot be used in conjunction with B<-www>, +B<-WWW>, B<-HTTP> or B<-rev>. =item B<-anti_replay>, B<-no_anti_replay> diff --git a/test/ct_test.c b/test/ct_test.c index ce99f422..de374764 100644 --- a/test/ct_test.c +++ b/test/ct_test.c @@ -500,8 +500,8 @@ static int test_default_ct_policy_eval_ctx_time_is_now(void) { int success = 0; CT_POLICY_EVAL_CTX *ct_policy_ctx = CT_POLICY_EVAL_CTX_new(); - const time_t default_time = CT_POLICY_EVAL_CTX_get_time(ct_policy_ctx) / - 1000; + const time_t default_time = + (time_t)(CT_POLICY_EVAL_CTX_get_time(ct_policy_ctx) / 1000); const time_t time_tolerance = 600; /* 10 minutes */ if (!TEST_time_t_le(abs((int)difftime(time(NULL), default_time)),