diff options
author | clement <clement@FreeBSD.org> | 2004-10-30 23:32:53 +0800 |
---|---|---|
committer | clement <clement@FreeBSD.org> | 2004-10-30 23:32:53 +0800 |
commit | 58f4c9f5c628c88e71e956be43dd6349675e0e89 (patch) | |
tree | 7ed5384472b9d34ba0e6e826aa742958ee758539 /www/apache2 | |
parent | ac83acbe300f664e871569ac973d891bbd868b51 (diff) | |
download | freebsd-ports-gnome-58f4c9f5c628c88e71e956be43dd6349675e0e89.tar.gz freebsd-ports-gnome-58f4c9f5c628c88e71e956be43dd6349675e0e89.tar.zst freebsd-ports-gnome-58f4c9f5c628c88e71e956be43dd6349675e0e89.zip |
util_ald_cache_purge() fails to relink the cache entries during a cache purge.
So apply the official patch
Diffstat (limited to 'www/apache2')
-rw-r--r-- | www/apache2/Makefile | 2 | ||||
-rw-r--r-- | www/apache2/files/patch-modules:experimental:util_ldap_cache_mgr.c | 50 |
2 files changed, 51 insertions, 1 deletions
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 {
|