summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog7
-rw-r--r--debian/patches/00list1
-rw-r--r--debian/patches/059_ssl_memleak_fix_PR44975.dpatch33
3 files changed, 41 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 866e75f7..d633aed8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+apache2 (2.2.8-4) unstable; urgency=high
+
+ * Urgency high for DoS vulnerability fix.
+ * Fix memory leak in mod_ssl with zlib compression.
+
+ -- Stefan Fritsch <sf@debian.org> Tue, 13 May 2008 22:31:37 +0200
+
apache2 (2.2.8-3) unstable; urgency=low
* mod_cache: Handle If-Range correctly if the cached resource was stale
diff --git a/debian/patches/00list b/debian/patches/00list
index d7da234a..41e8c487 100644
--- a/debian/patches/00list
+++ b/debian/patches/00list
@@ -21,3 +21,4 @@
055_htpasswd_salt_generation.dpatch
056_mod_cache_IfRange.dpatch
057_disablemods.dpatch
+059_ssl_memleak_fix_PR44975.dpatch
diff --git a/debian/patches/059_ssl_memleak_fix_PR44975.dpatch b/debian/patches/059_ssl_memleak_fix_PR44975.dpatch
new file mode 100644
index 00000000..82a826f5
--- /dev/null
+++ b/debian/patches/059_ssl_memleak_fix_PR44975.dpatch
@@ -0,0 +1,33 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: fix memleak in mod_ssl
+## DP: https://bugs.launchpad.net/ubuntu/+source/apache2/+bug/224945
+
+@DPATCH@
+--- trunk/modules/ssl/mod_ssl.c 2008/05/07 14:16:38 654118
++++ trunk/modules/ssl/mod_ssl.c 2008/05/07 14:17:31 654119
+@@ -218,17 +218,18 @@
+ #if HAVE_ENGINE_LOAD_BUILTIN_ENGINES
+ ENGINE_cleanup();
+ #endif
+-#ifdef HAVE_OPENSSL
+-#if OPENSSL_VERSION_NUMBER >= 0x00907001
+- CRYPTO_cleanup_all_ex_data();
+-#endif
+-#endif
+ ERR_remove_state(0);
+
+ /* Don't call ERR_free_strings here; ERR_load_*_strings only
+ * actually load the error strings once per process due to static
+ * variable abuse in OpenSSL. */
+
++ /* Also don't call CRYPTO_cleanup_all_ex_data here; any registered
++ * ex_data indices may have been cached in static variables in
++ * OpenSSL; removing them may cause havoc. Notably, with OpenSSL
++ * versions >= 0.9.8f, COMP_CTX cleanups would not be run, which
++ * could result in a per-connection memory leak (!). */
++
+ /*
+ * TODO: determine somewhere we can safely shove out diagnostics
+ * (when enabled) at this late stage in the game: