mod_ssl: Fix forever-broken TLS upgrade support; perform the upgrade
in the post_read_request hook rather than in a filter, and fix the filter insertion issue: * modules/ssl/ssl_engine_kernel.c (upgrade_connection): New function, mostly moved from ssl_io_filter_Upgrade. (ssl_hook_ReadReq): Call upgrade_connection to upgrade to TLS if required. * modules/ssl/ssl_engine_io.c (ssl_io_filter_Upgrade): Remove function. (ssl_io_input_add_filter, ssl_io_filter_init): Take a request_rec pointer and pass to ap_add_*_filter to ensure the filter chain is modified correctly; remove it from the filter afterwards. (ssl_io_filter_register): Drop UPGRADE_FILTER registration. * modules/ssl/mod_ssl.c (ssl_init_ssl_connection): Take a request_rec pointer, pass to ssl_io_filter_init. (ssl_hook_pre_connection): Pass NULL request_rec pointer to above. (ssl_hook_Insert_Filter): Remove function. (ssl_register_hooks): Drop insert_filter hook. * modules/ssl/ssl_private.h: Update prototypes. PR: 41231 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@592446 13f79535-47bb-0310-9956-ffa450edef68
parent
0442db04
Please register or sign in to comment