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>
This commit is contained in:
@@ -921,8 +921,10 @@ static int serverinfo_process_buffer(const unsigned char *serverinfo,
|
||||
/* Register callbacks for extensions */
|
||||
ext_type = (serverinfo[0] << 8) + serverinfo[1];
|
||||
if (ctx && !SSL_CTX_set_custom_srv_ext(ctx, ext_type,
|
||||
serverinfo_srv_parse_cb,
|
||||
serverinfo_srv_add_cb, NULL))
|
||||
serverinfo_srv_add_cb,
|
||||
NULL, NULL,
|
||||
serverinfo_srv_parse_cb,
|
||||
NULL))
|
||||
return 0;
|
||||
|
||||
serverinfo += 2;
|
||||
|
Reference in New Issue
Block a user