diff options
Diffstat (limited to 'www/apache22/patches/patch-ab')
-rw-r--r-- | www/apache22/patches/patch-ab | 53 |
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) |