From fa4c5a2a41bacb877edcd0e690da4d3f01b1d2ce Mon Sep 17 00:00:00 2001 From: Clement Laforet Date: Sat, 30 Oct 2004 15:32:53 +0000 Subject: util_ald_cache_purge() fails to relink the cache entries during a cache purge. So apply the official patch --- www/apache2/Makefile | 2 +- ...atch-modules:experimental:util_ldap_cache_mgr.c | 50 ++++++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 www/apache2/files/patch-modules:experimental:util_ldap_cache_mgr.c (limited to 'www/apache2') diff --git a/www/apache2/Makefile b/www/apache2/Makefile index ab6256cf320c..63695e3a274b 100644 --- a/www/apache2/Makefile +++ b/www/apache2/Makefile @@ -9,7 +9,7 @@ PORTNAME= apache PORTVERSION= 2.0.52 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= www MASTER_SITES= ${MASTER_SITE_APACHE_HTTPD} \ ${MASTER_SITE_LOCAL:S/%SUBDIR%/clement/}:powerlogo diff --git a/www/apache2/files/patch-modules:experimental:util_ldap_cache_mgr.c b/www/apache2/files/patch-modules:experimental:util_ldap_cache_mgr.c new file mode 100644 index 000000000000..e2df23d4921f --- /dev/null +++ b/www/apache2/files/patch-modules:experimental:util_ldap_cache_mgr.c @@ -0,0 +1,50 @@ +Index: modules/experimental/util_ldap_cache_mgr.c +=================================================================== +RCS file: /home/cvs/httpd-2.0/modules/experimental/Attic/util_ldap_cache_mgr.c,v +retrieving revision 1.3.2.13 +diff -u -r1.3.2.13 util_ldap_cache_mgr.c +--- modules/experimental/util_ldap_cache_mgr.c 23 Sep 2004 16:55:37 -0000 1.3.2.13 ++++ modules/experimental/util_ldap_cache_mgr.c 24 Sep 2004 16:40:23 -0000 +@@ -173,7 +173,7 @@ + void util_ald_cache_purge(util_ald_cache_t *cache) + { + unsigned long i; +- util_cache_node_t *p, *q; ++ util_cache_node_t *p, *q, **pp; + apr_time_t t; + + if (!cache) +@@ -184,7 +184,8 @@ + cache->numpurges++; + + for (i=0; i < cache->size; ++i) { +- p = cache->nodes[i]; ++ pp = cache->nodes + i; ++ p = *pp; + while (p != NULL) { + if (p->add_time < cache->marktime) { + q = p->next; +@@ -192,10 +193,11 @@ + util_ald_free(cache, p); + cache->numentries--; + cache->npurged++; +- p = q; ++ p = *pp = q; + } + else { +- p = p->next; ++ pp = &(p->next); ++ p = *pp; + } + } + } +@@ -687,6 +689,9 @@ + break; + } + ++ } ++ else { ++ buf = ""; + } + } + else { -- cgit v1.2.3