]> granicus.if.org Git - apache/commit
mod_ssl: Fix forever-broken TLS upgrade support; perform the upgrade
authorJoe Orton <jorton@apache.org>
Tue, 6 Nov 2007 15:02:32 +0000 (15:02 +0000)
committerJoe Orton <jorton@apache.org>
Tue, 6 Nov 2007 15:02:32 +0000 (15:02 +0000)
commitc15016e058f3081bfbce0f1c1531cd70ef57124f
tree96f8ce82bc23bb163647880f4e971293d160650e
parent417e83da37ef925a18bc365398af1b148b38669e
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
CHANGES
modules/ssl/mod_ssl.c
modules/ssl/ssl_engine_io.c
modules/ssl/ssl_engine_kernel.c
modules/ssl/ssl_private.h