summaryrefslogtreecommitdiff
path: root/www/apache22/patches/patch-ab
diff options
context:
space:
mode:
Diffstat (limited to 'www/apache22/patches/patch-ab')
-rw-r--r--www/apache22/patches/patch-ab53
1 files changed, 53 insertions, 0 deletions
diff --git a/www/apache22/patches/patch-ab b/www/apache22/patches/patch-ab
new file mode 100644
index 00000000000..04390375023
--- /dev/null
+++ b/www/apache22/patches/patch-ab
@@ -0,0 +1,53 @@
+$NetBSD: patch-ab,v 1.4 2007/12/04 12:08:45 abs Exp $
+
+# apache SVN revision 574884 to fix garbage characters in Server header
+# http://issues.apache.org/bugzilla/show_bug.cgi?id=43334
+
+--- modules/ssl/ssl_engine_vars.c.orig 2007-08-28 14:40:01.000000000 +0100
++++ modules/ssl/ssl_engine_vars.c
+@@ -49,7 +49,7 @@ static char *ssl_var_lookup_ssl_cert_PEM
+ static char *ssl_var_lookup_ssl_cert_verify(apr_pool_t *p, conn_rec *c);
+ static char *ssl_var_lookup_ssl_cipher(apr_pool_t *p, conn_rec *c, char *var);
+ static void ssl_var_lookup_ssl_cipher_bits(SSL *ssl, int *usekeysize, int *algkeysize);
+-static char *ssl_var_lookup_ssl_version(apr_pool_t *p, char *var);
++static char *ssl_var_lookup_ssl_version(apr_pool_t *pp, apr_pool_t *p, char *var);
+ static char *ssl_var_lookup_ssl_compress_meth(SSL *ssl);
+
+ static int ssl_is_https(conn_rec *c)
+@@ -190,7 +190,7 @@ char *ssl_var_lookup(apr_pool_t *p, serv
+ */
+ if (result == NULL) {
+ if (strlen(var) > 12 && strcEQn(var, "SSL_VERSION_", 12))
+- result = ssl_var_lookup_ssl_version(p, var+12);
++ result = ssl_var_lookup_ssl_version(s->process->pool, p, var+12);
+ else if (strcEQ(var, "SERVER_SOFTWARE"))
+ result = ap_get_server_banner();
+ else if (strcEQ(var, "API_VERSION")) {
+@@ -262,7 +262,8 @@ static char *ssl_var_lookup_ssl(apr_pool
+
+ ssl = sslconn->ssl;
+ if (strlen(var) > 8 && strcEQn(var, "VERSION_", 8)) {
+- result = ssl_var_lookup_ssl_version(p, var+8);
++ result = ssl_var_lookup_ssl_version(c->base_server->process->pool,
++ p, var+8);
+ }
+ else if (ssl != NULL && strcEQ(var, "PROTOCOL")) {
+ result = (char *)SSL_get_version(ssl);
+@@ -633,7 +634,7 @@ static void ssl_var_lookup_ssl_cipher_bi
+ return;
+ }
+
+-static char *ssl_var_lookup_ssl_version(apr_pool_t *p, char *var)
++static char *ssl_var_lookup_ssl_version(apr_pool_t *pp, apr_pool_t *p, char *var)
+ {
+ static char interface[] = "mod_ssl/" MOD_SSL_VERSION;
+ static char library_interface[] = SSL_LIBRARY_TEXT;
+@@ -642,7 +643,7 @@ static char *ssl_var_lookup_ssl_version(
+
+ if (!library) {
+ char *cp, *cp2;
+- library = apr_pstrdup(p, SSL_LIBRARY_DYNTEXT);
++ library = apr_pstrdup(pp, SSL_LIBRARY_DYNTEXT);
+ if ((cp = strchr(library, ' ')) != NULL) {
+ *cp = '/';
+ if ((cp2 = strchr(cp, ' ')) != NULL)