diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2014-08-16 18:16:26 +0100 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2014-08-28 18:10:21 +0100 |
commit | 6db2239c608a3d434238e0ca64ff962711bed190 (patch) | |
tree | 578608cabcc5142a7a5b495ab2647c1e28865e70 /ssl/t1_lib.c | |
parent | 423ceb831903339b589ea7b94c877ed190a7cb64 (diff) |
New extension callback features.
Support separate parse and add callback arguments.
Add new callback so an application can free extension data.
Change return value for send functions so < 0 is an error 0
omits extension and > 0 includes it. This is more consistent
with the behaviour of other functions in OpenSSL.
Modify parse_cb handling so <= 0 is an error.
Make SSL_CTX_set_custom_cli_ext and SSL_CTX_set_custom_cli_ext argument
order consistent.
NOTE: these changes WILL break existing code.
Remove (now inaccurate) in line documentation.
Reviewed-by: Emilia Käsper <emilia@openssl.org>
(cherry picked from commit 33f653adf3bff5b0795e22de1f54b7c5472252d0)
Diffstat (limited to 'ssl/t1_lib.c')
-rw-r--r-- | ssl/t1_lib.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c index bbb478d05a..aaf76d7963 100644 --- a/ssl/t1_lib.c +++ b/ssl/t1_lib.c @@ -2383,7 +2383,7 @@ static int ssl_scan_clienthello_tlsext(SSL *s, unsigned char **p, unsigned char */ else if (!s->hit) { - if (!custom_ext_parse(s, 1, type, data, size, al)) + if (custom_ext_parse(s, 1, type, data, size, al) <= 0) return 0; } @@ -2711,7 +2711,7 @@ static int ssl_scan_serverhello_tlsext(SSL *s, unsigned char **p, unsigned char /* If this extension type was not otherwise handled, but * matches a custom_cli_ext_record, then send it to the c * callback */ - else if (!custom_ext_parse(s, 0, type, data, size, al)) + else if (custom_ext_parse(s, 0, type, data, size, al) <= 0) return 0; data += size; |