From: Dr. Stephen Henson Date: Tue, 26 Aug 2014 00:20:26 +0000 (+0100) Subject: Fix comments, add new test. X-Git-Tag: OpenSSL_1_0_2-beta3~74 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=f9784baf0e36a3f26093af199480b263d7b5ae72;p=oweals%2Fopenssl.git Fix comments, add new test. Fix comments in ssltest.c: return value of 0 now means extension is omitted and add_cb is not called for servers if the corresponding extension is absent in ClientHello. Test add_cb is not called if extension is not received. Reviewed-by: Emilia Käsper (cherry picked from commit f47e203975133ddbae3cde20c8c3c0516f62066c) --- diff --git a/ssl/ssltest.c b/ssl/ssltest.c index 960ed2a772..79b5da9da9 100644 --- a/ssl/ssltest.c +++ b/ssl/ssltest.c @@ -561,20 +561,23 @@ static int custom_ext_3_cli_parse_cb(SSL *s, unsigned int ext_type, return 1; } -/* custom_ext_0_cli_parse_cb returns -1 - the server won't receive a callback for this extension */ +/* custom_ext_0_cli_add_cb returns 0 - the server won't receive a callback for this extension */ static int custom_ext_0_srv_parse_cb(SSL *s, unsigned int ext_type, const unsigned char *in, size_t inlen, int *al, void *arg) { + custom_ext_error = 1; return 1; } -/* 'generate' callbacks are always called, even if the 'receive' callback isn't called */ +/* 'add' callbacks are only called if the 'parse' callback is called */ static int custom_ext_0_srv_add_cb(SSL *s, unsigned int ext_type, const unsigned char **out, size_t *outlen, int *al, void *arg) { + /* Error: should not have been called */ + custom_ext_error = 1; return 0; /* Don't send an extension */ }