Changeset c782c1f in mod_gnutls for src


Ignore:
Timestamp:
Jan 21, 2015, 3:41:51 AM (5 years ago)
Author:
Thomas Klute <thomas2.klute@…>
Branches:
debian/master, debian/stretch-backports, jessie-backports, master, upstream
Children:
c4ba972
Parents:
e8acf05
Message:

Don't do global deinit when disabling TLS for a proxy back end connection

Prior to this commit, ssl_engine_disable called mgs_cleanup_pre_config
on the connection pool before returning:

mgs_cleanup_pre_config(c->pool);

mgs_cleanup_pre_config does not even touch the argument, as its
signature shows.

apr_status_t mgs_cleanup_pre_config(void *data attribute((unused)));

It does, however, deinitialize the global session cache and, more
importantly, the global GnuTLS data structures. Trying to use those
deinitialized data structures led to segmentation faults during TLS
handshake.

Since there is no reason to globally deinitialize GnuTLS when disabling
TLS for one specific proxy back end connection, the solution is to
simply remove the call to mgs_cleanup_pre_config from
ssl_engine_disable.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/mod_gnutls.c

    re8acf05 rc782c1f  
    101101    if (c->output_filters)
    102102        ap_remove_output_filter(c->output_filters);
    103     mgs_cleanup_pre_config(c->pool);
     103
    104104    return 1;
    105105}
Note: See TracChangeset for help on using the changeset viewer.