diff -ruN squid-2.5.STABLE7-RC3/ChangeLog squid-2.5.STABLE7/ChangeLog
--- squid-2.5.STABLE7-RC3/ChangeLog	Tue Oct  5 16:43:26 2004
+++ squid-2.5.STABLE7/ChangeLog	Mon Oct 11 14:11:48 2004
@@ -1,4 +1,4 @@
-Changes to squid-2.5.STABLE7 ()
+Changes to squid-2.5.STABLE7 (11 Oct 2004)
 
 	- [Medium] No objects cached in ufs cache_dir type in some
 	  configurations. Issue introduced in 2.5.STABLE6 by the patch for
@@ -56,10 +56,11 @@
 	- [Minor] New balance_on_multiple_ip directive to work around certain
 	  broken load balancers and optimized ipcache on reload requests
 	  (Bug #1058)
-	- [Medium] Odd things happens on large http reply headers
+	- [Medium] New reply_header_max_size directive
 	  (Bug #874)
 	- [Minor] Suspected instability on aborted PUT/POST requests
 	  (Bug #1089)
+	- [Security] SNMP Denial of Service fix (CAN-2004-0918)
 
 Changes to squid-2.5.STABLE6 (9 Jul 2004)
 
diff -ruN squid-2.5.STABLE7-RC3/RELEASENOTES.html squid-2.5.STABLE7/RELEASENOTES.html
--- squid-2.5.STABLE7-RC3/RELEASENOTES.html	Tue Oct  5 16:58:15 2004
+++ squid-2.5.STABLE7/RELEASENOTES.html	Mon Oct 11 14:27:12 2004
@@ -7,7 +7,7 @@
 <BODY>
 <H1>Squid 2.5 release notes</H1>
 
-<H2>Squid Developers</H2>$Id: release-2.5.html,v 1.1.2.38 2004/10/05 22:43:26 hno Exp $
+<H2>Squid Developers</H2>$Id: release-2.5.html,v 1.1.2.39 2004/10/11 20:13:43 hno Exp $
 <HR>
 <EM>This document contains the release notes for version 2.5 of Squid.
 Squid is a WWW Cache application developed by the National Laboratory
@@ -299,6 +299,7 @@
 
 <P>
 <UL>
+<LI>SNMP related Denial of Service issue corrected (CAN-2004-0918)</LI>
 <LI>NTLM related bugfix noticed by the Samba group</LI>
 <LI>UFS cache_dir bugfix to issue introduced in STABLE6 causing
 no objects to get cached in some configurations.</LI>
diff -ruN squid-2.5.STABLE7-RC3/configure squid-2.5.STABLE7/configure
--- squid-2.5.STABLE7-RC3/configure	Tue Oct  5 16:58:02 2004
+++ squid-2.5.STABLE7/configure	Mon Oct 11 14:27:03 2004
@@ -1000,7 +1000,7 @@
 
 # Define the identity of the package.
 PACKAGE=squid
-VERSION=2.5.STABLE7-RC3
+VERSION=2.5.STABLE7
 cat >> confdefs.h <<EOF
 #define PACKAGE "$PACKAGE"
 EOF
@@ -1051,7 +1051,7 @@
 
   
 
-# From configure.in Revision: 1.251.2.68 
+# From configure.in Revision: 1.251.2.73 
 echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
 echo "configure:1057: checking whether to enable maintainer-specific portions of Makefiles" >&5
     # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
@@ -1535,7 +1535,7 @@
     fi
   done
   IFS="$ac_save_ifs"
-  test -z "$ac_cv_path_PKGCONFIG" && ac_cv_path_PKGCONFIG="/usr/bin/false"
+  test -z "$ac_cv_path_PKGCONFIG" && ac_cv_path_PKGCONFIG="false"
   ;;
 esac
 fi
@@ -2275,7 +2275,7 @@
 	    ;;
 	*-solaris-*)
 	    ;;
-	*-freebsd-*)
+	*-freebsd*)
 	    ;;
 	*)
 	    echo "WARNING: ARP ACL support probably won't work on $host."
diff -ruN squid-2.5.STABLE7-RC3/configure.in squid-2.5.STABLE7/configure.in
--- squid-2.5.STABLE7-RC3/configure.in	Tue Oct  5 16:58:02 2004
+++ squid-2.5.STABLE7/configure.in	Mon Oct 11 14:27:03 2004
@@ -3,15 +3,15 @@
 dnl
 dnl  Duane Wessels, wessels@nlanr.net, February 1996 (autoconf v2.9)
 dnl
-dnl  $Id: configure.in,v 1.251.2.68 2004/10/05 22:45:56 hno Exp $
+dnl  $Id: configure.in,v 1.251.2.73 2004/10/11 20:13:43 hno Exp $
 dnl
 dnl
 dnl
 AC_INIT(src/main.c)
 AC_CONFIG_AUX_DIR(cfgaux)
-AM_INIT_AUTOMAKE(squid, 2.5.STABLE7-RC3)
+AM_INIT_AUTOMAKE(squid, 2.5.STABLE7)
 AM_CONFIG_HEADER(include/autoconf.h)
-AC_REVISION($Revision: 1.251.2.68 $)dnl
+AC_REVISION($Revision: 1.251.2.73 $)dnl
 AC_PREFIX_DEFAULT(/usr/local/squid)
 AM_MAINTAINER_MODE
 
@@ -33,7 +33,7 @@
 LIBREGEX=''	# libregex.a
 
 dnl Check for pkg-config
-AC_PATH_PROG(PKGCONFIG, pkg-config, /usr/bin/false)
+AC_PATH_PROG(PKGCONFIG, pkg-config, false)
 
 dnl find out the exe extension for this platform. If it's not empty, use it for CGI's as well.
 AC_EXEEXT
@@ -537,7 +537,7 @@
 	    ;;
 	*-solaris-*)
 	    ;;
-	*-freebsd-*)
+	*-freebsd*)
 	    ;;
 	*)
 	    echo "WARNING: ARP ACL support probably won't work on $host."
diff -ruN squid-2.5.STABLE7-RC3/include/version.h squid-2.5.STABLE7/include/version.h
--- squid-2.5.STABLE7-RC3/include/version.h	Tue Oct  5 16:58:02 2004
+++ squid-2.5.STABLE7/include/version.h	Mon Oct 11 14:27:03 2004
@@ -9,5 +9,5 @@
  */
 
 #ifndef SQUID_RELEASE_TIME
-#define SQUID_RELEASE_TIME 1097017079
+#define SQUID_RELEASE_TIME 1097526420
 #endif
diff -ruN squid-2.5.STABLE7-RC3/src/HttpRequest.c squid-2.5.STABLE7/src/HttpRequest.c
--- squid-2.5.STABLE7-RC3/src/HttpRequest.c	Tue Oct  5 16:34:42 2004
+++ squid-2.5.STABLE7/src/HttpRequest.c	Thu Oct  7 11:01:13 2004
@@ -1,6 +1,6 @@
 
 /*
- * $Id: HttpRequest.c,v 1.30.2.1 2004/10/05 22:34:42 hno Exp $
+ * $Id: HttpRequest.c,v 1.30.2.2 2004/10/07 17:01:13 hno Exp $
  *
  * DEBUG: section 73    HTTP Request
  * AUTHOR: Duane Wessels
@@ -169,7 +169,7 @@
 	if (cbdataValid(request->body_reader_data)) {
 	    request->body_reader(request, buf, size, callback, cbdata);
 	} else {
-	    debug(0, 0) ("requestReadBody: Aborted\n");
+	    debug(73, 1) ("requestReadBody: Aborted\n");
 	    request->body_reader = NULL;
 	    cbdataUnlock(request->body_reader_data);
 	    request->body_reader_data = NULL;
@@ -186,6 +186,13 @@
     if (!request)
 	return;
     if (request->body_reader) {
-	requestReadBody(request, NULL, -1, NULL, NULL);
+	if (cbdataValid(request->body_reader_data)) {
+	    request->body_reader(request, NULL, -1, NULL, NULL);
+	} else {
+	    debug(73, 2) ("requestAbortBody: Aborted\n");
+	    request->body_reader = NULL;
+	    cbdataUnlock(request->body_reader_data);
+	    request->body_reader_data = NULL;
+	}
     }
 }
diff -ruN squid-2.5.STABLE7-RC3/src/cf.data.pre squid-2.5.STABLE7/src/cf.data.pre
--- squid-2.5.STABLE7-RC3/src/cf.data.pre	Tue Oct  5 15:31:25 2004
+++ squid-2.5.STABLE7/src/cf.data.pre	Fri Oct  8 11:41:10 2004
@@ -1,6 +1,6 @@
 
 #
-# $Id: cf.data.pre,v 1.245.2.76 2004/10/05 21:31:25 hno Exp $
+# $Id: cf.data.pre,v 1.245.2.77 2004/10/08 17:41:10 hno Exp $
 #
 #
 # SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -2764,7 +2764,7 @@
 NAME: memory_pools_limit
 COMMENT: (bytes)
 TYPE: b_size_t
-DEFAULT: none
+DEFAULT: 5 MB
 LOC: Config.MemPools.limit
 DOC_START
 	Used only with memory_pools on:
diff -ruN squid-2.5.STABLE7-RC3/src/client_db.c squid-2.5.STABLE7/src/client_db.c
--- squid-2.5.STABLE7-RC3/src/client_db.c	Mon Oct  4 15:13:18 2004
+++ squid-2.5.STABLE7/src/client_db.c	Mon Oct 11 14:25:52 2004
@@ -1,6 +1,6 @@
 
 /*
- * $Id: client_db.c,v 1.53.2.2 2004/10/04 21:13:18 hno Exp $
+ * $Id: client_db.c,v 1.53.2.4 2004/10/11 20:25:52 hno Exp $
  *
  * DEBUG: section 0     Client Database
  * AUTHOR: Duane Wessels
@@ -39,6 +39,7 @@
 static ClientInfo *clientdbAdd(struct in_addr addr);
 static FREE clientdbFreeItem;
 static void clientdbStartGC(void);
+static void clientdbScheduledGC(void *);
 
 static int max_clients = 32;
 static int cleanup_running = 0;
@@ -56,8 +57,10 @@
     c->addr = addr;
     hash_join(client_table, &c->hash);
     statCounter.client_http.clients++;
-    if ((statCounter.client_http.clients > max_clients) && !cleanup_running)
-	clientdbStartGC();
+    if ((statCounter.client_http.clients > max_clients) && !cleanup_running && cleanup_scheduled < 2) {
+	cleanup_scheduled++;
+	eventAdd("client_db garbage collector", clientdbScheduledGC, NULL, 90, 0);
+    }
     return c;
 }
 
@@ -280,7 +283,7 @@
 	max_clients = statCounter.client_http.clients * 3 / 2;
 	if (!cleanup_scheduled) {
 	    cleanup_scheduled = 1;
-	    eventAdd("client_db garbage collector", clientdbScheduledGC, NULL, 6 * 3600, 0);
+	    eventAdd("client_db garbage collector", clientdbScheduledGC, NULL, 3 * 3600, 0);
 	}
 	debug(49, 2) ("clientdbGC: Removed %d entries\n", cleanup_removed);
     }
diff -ruN squid-2.5.STABLE7-RC3/src/http.c squid-2.5.STABLE7/src/http.c
--- squid-2.5.STABLE7-RC3/src/http.c	Tue Oct  5 16:34:42 2004
+++ squid-2.5.STABLE7/src/http.c	Thu Oct  7 12:43:44 2004
@@ -1,6 +1,6 @@
 
 /*
- * $Id: http.c,v 1.384.2.18 2004/10/05 22:34:42 hno Exp $
+ * $Id: http.c,v 1.384.2.19 2004/10/07 18:43:44 hno Exp $
  *
  * DEBUG: section 11    Hypertext Transfer Protocol (HTTP)
  * AUTHOR: Harvest Derived
@@ -369,6 +369,7 @@
     }
     stringClean(&vary);
 #if X_ACCELERATOR_VARY
+    pos = NULL;
     vary = httpHeaderGetList(&reply->header, HDR_X_ACCELERATOR_VARY);
     while (strListGetItem(&vary, ',', &item, &ilen, &pos)) {
 	char *name = xmalloc(ilen + 1);
