Fix comments, add new test.
authorDr. Stephen Henson <steve@openssl.org>
Tue, 26 Aug 2014 00:20:26 +0000 (01:20 +0100)
committerDr. Stephen Henson <steve@openssl.org>
Thu, 28 Aug 2014 17:10:21 +0000 (18:10 +0100)
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 <emilia@openssl.org>
(cherry picked from commit f47e203975133ddbae3cde20c8c3c0516f62066c)

ssl/ssltest.c

index 960ed2a772bfc11a9edba5812cd61428c5a0c160..79b5da9da9915bf17750bb4e266bc60d26580010 100644 (file)
@@ -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 */
        }