+++ /dev/null
---- squid-2.5.STABLE8/src/pinger.c.orig 2003-12-23 01:55:57.000000000 +0100
-+++ squid-2.5.STABLE8/src/pinger.c 2005-03-04 23:13:15.000000000 +0100
-@@ -169,7 +169,7 @@
- icmp->icmp_seq = (u_short) icmp_pkts_sent++;
- echo = (icmpEchoData *) (icmp + 1);
- echo->opcode = (unsigned char) opcode;
-- echo->tv = current_time;
-+ memcpy(&(echo->tv), ¤t_time, sizeof(struct timeval)); /* misaligned on archs with 64-bit time_t */
- icmp_pktsize += sizeof(struct timeval) + sizeof(char);
- if (payload) {
- if (len > MAX_PAYLOAD)
-@@ -204,7 +204,7 @@
- struct iphdr *ip = NULL;
- struct icmphdr *icmp = NULL;
- static char *pkt = NULL;
-- struct timeval now;
-+ struct timeval now, pkttv;
- icmpEchoData *echo;
- static pingerReplyData preply;
-
-@@ -242,7 +242,8 @@
- preply.from = from.sin_addr;
- preply.opcode = echo->opcode;
- preply.hops = ipHops(ip->ip_ttl);
-- preply.rtt = tvSubMsec(echo->tv, now);
-+ memcpy(&pkttv, &(echo->tv), sizeof(struct timeval)); /* possibly misaligned */
-+ preply.rtt = tvSubMsec(pkttv, now);
- preply.psize = n - iphdrlen - (sizeof(icmpEchoData) - MAX_PKT_SZ);
- pingerSendtoSquid(&preply);
- pingerLog(icmp, from.sin_addr, preply.rtt, preply.hops);
+++ /dev/null
---- squid-2.6.STABLE1/configure.fd 2006-07-26 09:58:41.000000000 +0200
-+++ squid-2.6.STABLE1/configure 2006-07-26 09:58:41.000000000 +0200
-@@ -2970,6 +2970,34 @@
- AMDEP_FALSE=
- fi
-
-+if false; then
-+ USE_FD_CONFIG_TRUE=
-+ USE_FD_CONFIG_FALSE='#'
-+else
-+ USE_FD_CONFIG_TRUE='#'
-+ USE_FD_CONFIG_FALSE=
-+fi
-+# Check whether --enable-fd-config or --disable-fd-config was given.
-+if test "${enable_fd_config+set}" = set; then
-+ enableval="$enable_fd_config"
-+ if test "$enableval" = "yes" ; then
-+ echo "File descriptor config enabled"
-+ cat >> confdefs.h <<\EOF
-+#define FD_CONFIG 1
-+EOF
-+
-+
-+
-+if true; then
-+ USE_FD_CONFIG_TRUE=
-+ USE_FD_CONFIG_FALSE='#'
-+else
-+ USE_FD_CONFIG_TRUE='#'
-+ USE_FD_CONFIG_FALSE=
-+fi
-+ fi
-+
-+fi
-
-
-
---- squid-2.6.STABLE1/include/autoconf.h.in.fd 2006-07-26 09:58:41.000000000 +0200
-+++ squid-2.6.STABLE1/include/autoconf.h.in 2006-07-26 09:58:41.000000000 +0200
-@@ -36,6 +36,9 @@
- /* Traffic management via "delay pools". */
- #undef DELAY_POOLS
-
-+/* Filedesc managment */
-+#undef FD_CONFIG
-+
- /* Enable following X-Forwarded-For headers */
- #undef FOLLOW_X_FORWARDED_FOR
-
---- squid-2.6.STABLE1/configure.in.fd 2006-07-26 09:58:41.000000000 +0200
-+++ squid-2.6.STABLE1/configure.in 2006-07-26 09:58:41.000000000 +0200
-@@ -501,6 +501,16 @@
- fi
- ])
-
-+AM_CONDITIONAL(USE_FD_CONFIG, false)
-+AC_ARG_ENABLE(fd-config,
-+[ --enable-fd-config Enable filedesc config to configure maximal number of used filedescriptors],
-+[ if test "$enableval" = "yes" ; then
-+ echo "Filedesc config enabled"
-+ AC_DEFINE(FD_CONFIG, 1, [Maximum number of open file descriptors])
-+ AM_CONDITIONAL(USE_FD_CONFIG, true)
-+ fi
-+])
-+
- dnl This is a developer only option. Developers know how to set defines
- dnl
- dnl AC_ARG_ENABLE(mem-gen-trace,
---- squid-2.6.STABLE1/src/cf.data.pre.fd 2006-07-26 09:58:41.000000000 +0200
-+++ squid-2.6.STABLE1/src/cf.data.pre 2006-07-26 10:05:54.000000000 +0200
-@@ -5027,4 +5027,23 @@
- or response to be rejected.
- DOC_END
-
-+NAME: max_filedesc
-+IFDEF: FD_CONFIG
-+TYPE: int
-+DEFAULT: 8192
-+LOC: Config.max_filedesc
-+DOC_START
-+ The maximum number of open file descriptors.
-+
-+ WARNING: Changes of this value isn't respected by reconfigure
-+ command. This value should be changed only if there isn't
-+ any active squid process.
-+
-+ NOTE: This option is only supported by system with poll()
-+ or epoll(). You can set this value by --with-maxfd during
-+ compilation on system whith uses select().
-+
-+ The maximum value for max_filedesc is set by --with-maxfd during
-+ compilation.
-+DOC_END
- EOF
---- squid-2.6.STABLE1/src/main.c.fd 2006-07-26 09:58:41.000000000 +0200
-+++ squid-2.6.STABLE1/src/main.c 2006-07-26 09:58:41.000000000 +0200
-@@ -748,6 +749,8 @@
- /* Make sure the OS allows core dumps if enabled in squid.conf */
- enableCoredumps();
-
-+ setMaxFD();
-+
- #if TEST_ACCESS
- comm_init();
- comm_select_init();
-@@ -781,7 +784,6 @@
- }
- if (!opt_no_daemon)
- watch_child(argv);
-- setMaxFD();
-
- /* init comm module */
- comm_init();
---- squid-2.6.STABLE1/src/structs.h.fd 2006-07-26 09:58:41.000000000 +0200
-+++ squid-2.6.STABLE1/src/structs.h 2006-07-26 09:58:41.000000000 +0200
-@@ -805,6 +805,9 @@
- #endif
- time_t refresh_stale_window;
- int umask;
-+#if FD_CONFIG
-+ int max_filedesc;
-+#endif
- };
-
- struct _SquidConfig2 {
---- squid-2.6.STABLE1/src/tools.c.fd 2006-07-26 09:58:41.000000000 +0200
-+++ squid-2.6.STABLE1/src/tools.c 2006-07-26 09:58:41.000000000 +0200
-@@ -757,6 +757,21 @@
- void
- setMaxFD(void)
- {
-+
-+/* Set up number of used filedescriptors from config file */
-+/* Override the default settings Squid_MaxFD = FD_SETSIZE */
-+#if FD_CONFIG
-+ Squid_MaxFD = Config.max_filedesc;
-+
-+ /* don't exceed limit which was set during compilation */
-+ if(SQUID_MAXFD < Squid_MaxFD)
-+ Squid_MaxFD = SQUID_MAXFD;
-+#else
-+ /* don't exceed FD_SETSIZE */
-+ if(FD_SETSIZE < Squid_MaxFD)
-+ Squid_MaxFD = FD_SETSIZE;
-+#endif
-+
- #if HAVE_SETRLIMIT
- /* try to use as many file descriptors as possible */
- /* System V uses RLIMIT_NOFILE and BSD uses RLIMIT_OFILE */