---------------------
PatchSet 307
Date: 2000/05/16 18:53:50
Author: hno
Branch: hno-devel
Tag: (none)
Log:
Syncronized with modio
Members:
ChangeLog:1.1.1.3.6.5.2.2->1.1.1.3.6.5.2.3
acconfig.h:1.1.1.3.6.5.2.1->1.1.1.3.6.5.2.2
configure.in:1.1.1.3.6.7.2.7->1.1.1.3.6.7.2.8
auth_modules/MSNT/README:1.1.1.1->1.1.1.1.6.1
auth_modules/MSNT/msntauth-v1.0.lsm:1.1.1.1->1.1.1.1.6.1
auth_modules/MSNT/smbauth.c:1.1.1.1->1.1.1.1.6.1
errors/Estonian/ERR_ACCESS_DENIED:1.1.1.1->1.1.1.1.8.1
errors/Estonian/ERR_CACHE_ACCESS_DENIED:1.1.1.1->1.1.1.1.8.1
errors/Estonian/ERR_CACHE_MGR_ACCESS_DENIED:1.1.1.1->1.1.1.1.8.1
errors/Estonian/ERR_CANNOT_FORWARD:1.1.1.1->1.1.1.1.8.1
errors/Estonian/ERR_CONNECT_FAIL:1.1.1.1->1.1.1.1.8.1
errors/Estonian/ERR_DNS_FAIL:1.1.1.1->1.1.1.1.8.1
errors/Estonian/ERR_FORWARDING_DENIED:1.1.1.1->1.1.1.1.8.1
errors/Estonian/ERR_FTP_DISABLED:1.1.1.1->1.1.1.1.8.1
errors/Estonian/ERR_FTP_FAILURE:1.1.1.1->1.1.1.1.8.1
errors/Estonian/ERR_FTP_FORBIDDEN:1.1.1.1->1.1.1.1.8.1
errors/Estonian/ERR_FTP_NOT_FOUND:1.1.1.1->1.1.1.1.8.1
errors/Estonian/ERR_FTP_PUT_ERROR:1.1.1.1->1.1.1.1.8.1
errors/Estonian/ERR_FTP_UNAVAILABLE:1.1.1.1->1.1.1.1.8.1
errors/Estonian/ERR_INVALID_REQ:1.1.1.1->1.1.1.1.8.1
errors/Estonian/ERR_INVALID_URL:1.1.1.1->1.1.1.1.8.1
errors/Estonian/ERR_LIFETIME_EXP:1.1.1.1->1.1.1.1.8.1
errors/Estonian/ERR_NO_RELAY:1.1.1.1->1.1.1.1.8.1
errors/Estonian/ERR_ONLY_IF_CACHED_MISS:1.1.1.1->1.1.1.1.8.1
errors/Estonian/ERR_READ_ERROR:1.1.1.1->1.1.1.1.8.1
errors/Estonian/ERR_READ_TIMEOUT:1.1.1.1->1.1.1.1.8.1
errors/Estonian/ERR_SHUTTING_DOWN:1.1.1.1->1.1.1.1.8.1
errors/Estonian/ERR_SOCKET_FAILURE:1.1.1.1->1.1.1.1.8.1
errors/Estonian/ERR_TOO_BIG:1.1.1.1->1.1.1.1.6.1
errors/Estonian/ERR_UNSUP_REQ:1.1.1.1->1.1.1.1.8.1
errors/Estonian/ERR_URN_RESOLVE:1.1.1.1->1.1.1.1.8.1
errors/Estonian/ERR_WRITE_ERROR:1.1.1.1->1.1.1.1.8.1
errors/Estonian/ERR_ZERO_SIZE_OBJECT:1.1.1.2->1.1.1.2.8.1
errors/Japanese/ERR_SHUTTING_DOWN:1.1.1.1->1.1.1.1.8.1
errors/Japanese/ERR_TOO_BIG:1.1.1.1->1.1.1.1.6.1
errors/Simplify_Chinese/ERR_ACCESS_DENIED:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_CACHE_ACCESS_DENIED:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_CACHE_MGR_ACCESS_DENIED:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_CANNOT_FORWARD:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_CONNECT_FAIL:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_DNS_FAIL:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_FORWARDING_DENIED:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_FTP_DISABLED:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_FTP_FAILURE:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_FTP_FORBIDDEN:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_FTP_NOT_FOUND:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_FTP_PUT_CREATED:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_FTP_PUT_ERROR:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_FTP_PUT_MODIFIED:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_FTP_UNAVAILABLE:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_INVALID_REQ:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_INVALID_URL:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_LIFETIME_EXP:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_NO_RELAY:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_ONLY_IF_CACHED_MISS:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_READ_ERROR:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_READ_TIMEOUT:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_SHUTTING_DOWN:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_SOCKET_FAILURE:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_TOO_BIG:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_UNSUP_REQ:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_URN_RESOLVE:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_WRITE_ERROR:1.1->1.1.6.1
errors/Simplify_Chinese/ERR_ZERO_SIZE_OBJECT:1.1->1.1.6.1
errors/Simplify_Chinese/README:1.1->1.1.6.1
errors/Simplify_Chinese/generic:1.1->1.1.6.1
src/HttpReply.c:1.1.1.3.6.1->1.1.1.3.6.1.2.1
src/MemBuf.c:1.1.1.2.8.1->1.1.1.2.8.1.2.1
src/acl.c:1.1.1.3.10.5.2.3->1.1.1.3.10.5.2.4
src/asn.c:1.1.1.3.6.1.2.2->1.1.1.3.6.1.2.3
src/cache_cf.c:1.1.1.3.10.4.2.3->1.1.1.3.10.4.2.4
src/cache_manager.c:1.1.1.2.8.1->1.1.1.2.8.1.2.1
src/carp.c:1.1.1.1.8.1->1.1.1.1.8.1.2.1
src/cf.data.pre:1.1.1.3.10.6.2.5->1.1.1.3.10.6.2.6
src/client.c:1.1.1.3.6.1->1.1.1.3.6.1.2.1
src/client_db.c:1.1.1.3.6.1->1.1.1.3.6.1.2.1
src/client_side.c:1.1.1.3.10.7.2.5->1.1.1.3.10.7.2.6
src/delay_pools.c:1.1.1.3.10.3.2.2->1.1.1.3.10.3.2.3
src/dns.c:1.1.1.3.10.2->1.1.1.3.10.2.2.1
src/dns_internal.c:1.1.1.1.10.4.2.3->1.1.1.1.10.4.2.4
src/fqdncache.c:1.1.1.3.6.1->1.1.1.3.6.1.2.1
src/ftp.c:1.1.1.3.10.3->1.1.1.3.10.3.2.1
src/gopher.c:1.1.1.3.6.1->1.1.1.3.6.1.2.1
src/http.c:1.1.1.3.10.4.2.1->1.1.1.3.10.4.2.2
src/icmp.c:1.1.1.2.12.2->1.1.1.2.12.2.2.1
src/icp_v2.c:1.1.1.3.6.1->1.1.1.3.6.1.2.1
src/icp_v3.c:1.1.1.3.6.1->1.1.1.3.6.1.2.1
src/ident.c:1.1.1.3.6.1->1.1.1.3.6.1.2.1
src/ipcache.c:1.1.1.3.6.1->1.1.1.3.6.1.2.1
src/mib.txt:1.1.1.3->1.1.1.3.6.1
src/mime.c:1.1.1.3.6.1->1.1.1.3.6.1.2.1
src/neighbors.c:1.1.1.3.10.3.2.1->1.1.1.3.10.3.2.2
src/net_db.c:1.1.1.3.10.2.2.1->1.1.1.3.10.2.2.2
src/pinger.c:1.1.1.3.6.1->1.1.1.3.6.1.2.1
src/protos.h:1.1.1.3.10.8.2.5->1.1.1.3.10.8.2.6
src/snmp_agent.c:1.1.1.3.6.2.2.1->1.1.1.3.6.2.2.2
src/snmp_core.c:1.1.1.3.6.1->1.1.1.3.6.1.2.1
src/stat.c:1.1.1.3.10.4.2.2->1.1.1.3.10.4.2.3
src/store.c:1.1.1.3.10.8.2.4->1.1.1.3.10.8.2.5
src/store_client.c:1.1.1.3.10.4.2.4->1.1.1.3.10.4.2.5
src/store_dir.c:1.1.1.3.10.6.2.2->1.1.1.3.10.6.2.3
src/structs.h:1.1.1.3.10.8.2.6->1.1.1.3.10.8.2.7
src/test_cache_digest.c:1.1.1.1.8.1->1.1.1.1.8.1.2.1
src/tools.c:1.1.1.3.6.1->1.1.1.3.6.1.2.1
src/unlinkd.c:1.1.1.3.10.3.2.2->1.1.1.3.10.3.2.3
src/url.c:1.1.1.3.10.2.2.1->1.1.1.3.10.2.2.2
src/wccp.c:1.1.1.1.6.1->1.1.1.1.6.1.2.1
src/whois.c:1.1.1.2.8.1->1.1.1.2.8.1.2.1
src/fs/coss/store_io_coss.c:1.1.4.8.2.4->1.1.4.8.2.5
Index: squid/ChangeLog
===================================================================
RCS file: /cvsroot/squid-sf//squid/ChangeLog,v
retrieving revision 1.1.1.3.6.5.2.2
retrieving revision 1.1.1.3.6.5.2.3
diff -u -r1.1.1.3.6.5.2.2 -r1.1.1.3.6.5.2.3
--- squid/ChangeLog 3 May 2000 19:00:00 -0000 1.1.1.3.6.5.2.2
+++ squid/ChangeLog 16 May 2000 18:53:50 -0000 1.1.1.3.6.5.2.3
@@ -80,6 +80,105 @@
Changes to Squid-2.4.DEVEL1 ():
+Changes to Squid-2.3.STABLE3 (May 15, 2000):
+
+ - Fixed malloc linking problems on Solaris. The configure
+ script incorrectly set options for dlmalloc.
+ - Added a configure check to remove compiler optimization
+ for GCC 2.95.x.
+ - Updated MSNT authenticator module.
+ - Updated Estonian error pages.
+ - Updated Japanese error pages.
+ - Fixed expires bug in httpReplyHdrCacheInit. It was
+ incorrectly setting expires based on max-age. It was using
+ the current time as a basis, instead of the response date.
+ - Fixed "USE_DNSSERVER" typos.
+ - Added a workaround for getpwnam() problems on Solaris.
+ getpwnam() could fail if there are fewer than 256 FDs
+ available. This causes root to own some disk files.
+ - Added an 'offline_toggle' option via the cache manager.
+ - Added a 'minimum_object_size' option. Files smaller than
+ this size are not stored.
+ - Added 'passive_ftp' option to disable passive FTP transfers.
+ - Added 'wccp_version' option because some Cisco IOS versions
+ require WCCP version 3.
+ - The 'client' program in ping mode (-g) now prints transfer
+ throughput.
+ - Fixed logging of proxy auth username for redirected
+ requests.
+ - Fixed bogus Age values for IMS requests.
+ - Fixed persistent connection timeout for client-side
+ connections. It was hard-coded to 15 seconds, now uses
+ the 'pconn_timeout' value.
+ - Fixed up httpAcceptDefer. It wasn't being used properly
+ and caused high CPU usage when Squid gets close to the FD
+ limit.
+ - Numerous delay_pools fixes and checks.
+ - Fixed SNMP coredumps from running snmpwalk.
+ - Added a check for errno == EPIPE in icmp.c when pinger uses
+ a Unix socket instead of a UDP socket.
+ - Fixed ACL checklist memory initialization bugs.
+ - Cleaned up the MIB file. Replaced contact information and
+ checked description fields.
+ - Removed LRU reference_age hard-coded upper limit.
+ - Fixed async I/O FD leak.
+ - Made getMyHostname() more robust.
+ - Fixed domain list matching bug. "x-foo.com" wasn't properly
+ compared to ".foo.com" and confused splay tree ordering.
+ - Added a check for whitespace in hostnames and optionally
+ strip whitespace if 'uri_whitespace' setting allows.
+ - Added status code and checking to ASN/whois queries.
+
+Changes to Squid-2.3.STABLE2 (Mar 2, 2000):
+
+ - Changed Copyright text.
+ - Changed configure so that some IRIX-6.4 hacks apply to
+ all IRIX-6.* versions.
+ - Cleaned up HTML bugs in error pages.
+ - Told configure to check for netinet/if_ether.h, which
+ is used in ARP ACL code, but might not be required.
+ - Added "Cookie" to known HTTP headers so it can be
+ used in anonymizer configuration.
+ - Added optional TCP_REDIRECT log code for logging
+ of 301/302 responses returned by Squid.
+ - Added a check for a currently running Squid process.
+ If the pid file exists, and the pid is running,
+ Squid complains and refuses to start another instance.
+ - Changed async I/O scope to PTHREAD_SCOPE_PROCESS for
+ IRIX.
+ - Fixed a bug with the PURGE method. The purge enable
+ flag was not getting cleared during reconfigure.
+ Also required PURGE method to be used in http_access
+ list before enabling.
+ - Fixed async I/O assertions for file open errors.
+ - Fixed internal DNS assertion when unpacking truncated
+ messages.
+ - Fixed anonymize_headers bug that caused all headers
+ to be allowed after a reconfigure.
+ - Fixed an access denied bug for accelerator-only installations.
+ - Fixed internal DNS initialization so that it uses
+ 'dns_nameservers' settings in squid.conf if set.
+ - Fixed 'maxconn' ACL bug that caused it to work backwards
+ (Pedro Ribeiro).
+ - Fixed syslog bug for daemon mode on Linux.
+ - Fixed 'http_port' parsing bugs.
+ - Fixed internal DNS byte ordering bugs for PTR queries.
+ - Fixed internal DNS queue getting stuck during periods
+ of low activity (Henrik).
+ - Fixed byte ordering bugs for parsing EPLF FTP listings
+ on 64-bit systems.
+ - Fixed 'request_body_max_size' bug that caused all
+ POST, PUT requests to be denied if max size is set
+ to zero.
+ - Fixed 'redirector_access' bug when using 'myport' ACLs.
+ - Fixed CARP neighbor selection bugs for down peers.
+ - Added 'client_persistent_connections' and
+ 'server_persistent_connections' flags to disable persistent
+ connections for clients and servers.
+ - Fixed access logging bug that caused many requests to be
+ logged as TCP_MISS.
+ - Added some bounds checking to delay pools code.
+
Changes to Squid-2.3.STABLE1 (Jan 9, 2000):
- Updated PAM authentication module from Henrik Nordstrom.
@@ -310,7 +409,7 @@
- Added 'peer_connect_timeout' squid.conf option.
- Added 'redirector_bypass' squid.conf option.
- Added RFC 2518 (WEBDAV) request methods.
-
+
Changes to Squid-2.2 (April 19, 1999):
- Removed all SNMP specific ACL code
Index: squid/acconfig.h
===================================================================
RCS file: /cvsroot/squid-sf//squid/Attic/acconfig.h,v
retrieving revision 1.1.1.3.6.5.2.1
retrieving revision 1.1.1.3.6.5.2.2
diff -u -r1.1.1.3.6.5.2.1 -r1.1.1.3.6.5.2.2
--- squid/acconfig.h 23 Apr 2000 09:55:37 -0000 1.1.1.3.6.5.2.1
+++ squid/acconfig.h 16 May 2000 18:53:51 -0000 1.1.1.3.6.5.2.2
@@ -20,7 +20,7 @@
*
*/
@ TOP @
-/* $Id: acconfig.h,v 1.1.1.3.6.5.2.1 2000/04/23 09:55:37 hno Exp $ */
+/* $Id: acconfig.h,v 1.1.1.3.6.5.2.2 2000/05/16 18:53:51 hno Exp $ */
/*********************************
* START OF CONFIGURABLE OPTIONS *
@@ -268,19 +268,11 @@
#undef ATHY_COMPRESSION
/*
- * Use DISKD
- */
-#undef USE_DISKD
-
-/*
* Define this if unlinkd is required
* (strongly recommended for ufs storage type)
*/
#undef USE_UNLINKD
-/* Define if you want to set the COSS membuf size */
-#undef COSS_MEMBUF_SZ
-
/*
* message type for message queues
*/
Index: squid/configure.in
===================================================================
RCS file: /cvsroot/squid-sf//squid/configure.in,v
retrieving revision 1.1.1.3.6.7.2.7
retrieving revision 1.1.1.3.6.7.2.8
diff -u -r1.1.1.3.6.7.2.7 -r1.1.1.3.6.7.2.8
--- squid/configure.in 14 May 2000 23:22:19 -0000 1.1.1.3.6.7.2.7
+++ squid/configure.in 16 May 2000 18:53:51 -0000 1.1.1.3.6.7.2.8
@@ -3,13 +3,13 @@
dnl
dnl Duane Wessels, wessels@nlanr.net, February 1996 (autoconf v2.9)
dnl
-dnl $Id: configure.in,v 1.1.1.3.6.7.2.7 2000/05/14 23:22:19 hno Exp $
+dnl $Id: configure.in,v 1.1.1.3.6.7.2.8 2000/05/16 18:53:51 hno Exp $
dnl
dnl
dnl
AC_INIT(src/main.c)
AC_CONFIG_HEADER(include/autoconf.h)
-AC_REVISION($Revision: 1.1.1.3.6.7.2.7 $)dnl
+AC_REVISION($Revision: 1.1.1.3.6.7.2.8 $)dnl
AC_PREFIX_DEFAULT(/usr/local/squid)
AC_CONFIG_AUX_DIR(cfgaux)
@@ -149,6 +149,8 @@
i386-*-solaris2.*)
echo "Enabling dlmalloc for $host"
use_dlmalloc="yes"
+ LIBDLMALLOC="libdlmalloc.a"
+ LIB_MALLOC="-L../lib -ldlmalloc"
;;
esac
fi
@@ -1058,6 +1060,18 @@
;;
esac
+# Remove optimization for GCC 2.95.[12]
+# gcc -O[2] on *BSD and Linux (x86) causes pointers to magically become NULL
+if test "$GCC" = "yes"; then
+ GCCVER=`$CC -v 2>&1 | awk '$2 == "version" {print $3}'`
+ case "$GCCVER" in
+ [2.95.[12]])
+ echo "Removing -O for gcc on $host with GCC $GCCVER"
+ CFLAGS="`echo $CFLAGS | sed -e 's/-O[[0-9]]*//'`"
+ ;;
+ esac
+fi
+
# Recommended by Balint Nagy Endre
case "$host" in
*-univel-sysv4.2MP)
Index: squid/auth_modules/MSNT/README
===================================================================
RCS file: /cvsroot/squid-sf//squid/auth_modules/MSNT/Attic/README,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.6.1
diff -u -r1.1.1.1 -r1.1.1.1.6.1
--- squid/auth_modules/MSNT/README 26 Jan 2000 03:25:00 -0000 1.1.1.1
+++ squid/auth_modules/MSNT/README 16 May 2000 18:53:51 -0000 1.1.1.1.6.1
@@ -1,11 +1,10 @@
-MSNT Auth v1.0
+MSNT Auth v1.1
Squid web proxy Authentication module
Antonino Iannella, Stellar-X Pty Ltd
-Mon Oct 18 11:44:50 CST 1999
+Mon Apr 10 22:47:33 CST 2000
_____________________________________
-
This is a simple authentication module for the Squid proxy server
to authenticate users on an NT domain.
@@ -13,35 +12,114 @@
and Richard Sharpe. This version is sourced from the Pike
authentication module by William Welliver (hwellive@intersil.com).
-Its use is simple. It accepts a username and password on standard input
+Usage is simple. It accepts a username and password on standard input
and will return OK if the username/password is valid for the domain,
or ERR if there was some problem.
You will need to modify the NT server definitions for your site;
-this is the NT PDC server and domain to authenticate to.
-This is done in smbauth.c.
+this is the NT server and NT domain to authenticate to.
+This is done in sitedef.h.
+
+Usernames can now be explicitly denied. See below for details.
+
+This is released under the GNU General Public License and
+is available from http://stellarx.tripod.com.
+
+Site customisation -
+
+Change the following lines in sitedef.h.
+Set the Primary Domain Controller, the backup (if different from the PDC),
+and the NT domain.
+
+ #define PRIMARY_DC "my_pdc"
+ #define BACKUP_DC "my_bdc"
+ #define NTDOMAIN "my_domain"
-Msntauth is released under the GNU General Public License and
-is available from http://members.tripod.com/~antonino.
+Denying Users -
+
+Users who are not allowed to access the web proxy can be added to
+the denied user list. This list is read every minute, or when
+msntauth receives a SIGHUP signal.
+
+The denied user file is /usr/local/squid/etc/denyusers. This may be
+changed in the DENYUSERS line in denyusers.c. The denied user file
+contains a list of usernames in no particular structure or form.
+If the file does not exist, no users are denied.
+The file must be readable by the web proxy user.
+Msntauth will send syslog messages at LOG_USER priority.
Installation -
-Modify smbauth.c as needed.
-type 'make', then 'make install', then 'make clean'.
-The default is to install 'msntauth' into /usr/local/squid/bin.
+Type 'make', then 'make install', then 'make clean'.
+To avoid using the makefile, it may compile with
+
+ gcc -O2 -s -o msntauth *.c
+
+The default is to install 'msntauth' into /usr/local/sbin.
+
+Refer to Squid documentation for the required changes to squid.conf.
+You will need to set the following lines to enable authentication for
+your access list -
+
+ acl proxy_auth REQUIRED
+ http_access allow
+
+You will need to specify the absolute path to msntauth in the
+authenticate_program directive, and check the authenticate_children
+and authenticate_ttl.
Compilation issues -
The Makefile assumes that GCC is in the current PATH.
-Msntauth is known to compile properly on Redhat Linux 6, FreeBSD 3.1
+Msntauth is known to compile properly on Redhat Linux 6, and FreeBSD 3.1
without problems. Other operating systems are untested,
but use a recent copy of the GNU C compiler.
Smbencrypt.c has the '#include ' line commented out.
Remove the comments for S5R4 systems, like Solaris.
+When compiling under Solaris, the socket libraries must be linked to.
+In the Makefile CFLAGS line, add to the end
+
+ -Dsolaris -lnsl -lsocket
+
+Testing -
+
+I strongly urge that Msntauth is tested prior to being used in a
+production environment. It may behave differently on different platforms.
+To test it, run it from the command line. Enter username and password
+pairs separated by a space. Press ENTER to get an OK or ERR message.
+Make sure pressing behaves the same as a carriage return.
+Make sure pressing aborts the program.
+
+Test that entering no details does not result in an OK or ERR message.
+Test that entering an invalid username and password results in an ERR message.
+Note that if NT guest user access is allowed on the PDC, an OK message
+may be returned instead of ERR.
+Test that entering an valid username and password results in an OK message.
+Test that entering a guest username and password returns the correct
+response for the site's access policy.
+
+If the above didn't work as expected, you may need to modify the main()
+function in smbauth.c. Inform the maintainer of any problems.
+
Contact details -
To contact the maintainer of this package, email Antonino Iannella
-on antonino@usa.net. The latest version may be found on
-http://members.tripod.com/~antonino.
+on stellarx@usa.net or antonino.iannella@usa.net.
+The latest version may be found on http://stellarx.tripod.com.
+
+Reported problem -
+
+For an unknown username, Msntauth returns OK.
+This is because the PDC returns guest access for unknown users,
+even if guest access is disabled.
+This problem was reported by Mr Vadim Popov (vap@iilsr.minsk.by).
+I am not able to replicate this.
+
+The tested environment consisted of PDC on Windows NT 4, SP 6.
+Squid 2.3 and Msntauth was tested on SuSe, RedHat, and Debian Linux.
+A fix was provided in case you have this problem.
+Apply the provided patch before compiling, using
+
+ patch smblib.c < smblib.c.patch
Index: squid/auth_modules/MSNT/msntauth-v1.0.lsm
===================================================================
RCS file: /cvsroot/squid-sf//squid/auth_modules/MSNT/Attic/msntauth-v1.0.lsm,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.6.1
diff -u -r1.1.1.1 -r1.1.1.1.6.1
--- squid/auth_modules/MSNT/msntauth-v1.0.lsm 26 Jan 2000 03:25:00 -0000 1.1.1.1
+++ squid/auth_modules/MSNT/msntauth-v1.0.lsm 16 May 2000 18:53:51 -0000 1.1.1.1.6.1
@@ -1,13 +1,13 @@
Begin3
Title: msntauth
-Version: 1.0
-Entered-date: 17SEP99
+Version: 1.1
+Entered-date: 12APR00
Description: Squid web proxy NT domain authentication module
Keywords: Squid WWW proxy SMB NT domain authentication module source
-Author: antonino@usa.net (Antonino Iannella)
-Maintained-by: antonino@usa.net (Antonino Iannella)
+Author: antonino.iannella@usa.net (Antonino Iannella)
+Maintained-by: antonino.iannella@usa.net (Antonino Iannella)
Primary-site: sunsite.unc.edu /pub/Linux/system/network/misc
- msntauth-v1.0.tgz
-Original-site: http://members.tripod.com/~antonino
+ msntauth-v1.1.tgz
+Original-site: http://stellarx.tripod.com
Copying-policy: GPL
End
Index: squid/auth_modules/MSNT/smbauth.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/auth_modules/MSNT/Attic/smbauth.c,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.6.1
diff -u -r1.1.1.1 -r1.1.1.1.6.1
--- squid/auth_modules/MSNT/smbauth.c 26 Jan 2000 03:25:00 -0000 1.1.1.1
+++ squid/auth_modules/MSNT/smbauth.c 16 May 2000 18:53:51 -0000 1.1.1.1.6.1
@@ -2,12 +2,12 @@
/*
msntauth
- Modified to act as a Squid authenticator
+ Modified to act as a Squid authenticator module.
Removed all Pike stuff.
Returns OK for a successful authentication, or ERR upon error.
Antonino Iannella, Camtech SA Pty Ltd
- Thu Sep 16 15:25:28 CST 1999
+ Mon Apr 10 22:24:26 CST 2000
Uses code from -
Andrew Tridgell 1997
@@ -32,47 +32,78 @@
*/
#include
+#include
+#include
+#include "sitedef.h"
-/* You must specifiy these for your site! */
-
-#define PRIMARY_DC "my_pdc"
-#define BACKUP_DC "my_bdc"
-#define NTDOMAIN "my_domain"
+extern void Checkforchange(); /* For signal() to find the function */
/* Main program for simple authentication.
- This code could probably be better, might be
- susceptible to buffer overflows. */
+ Reads the denied user file. Sets alarm timer.
+ Scans and checks for Squid input, and attempts to validate the user.
+*/
int main()
{
char username[256];
char password[256];
char wstr[256];
+ struct itimerval TimeOut;
+
+ /* Read denied user file. If it fails there is a serious problem.
+ Check syslog messages. Deny all users while in this state.
+ The process should then be killed. */
+
+ if (Read_denyusers() == 1)
+ {
+ while (1)
+ {
+ fgets(wstr, 255, stdin);
+ puts("ERR");
+ fflush(stdout);
+ }
+ }
+
+ /* An alarm timer is used to check the denied user file for changes
+ every minute. Reload the file if it has changed. */
+
+ TimeOut.it_interval.tv_sec = 60;
+ TimeOut.it_interval.tv_usec = 0;
+ TimeOut.it_value.tv_sec = 60;
+ TimeOut.it_value.tv_usec = 0;
+ setitimer(ITIMER_REAL, &TimeOut, 0);
+ signal(SIGALRM, Checkforchange);
+ signal(SIGHUP, Checkforchange);
while (1)
{
- // Read whole line from standard input. Terminate on break.
+ /* Read whole line from standard input. Terminate on break. */
if (fgets(wstr, 255, stdin) == NULL)
break;
- // Clear any current settings
+ /* Clear any current settings */
username[0] = '\0';
password[0] = '\0';
- sscanf(wstr, "%s %s", username, password); // Extract parameters
+ sscanf(wstr, "%s %s", username, password); /* Extract parameters */
- // Check for invalid or blank entries
+ /* Check for invalid or blank entries */
if ((username[0] == '\0') || (password[0] == '\0'))
- {
+ {
puts("ERR");
fflush(stdout);
continue;
}
+ if (Check_user(username) == 1) /* Check if user is denied */
+ puts("ERR");
+ else
+ {
if (Valid_User(username, password, PRIMARY_DC, BACKUP_DC, NTDOMAIN) == 0)
puts("OK");
else
puts("ERR");
-
+ }
+
fflush(stdout);
}
Index: squid/errors/Estonian/ERR_ACCESS_DENIED
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Estonian/ERR_ACCESS_DENIED,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.8.1
diff -u -r1.1.1.1 -r1.1.1.1.8.1
--- squid/errors/Estonian/ERR_ACCESS_DENIED 26 Jan 2000 03:21:47 -0000 1.1.1.1
+++ squid/errors/Estonian/ERR_ACCESS_DENIED 16 May 2000 18:53:51 -0000 1.1.1.1.8.1
@@ -18,5 +18,5 @@
Juurdepääsu kontrolli konfiguratsioon blokeerib teie päringut.
Kui te arvate, et blokeering pole õige, kontakteeruge palun teenuse pakkujaga.
-
+Teie teenusepakkuja aadress on %w.
Index: squid/errors/Estonian/ERR_CACHE_ACCESS_DENIED
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Estonian/ERR_CACHE_ACCESS_DENIED,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.8.1
diff -u -r1.1.1.1 -r1.1.1.1.8.1
--- squid/errors/Estonian/ERR_CACHE_ACCESS_DENIED 26 Jan 2000 03:21:47 -0000 1.1.1.1
+++ squid/errors/Estonian/ERR_CACHE_ACCESS_DENIED 16 May 2000 18:53:51 -0000 1.1.1.1.8.1
@@ -1,9 +1,9 @@
-VIGA: Cache kasutamine blokeeritud
+VIGA: Vahem鋖u serveri kasutamine blokeeritud
VIGA
-Cache kasutamine keelatud
+Vahem鋖u serveri kasutamine keelatud
Sooritades päringut URLile
@@ -13,7 +13,7 @@
-
-Cache kasutamine keelatud.
+Vahem鋖u serveri kasutamine keelatud.
@@ -26,7 +26,7 @@
Autoriseerimiseks on teil vaja brauserit mis toetab HTTP/1.1 standardit,
nagu Netscape versioon 2.0 või uuem, või MS Internet Explorer
-3.0. Palun kontakteeruge cache administraatoriga,
+3.0. Palun kontakteeruge vahem鋖u serveri administraatoriga,
kui teil on probleeme autoriseerimisega või
vahetage/a> oma parool.
Index: squid/errors/Estonian/ERR_CACHE_MGR_ACCESS_DENIED
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Estonian/ERR_CACHE_MGR_ACCESS_DENIED,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.8.1
diff -u -r1.1.1.1 -r1.1.1.1.8.1
--- squid/errors/Estonian/ERR_CACHE_MGR_ACCESS_DENIED 26 Jan 2000 03:21:47 -0000 1.1.1.1
+++ squid/errors/Estonian/ERR_CACHE_MGR_ACCESS_DENIED 16 May 2000 18:53:51 -0000 1.1.1.1.8.1
@@ -1,9 +1,9 @@
-VIGA: Cache haldaja kasutamine blokeeritud
+VIGA: Vahem鋖u serveri haldaja kasutamine blokeeritud
VIGA
-Cache haldaja kasutamine blokeeritud
+Vahem鋖u serveri haldaja kasutamine blokeeritud
Sooritades päringut URLile
@@ -13,19 +13,19 @@
-
-Cache haldaja kasutamine keelatud.
+Vahem鋖u serveri haldaja kasutamine keelatud.
Vabandust, teil pole õigust päringule:
%U
-sellele cache haldajale, kuni te pole läbinud autoriseerimist.
+sellele vahem鋖u serveri haldajale, kuni te pole läbinud autoriseerimist.
Autoriseerimiseks on teil vaja brauserit mis toetab HTTP/1.1 standardit,
nagu Netscape versioon 2.0 või uuem, või MS Internet Explorer
-3.0. Palun kontakteeruge cache administraatoriga,
+3.0. Palun kontakteeruge vahem鋖u serveri administraatoriga,
kui teil on probleeme autoriseerimisega või kui te olete
-administraator, lugege Squidi dokumentatsiooni cache haldaja interfeisi kohta
-ja kontrollige cache logi vea täpsema kirjelduse saamiseks.
+administraator, lugege Squidi dokumentatsiooni vahem鋖u serveri haldaja interfeisi kohta
+ja kontrollige vahem鋖u serveri logi täpsema veakirjelduse saamiseks.
Index: squid/errors/Estonian/ERR_CANNOT_FORWARD
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Estonian/ERR_CANNOT_FORWARD,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.8.1
diff -u -r1.1.1.1 -r1.1.1.1.8.1
--- squid/errors/Estonian/ERR_CANNOT_FORWARD 26 Jan 2000 03:21:47 -0000 1.1.1.1
+++ squid/errors/Estonian/ERR_CANNOT_FORWARD 16 May 2000 18:53:51 -0000 1.1.1.1.8.1
@@ -18,10 +18,10 @@
Päringut ei õnnestunud edastada ei originaali serverile ega
-ühelegi vanem cache serverile. Ilmselt on põhjus:
+ühelegi vanem vahem鋖u serverile. Ilmselt on põhjus:
-- Cache administraator ei võimalda teha otseseid päringuid
+
- Vahem鋖u serveri administraator ei võimalda teha otseseid päringuid
originaali serverile ja
-
- Kõik kirjeldatud vanem vanem cached on hetkel kättesaamatud.
+
- Kõik kirjeldatud vanem vahem鋖u serverid on hetkel kättesaamatud.
-
+Teie teenusepakkuja aadress on %w.
Index: squid/errors/Estonian/ERR_CONNECT_FAIL
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Estonian/ERR_CONNECT_FAIL,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.8.1
diff -u -r1.1.1.1 -r1.1.1.1.8.1
--- squid/errors/Estonian/ERR_CONNECT_FAIL 26 Jan 2000 03:21:47 -0000 1.1.1.1
+++ squid/errors/Estonian/ERR_CONNECT_FAIL 16 May 2000 18:53:51 -0000 1.1.1.1.8.1
@@ -23,4 +23,4 @@
Server või arvutivõrk ei tööta. Palun korrake
päringut.
-
+Teie teenusepakkuja aadress on %w.
Index: squid/errors/Estonian/ERR_DNS_FAIL
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Estonian/ERR_DNS_FAIL,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.8.1
diff -u -r1.1.1.1 -r1.1.1.1.8.1
--- squid/errors/Estonian/ERR_DNS_FAIL 26 Jan 2000 03:21:47 -0000 1.1.1.1
+++ squid/errors/Estonian/ERR_DNS_FAIL 16 May 2000 18:53:51 -0000 1.1.1.1.8.1
@@ -22,8 +22,7 @@
Mis tähendab:
- Cache ei suutnud lahendada URLis antud hosti nime. Palun kontrollige
+ Vahem鋖u server ei suutnud lahendada URLis antud hosti nime. Palun kontrollige
aadressi korrektsust.
-
-
+Teie teenuseVahem鋖u serve aadress on %w.
Index: squid/errors/Estonian/ERR_FORWARDING_DENIED
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Estonian/ERR_FORWARDING_DENIED,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.8.1
diff -u -r1.1.1.1 -r1.1.1.1.8.1
--- squid/errors/Estonian/ERR_FORWARDING_DENIED 26 Jan 2000 03:21:47 -0000 1.1.1.1
+++ squid/errors/Estonian/ERR_FORWARDING_DENIED 16 May 2000 18:53:51 -0000 1.1.1.1.8.1
@@ -17,6 +17,6 @@
-Meie cache ei edasta teie päringut, kuna ta kasutab andmete edastamisel
-ainult naaber cache meetodit. Ilmselt on %i vigaselt konfigureeritud cache.
-
+Meie vahem鋖u server ei edasta teie päringut, kuna ta kasutab andmete edastamisel
+ainult naaber vahem鋖u serverite meetodit. Ilmselt on %i vigaselt konfigureeritud vahem鋖u server.
+Teie teenusepakkuja aadress on %w.
Index: squid/errors/Estonian/ERR_FTP_DISABLED
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Estonian/ERR_FTP_DISABLED,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.8.1
diff -u -r1.1.1.1 -r1.1.1.1.8.1
--- squid/errors/Estonian/ERR_FTP_DISABLED 26 Jan 2000 03:21:47 -0000 1.1.1.1
+++ squid/errors/Estonian/ERR_FTP_DISABLED 16 May 2000 18:53:51 -0000 1.1.1.1.8.1
@@ -17,5 +17,5 @@
-See cache ei toeta FTPd.
-
+See vahem鋖u server ei toeta FTPd.
+Teie teenusepakkuja aadress on %w.
Index: squid/errors/Estonian/ERR_FTP_FAILURE
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Estonian/ERR_FTP_FAILURE,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.8.1
diff -u -r1.1.1.1 -r1.1.1.1.8.1
--- squid/errors/Estonian/ERR_FTP_FAILURE 26 Jan 2000 03:21:47 -0000 1.1.1.1
+++ squid/errors/Estonian/ERR_FTP_FAILURE 16 May 2000 18:53:51 -0000 1.1.1.1.8.1
@@ -17,5 +17,4 @@
See olukord võib olla tekkinud, kui FTP URL on antud absoluutse
teega (mis on vastuolus RFC 1738-ga). Kui see on nii, siis saab faili
aadressilt %B.
-
-
+Teie teenusepakkuja aadress on %w.
Index: squid/errors/Estonian/ERR_FTP_FORBIDDEN
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Estonian/ERR_FTP_FORBIDDEN,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.8.1
diff -u -r1.1.1.1 -r1.1.1.1.8.1
--- squid/errors/Estonian/ERR_FTP_FORBIDDEN 26 Jan 2000 03:23:10 -0000 1.1.1.1
+++ squid/errors/Estonian/ERR_FTP_FORBIDDEN 16 May 2000 18:53:51 -0000 1.1.1.1.8.1
@@ -12,5 +12,4 @@
ja sai sellise vastuse
%F
%g
-
-
+Teie teenusepakkuja aadress on %w.
Index: squid/errors/Estonian/ERR_FTP_NOT_FOUND
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Estonian/ERR_FTP_NOT_FOUND,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.8.1
diff -u -r1.1.1.1 -r1.1.1.1.8.1
--- squid/errors/Estonian/ERR_FTP_NOT_FOUND 26 Jan 2000 03:23:10 -0000 1.1.1.1
+++ squid/errors/Estonian/ERR_FTP_NOT_FOUND 16 May 2000 18:53:51 -0000 1.1.1.1.8.1
@@ -16,5 +16,4 @@
See olukord võib olla tekkinud, kui FTP URL on antud absoluutse
teega (mis on vastuolus RFC 1738-ga). Kui see on nii, siis saab faili
aadressilt %B.
-
-
+Teie teenusepakkuja aadress on %w.
Index: squid/errors/Estonian/ERR_FTP_PUT_ERROR
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Estonian/ERR_FTP_PUT_ERROR,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.8.1
diff -u -r1.1.1.1 -r1.1.1.1.8.1
--- squid/errors/Estonian/ERR_FTP_PUT_ERROR 26 Jan 2000 03:21:47 -0000 1.1.1.1
+++ squid/errors/Estonian/ERR_FTP_PUT_ERROR 16 May 2000 18:53:51 -0000 1.1.1.1.8.1
@@ -21,5 +21,4 @@
Kontrolli failiteed, õiguseid, ketta ruumi ja proovi uuesti.
-
-
+Teie teenusepakkuja aadress on %w.
Index: squid/errors/Estonian/ERR_FTP_UNAVAILABLE
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Estonian/ERR_FTP_UNAVAILABLE,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.8.1
diff -u -r1.1.1.1 -r1.1.1.1.8.1
--- squid/errors/Estonian/ERR_FTP_UNAVAILABLE 26 Jan 2000 03:23:10 -0000 1.1.1.1
+++ squid/errors/Estonian/ERR_FTP_UNAVAILABLE 16 May 2000 18:53:51 -0000 1.1.1.1.8.1
@@ -13,5 +13,4 @@
ja sai sellise vastuse
%F
%g
-
-
+Teie teenusepakkuja aadress on %w.
Index: squid/errors/Estonian/ERR_INVALID_REQ
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Estonian/ERR_INVALID_REQ,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.8.1
diff -u -r1.1.1.1 -r1.1.1.1.8.1
--- squid/errors/Estonian/ERR_INVALID_REQ 26 Jan 2000 03:21:47 -0000 1.1.1.1
+++ squid/errors/Estonian/ERR_INVALID_REQ 16 May 2000 18:53:51 -0000 1.1.1.1.8.1
@@ -28,4 +28,4 @@
POST või PUT päringutel puudub Content-Length
keelatud sümbolid hosti nimes; alakriipsud pole lubatud
-
+Teie teenusepakkuja aadress on %w.
Index: squid/errors/Estonian/ERR_INVALID_URL
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Estonian/ERR_INVALID_URL,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.8.1
diff -u -r1.1.1.1 -r1.1.1.1.8.1
--- squid/errors/Estonian/ERR_INVALID_URL 26 Jan 2000 03:21:47 -0000 1.1.1.1
+++ squid/errors/Estonian/ERR_INVALID_URL 16 May 2000 18:53:51 -0000 1.1.1.1.8.1
@@ -24,4 +24,4 @@
Vigane topelt-kaldkriips URLi teel
Vigane sümbol hosti nimes; alakriipsud pole lubatud
-
+Teie teenusepakkuja aadress on %w.
Index: squid/errors/Estonian/ERR_LIFETIME_EXP
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Estonian/ERR_LIFETIME_EXP,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.8.1
diff -u -r1.1.1.1 -r1.1.1.1.8.1
--- squid/errors/Estonian/ERR_LIFETIME_EXP 26 Jan 2000 03:21:47 -0000 1.1.1.1
+++ squid/errors/Estonian/ERR_LIFETIME_EXP 16 May 2000 18:53:51 -0000 1.1.1.1.8.1
@@ -18,4 +18,4 @@
Squid katkestas päringu, kuna see kestis liiga kaua.
-
+Teie teenusepakkuja aadress on %w.
Index: squid/errors/Estonian/ERR_NO_RELAY
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Estonian/ERR_NO_RELAY,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.8.1
diff -u -r1.1.1.1 -r1.1.1.1.8.1
--- squid/errors/Estonian/ERR_NO_RELAY 26 Jan 2000 03:21:47 -0000 1.1.1.1
+++ squid/errors/Estonian/ERR_NO_RELAY 16 May 2000 18:53:51 -0000 1.1.1.1.8.1
@@ -17,6 +17,6 @@
-Selles Caches on WAISi edastav host kirjeldamata! Kontakteeruge
+Selles vahem鋖u serveris on WAISi edastav host kirjeldamata! Kontakteeruge
administraatoriga.
-
+Teie teenusepakkuja aadress on %w.
Index: squid/errors/Estonian/ERR_ONLY_IF_CACHED_MISS
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Estonian/ERR_ONLY_IF_CACHED_MISS,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.8.1
diff -u -r1.1.1.1 -r1.1.1.1.8.1
--- squid/errors/Estonian/ERR_ONLY_IF_CACHED_MISS 26 Jan 2000 03:21:47 -0000 1.1.1.1
+++ squid/errors/Estonian/ERR_ONLY_IF_CACHED_MISS 16 May 2000 18:53:51 -0000 1.1.1.1.8.1
@@ -12,17 +12,16 @@
-
-Kehtiv dokument puudub cachest ja
only-if-cached
-Valid document was not found in the cache and päring sisaldas
+Kehtiv dokument puudub vahem鋖u serverist ja päring sisaldas
only-if-cached
direktiivi.
-Te edastasite päringu only-if-cached
cache kontrolli
-direktiiviga. Dokumenti ei leitud cachest võita
+Te edastasite päringu only-if-cached
vahem鋖u kontrolli
+direktiiviga. Dokumenti ei leitud vahem鋖u serverist võita
nõudis uuendamist, mis on aga keelatud only-if-cached
direktiiviga.
-
+Teie teenusepakkuja aadress on %w.
Index: squid/errors/Estonian/ERR_READ_ERROR
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Estonian/ERR_READ_ERROR,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.8.1
diff -u -r1.1.1.1 -r1.1.1.1.8.1
--- squid/errors/Estonian/ERR_READ_ERROR 26 Jan 2000 03:21:47 -0000 1.1.1.1
+++ squid/errors/Estonian/ERR_READ_ERROR 16 May 2000 18:53:51 -0000 1.1.1.1.8.1
@@ -22,4 +22,4 @@
Andmete lugemisel tekkis veasituatsioon. Palun korrake päringut.
-
+Teie teenusepakkuja aadress on %w.
Index: squid/errors/Estonian/ERR_READ_TIMEOUT
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Estonian/ERR_READ_TIMEOUT,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.8.1
diff -u -r1.1.1.1 -r1.1.1.1.8.1
--- squid/errors/Estonian/ERR_READ_TIMEOUT 26 Jan 2000 03:21:47 -0000 1.1.1.1
+++ squid/errors/Estonian/ERR_READ_TIMEOUT 16 May 2000 18:53:51 -0000 1.1.1.1.8.1
@@ -23,4 +23,4 @@
Lugejal katkes võrgust andmeid lugedes kannatus. Võrk või
server võib olla maas või umbes. Proovige uuesti.
-
+Teie teenusepakkuja aadress on %w.
Index: squid/errors/Estonian/ERR_SHUTTING_DOWN
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Estonian/ERR_SHUTTING_DOWN,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.8.1
diff -u -r1.1.1.1 -r1.1.1.1.8.1
--- squid/errors/Estonian/ERR_SHUTTING_DOWN 26 Jan 2000 03:23:10 -0000 1.1.1.1
+++ squid/errors/Estonian/ERR_SHUTTING_DOWN 16 May 2000 18:53:51 -0000 1.1.1.1.8.1
@@ -14,4 +14,4 @@
Meie server on saanud käsu töö lõpetada ja
ei saa teie päringut hetkel teenindada. Palun korrake oma
päringut motilde;ne aja pärast.
-
+Teie teenusepakkuja aadress on %w.
Index: squid/errors/Estonian/ERR_SOCKET_FAILURE
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Estonian/ERR_SOCKET_FAILURE,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.8.1
diff -u -r1.1.1.1 -r1.1.1.1.8.1
--- squid/errors/Estonian/ERR_SOCKET_FAILURE 26 Jan 2000 03:21:47 -0000 1.1.1.1
+++ squid/errors/Estonian/ERR_SOCKET_FAILURE 16 May 2000 18:53:51 -0000 1.1.1.1.8.1
@@ -23,4 +23,4 @@
Squid ei suuda tekitada TCP pistikut, ilmselt ülekoormuse tõttu.
palun korrake päringut.
-
+Teie teenusepakkuja aadress on %w.
Index: squid/errors/Estonian/ERR_TOO_BIG
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Estonian/ERR_TOO_BIG,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.6.1
diff -u -r1.1.1.1 -r1.1.1.1.6.1
--- squid/errors/Estonian/ERR_TOO_BIG 26 Jan 2000 03:25:00 -0000 1.1.1.1
+++ squid/errors/Estonian/ERR_TOO_BIG 16 May 2000 18:53:51 -0000 1.1.1.1.6.1
@@ -1,26 +1,25 @@
-ERROR: The requested URL could not be retrieved
+IGA: Päring URLile ei saa vastust
-ERROR
-The requested URL could not be retrieved
+Viga
+Päring URLile ei saa vastust
-While trying to retrieve the URL:
+Sooritades päringut URLile
%U
-The following error was encountered:
+tekkis järgnev viga:
-
-The request or reply is too large.
+P鋜ing v鮥 vastus on liiga suur.
-If you are making a POST or PUT request, then your request body
-(the thing you are trying to upload) is too large. If you are
-making a GET request, then the reply body (what you are trying
-to download) is too large. These limits have been established
-by the Internet Service Provider who operates this cache. Please
-contact them directly if you feel this is an error.
+Kui te sooritate POST v鮥 PUT p鋜ingut, siis teie p鋜ingu keha
+(see asi, mida te serverisse laete) on liiga suur. Kui te
+sooritate GET p鋜ingut, siis on vastuse keha (asi, mida te serverist
+laete) liiga suur. Need piirangus on seadnud teie teenusepakkuja, kes
+haldab seda vahem鋖u serverit. Kui te arvate, et tegemist on veaga,
+kontakteeruge palun otse oma teenusepakkujaga.
-
-Your cache administrator is %w.
+
Teie teenusepakkuja aadress on %w.
Index: squid/errors/Estonian/ERR_UNSUP_REQ
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Estonian/ERR_UNSUP_REQ,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.8.1
diff -u -r1.1.1.1 -r1.1.1.1.8.1
--- squid/errors/Estonian/ERR_UNSUP_REQ 26 Jan 2000 03:21:47 -0000 1.1.1.1
+++ squid/errors/Estonian/ERR_UNSUP_REQ 16 May 2000 18:53:51 -0000 1.1.1.1.8.1
@@ -19,5 +19,4 @@
Squid ei toeta kõiki päringu meetodeid kõikide protokollidega.
Näiteks, te ei saa teha POST operatsiooni Gopher päringus.
-
-
+Teie teenusepakkuja aadress on %w.
Index: squid/errors/Estonian/ERR_URN_RESOLVE
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Estonian/ERR_URN_RESOLVE,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.8.1
diff -u -r1.1.1.1 -r1.1.1.1.8.1
--- squid/errors/Estonian/ERR_URN_RESOLVE 26 Jan 2000 03:21:47 -0000 1.1.1.1
+++ squid/errors/Estonian/ERR_URN_RESOLVE 16 May 2000 18:53:51 -0000 1.1.1.1.8.1
@@ -18,4 +18,4 @@
Hei, mida sa ootad URNidelt %T peal:)
-
+Teie teenusepakkuja aadress on %w.
Index: squid/errors/Estonian/ERR_WRITE_ERROR
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Estonian/ERR_WRITE_ERROR,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.8.1
diff -u -r1.1.1.1 -r1.1.1.1.8.1
--- squid/errors/Estonian/ERR_WRITE_ERROR 26 Jan 2000 03:21:47 -0000 1.1.1.1
+++ squid/errors/Estonian/ERR_WRITE_ERROR 16 May 2000 18:53:51 -0000 1.1.1.1.8.1
@@ -22,4 +22,4 @@
Võrku kirjutades tekkis viga. Palun korrake päringut.
-
+Teie teenusepakkuja aadress on %w.
Index: squid/errors/Estonian/ERR_ZERO_SIZE_OBJECT
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Estonian/ERR_ZERO_SIZE_OBJECT,v
retrieving revision 1.1.1.2
retrieving revision 1.1.1.2.8.1
diff -u -r1.1.1.2 -r1.1.1.2.8.1
--- squid/errors/Estonian/ERR_ZERO_SIZE_OBJECT 26 Jan 2000 03:23:10 -0000 1.1.1.2
+++ squid/errors/Estonian/ERR_ZERO_SIZE_OBJECT 16 May 2000 18:53:51 -0000 1.1.1.2.8.1
@@ -18,4 +18,4 @@
Squid ei saanud selle päringu vastuseks midagi...
-
+Teie teenusepakkuja aadress on %w.
Index: squid/errors/Japanese/ERR_SHUTTING_DOWN
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Japanese/ERR_SHUTTING_DOWN,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.8.1
diff -u -r1.1.1.1 -r1.1.1.1.8.1
--- squid/errors/Japanese/ERR_SHUTTING_DOWN 26 Jan 2000 03:23:10 -0000 1.1.1.1
+++ squid/errors/Japanese/ERR_SHUTTING_DOWN 16 May 2000 18:53:52 -0000 1.1.1.1.8.1
@@ -1,17 +1,18 @@
-ERROR: The requested URL could not be retrieved
+
+エラ〖: リクエストされた URL は艰评できませんでした
ERROR
-The requested URL could not be retrieved
+リクエストされた URL は艰评できませんでした
-While trying to retrieve the URL:
+笆布の URL を艰评した狠に:
%U
-The following error was encountered:
+肌のエラ〖が券栏しました:
-This cache is in the process of shutting down and can not
-service your request at this time. Please retry your
-request again soon.
+このキャッシュは苍漂匿贿の借妄に掐っていて、
+附哼あなたのリクエストへのサ〖ビスを捏丁できません。
+稿で浩刨リクエストしてくださいˉ
Index: squid/errors/Japanese/ERR_TOO_BIG
===================================================================
RCS file: /cvsroot/squid-sf//squid/errors/Japanese/ERR_TOO_BIG,v
retrieving revision 1.1.1.1
retrieving revision 1.1.1.1.6.1
diff -u -r1.1.1.1 -r1.1.1.1.6.1
--- squid/errors/Japanese/ERR_TOO_BIG 26 Jan 2000 03:25:00 -0000 1.1.1.1
+++ squid/errors/Japanese/ERR_TOO_BIG 16 May 2000 18:53:52 -0000 1.1.1.1.6.1
@@ -1,26 +1,27 @@
-ERROR: The requested URL could not be retrieved
+
+エラ〖: リクエストされた URL は艰评できませんでした
ERROR
-The requested URL could not be retrieved
+リクエストされた URL は艰评できませんでした
-While trying to retrieve the URL:
+笆布の URL を艰评した狠に:
%U
-The following error was encountered:
+肌のエラ〖が券栏しました:
-
-The request or reply is too large.
+リクエストまたはリプライが络きすぎます。
-If you are making a POST or PUT request, then your request body
-(the thing you are trying to upload) is too large. If you are
-making a GET request, then the reply body (what you are trying
-to download) is too large. These limits have been established
-by the Internet Service Provider who operates this cache. Please
-contact them directly if you feel this is an error.
+POSTかPUTのリクエストをしていたなら、あなたのリクエストの塑挛
+(あなたがアップロ〖ドを活みようとしていたもの)が络きすぎます。
+GETのリクエストをしていたなら、リプライの塑挛(ダウンロ〖ドしよう
+としていたもの)が络きすぎます。これらの扩嘎は、このキャッシュの
+笨脱荚によって草されています。
+これがエラ〖だと炊じるときは木儡笨脱荚に息晚して布さい。
-Your cache administrator is %w.
+キャッシュの瓷妄荚は%wです。
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_ACCESS_DENIED Wed Feb 14 00:44:17 2007
@@ -0,0 +1,29 @@
+
+
+错误:您所请求的网址(URL)无法获取
+
+错误
+您所请求的网址(URL)无法获取
+
+
+当尝试读取以下网址(URL)时:
+%U
+
+发生了下列的错误:
+
+
+本缓存服务器管理员:%w
+
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_CACHE_ACCESS_DENIED Wed Feb 14 00:44:17 2007
@@ -0,0 +1,42 @@
+
+
+错误:网络缓存服务器拒绝访问
+
+
+错误
+网络缓存服务器拒绝访问
+
+
+当尝试读取下面的网址(URL)时:
+%U
+
+发生了下列的错误:
+
+-
+
+Cache Access Denied.
+
+缓存服务器拒绝访问
+
+
+
+
+
+抱歉,您不被允许通过本网络缓存服务器访问下列位置:
+
%U
+除非您通过了我们的身份验证。
+
+
+
+You need to use Netscape version 2.0 or greater, or Microsoft Internet
+Explorer 3.0, or an HTTP/1.1 compliant browser for this to work. Please
+contact the cache administrator if you have
+difficulties authenticating yourself or
+change your default password.
+
+您需要使用 Netscape version 2.0 或更新的版本,或是使用 Microsoft Internet
+Explorer 3.0,或是一个 HTTP/1.1 相容的浏览器来进行工作。如果您在身份验证上
+发生困难,请与 管理者 联系。
+或是更改您的密码。
+
+本缓存服务器管理员:%w
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_CACHE_MGR_ACCESS_DENIED Wed Feb 14 00:44:17 2007
@@ -0,0 +1,43 @@
+
+
+错误:缓存管理器拒绝访问
+
+
+错误
+缓存管理器拒绝访问
+
+
+当尝试读取下面的网址(URL)时:
+%U
+
+发生了下列的错误:
+
+-
+
+Cache Manager Access Denied.
+
+缓存管理器拒绝访问
+
+
+
+
+
+抱歉,您不被允许通过本缓存管理器访问以下位置:
+
%U
+除非您通过我们的身份验证。
+
+
+ You need to use Netscape version 2.0 or greater, or Microsoft Internet
+Explorer 3.0, or an HTTP/1.1 compliant browser for this to work. Please
+contact the cache administrator if you have
+difficulties authenticating yourself or, if you are the
+administrator, read Squid documentation on cache manager interface and check
+cache log for more detailed error messages.
+
+您需要使用 Netscape version 2.0 或最新的版本,或是使用 Microsoft Internet
+Explorer 3.0,或是一个 HTTP/1.1 相容的浏览器来进行工作。如果您是在身份验证上发
+生问题,请先确定您有权对缓存使用管理器。
+或是与管理者联系。如果您就是管理者,请详细阅读 Squid 所附文件中与
+cache manager 有关部份或检查 cache log 以便得到更详尽的细节。
+
+本缓存服务器管理员:%w
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_CANNOT_FORWARD Wed Feb 14 00:44:17 2007
@@ -0,0 +1,38 @@
+
+
+错误;您所请求的网址(URL)无法获取
+
+错误
+您所请求的网址(URL)无法获取
+
+
+当尝试读取下面的网址(URL)时:
+%U
+
+发生了下列的错误:
+
+-
+
+Unable to forward this request at this time.
+
+目前无法将您的请求进行转送操作
+
+
+
+
+This request could not be forwarded to the origin server or to any
+parent caches. The most likely cause for this error is that:
+
+- The cache administrator does not allow this cache to make
+ direct connections to origin servers, and
+
- All configured parent caches are currently unreachable.
+
+
+
+您的请求无法被转送到原始网络服务器或其他的上层缓存服务器,发生这个问题最可能的原因是:
+
+- 缓存服务器管理员不允许本服务器与原始网络服务器直接连结,而
+
- 所有本服务器指定的上层缓存服务器都暂时无法连结。
+
+
+本缓存服务器管理员:%w
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_CONNECT_FAIL Wed Feb 14 00:44:17 2007
@@ -0,0 +1,31 @@
+
+
+错误:您所请求的网址(URL)无法获取
+
+错误
+您所请求的网址(URL)无法获取
+
+
+当尝试读取以下网址(URL)时:
+%U
+
+发生了下列的错误:
+
+-
+
+Connection Failed
+
+连接失败
+
+
+
+
+系统返回以下内容:
+
%E
+
+
+The remote host or network may be down. Please try the request again.
+
+您要连结的网络服务器或网络可能发生故障。请稍后再试。
+
+本缓存服务器管理员:%w
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_DNS_FAIL Wed Feb 14 00:44:17 2007
@@ -0,0 +1,32 @@
+
+
+错误:您所请求的网址(URL)无法获取
+
+您所请求的网址(URL)无法获取
+
+
+当尝试读取以下网址(URL)时:
+%U
+
+发生了下列的错误:
+
+无法将您输入的主机名称:%H转换成 IP 地址
+
+
+
+
+域名服务器返回以下讯息:
+
+%z
+
+
+
+这表示:
+
+ The cache was not able to resolve the hostname presented in the URL.
+ Check if the address is correct.
+ 缓存服务器无法解析您输入网址(URL)中的主机名称,
+ 请检查该名称是否正确。
+
+
+本缓存服务器管理员:%w
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_FORWARDING_DENIED Wed Feb 14 00:44:17 2007
@@ -0,0 +1,30 @@
+
+
+错误:您所请求的网址(URL)无法获取
+
+错误
+您所请求的网址(URL)无法获取
+
+
+当尝试读取以下网址(URL)时:
+%U
+
+发生了下列的错误:
+
+-
+
+Forwarding Denied.
+
+拒绝转送
+
+
+
+
+This cache will not forward your request because it is trying to enforce a
+sibling relationship. Perhaps the client at %i is a cache which has been
+misconfigured.
+
+本缓存服务器无法转送您的请求,也许您是通过一个并未被本缓存服务器
+设定为允许存取的缓存服务器(%i)来访问的。
+
+本缓存服务器管理员:%w
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_FTP_DISABLED Wed Feb 14 00:44:17 2007
@@ -0,0 +1,27 @@
+
+
+错误:您所请求的网址(URL)无法获取
+
+错误
+您所请求的网址(URL)无法获取
+
+
+当尝试读取以下网址(URL)时:
+%U
+
+发生了下列的错误:
+
+-
+
+FTP is Disabled
+
+禁止使用文件传输协议
+
+
+
+
+This cache does not support FTP.
+
+本缓存服务器未开放文件传输服务。
+
+本缓存服务器管理员:%w
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_FTP_FAILURE Wed Feb 14 00:44:17 2007
@@ -0,0 +1,17 @@
+
+
+错误:您所请求的网址(URL)无法获取
+
+错误
+您所请求的网址(URL)无法获取
+
+
+当尝试读取以下网址(URL)时发生文件传输协议错误:
+%U
+
+本缓存服务器发出以下 FTP 命令:
+
%f
+然后收到如下回应:
+%F
+%g
+本缓存服务器管理员:%w
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_FTP_FORBIDDEN Wed Feb 14 00:44:17 2007
@@ -0,0 +1,18 @@
+
+
+错误:您所请求的网址(URL)无法获取
+
+错误
+您所请求的网址(URL)无法获取
+
+
+当尝试读取以下网址(URL)时文件传输协议(FTP)身份验证失败:
+%U
+
+本缓存服务器发出以下 FTP 命令:
+
%f
+然后收到如下回应:
+%F
+%g
+
+
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_FTP_NOT_FOUND Wed Feb 14 00:44:17 2007
@@ -0,0 +1,21 @@
+
+
+错误:您所请求的网址(URL)无法获取
+
+错误
+您所请求的网址(URL)无法获取
+
+
+以下网址无法读取:
+%U
+
+本缓存服务器发出以下 FTP 命令:
+
%f
+然后收到如下回应:
+%F
+%g
+
+这可能是由于 FTP 网址(URL)中包含了绝对路径所致(不符合 RFC1738)。如果真的是这样,
+文件可以从%B位置找到。
+
+
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_FTP_PUT_CREATED Wed Feb 14 00:44:17 2007
@@ -0,0 +1,10 @@
+
+
+文件上传 PUT 指令完成:文件已被建立
+
+操作成功
+文件已建立
+
+
+
+
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_FTP_PUT_ERROR Wed Feb 14 00:44:17 2007
@@ -0,0 +1,25 @@
+
+
+错误:文件上传失败
+
+错误
+文件上传(FTP PUT)操作失败
+
+
+当尝试上传(PUT)到以下位置时:
+%U
+
+本缓存服务器发出以下 FTP 命令:
+
+ %f
+
+然后收到如下回应:
+
+ %F
+
+
+
+请检查上传路径,上传位置读写权限,可用磁盘空间后再进行尝试。
+
+
+本缓存服务器管理员:%w
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_FTP_PUT_MODIFIED Wed Feb 14 00:44:17 2007
@@ -0,0 +1,10 @@
+
+
+文件上传 PUT 指令完成:文件已被更新
+
+操作成功
+文件已更新
+
+
+
+
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_FTP_UNAVAILABLE Wed Feb 14 00:44:17 2007
@@ -0,0 +1,18 @@
+
+
+错误: 您所请求的网址(URL)无法获取
+
+错误
+您所请求的网址(URL)无法获取
+
+
+当尝试读取以下网址(URL)时 FTP 服务器过忙:
+%U
+
+本缓存服务器发出以下 FTP 命令:
+
%f
+然后收到如下回应:
+%F
+%g
+
+本缓存服务器管理员:%w
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_INVALID_REQ Wed Feb 14 00:44:17 2007
@@ -0,0 +1,43 @@
+
+
+错误:您所请求的网址(URL)无法获取
+
+错误
+您所请求的网址(URL)无法获取
+
+
+当尝试进行以下请求时:
+
+%R
+
+
+发生了下列的错误:
+
+-
+
+Invalid Request
+
+无效的请求
+
+
+
+
+Some aspect of the HTTP Request is invalid. Possible problems:
+
+HTTP 请求的某些方面是无效的。可能是下列问题:
+
+- Missing or unknown request method
+
缺少请求方式或未知的请求方式
+ - Missing URL
+
缺少网址
+ - Missing HTTP Identifier (HTTP/1.0)
+
缺少 HTTP 标识(HTTP/1.0)
+ - Request is too large
+
请求命令过长
+ - Content-Length missing for POST or PUT requests
+
POST 或 PUT 请求缺少内容长度
+ - Illegal character in hostname; underscores are not allowed
+
主机名称中包含不合法的字符;下划线是不允许的。
+
+
+本缓存服务器管理员:%w.
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_INVALID_URL Wed Feb 14 00:44:17 2007
@@ -0,0 +1,37 @@
+
+
+错误:您所请求的网址(URL)无法获取
+
+错误
+您所请求的网址(URL)无法获取
+
+
+当尝试读取以下网址(URL)时:
+%U
+
+发生了下列的错误:
+
+-
+
+Invalid URL
+
+无效的网址
+
+
+
+
+Some aspect of the requested URL is incorrect. Possible problems:
+
+输入网址的某些地方有误,可能是因为:
+
+- Missing or incorrect access protocol (should be `http://'' or similar)
+
缺少或不正确的通讯协议(应该如 `http://''或类似的开头)
+ - Missing hostname
+
缺少欲连结的主机名称
+ - Illegal double-escape in the URL-Path
+
网址路径中有不合法双重转义符
+ - Illegal character in hostname; underscores are not allowed
+
主机名称中包含不合法的字符;下划线是不允许的。
+
+
+本缓存服务器管理员:%w
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_LIFETIME_EXP Wed Feb 14 00:44:17 2007
@@ -0,0 +1,28 @@
+
+
+错误:您所请求的网址(URL)无法获取
+
+错误
+您所请求的网址(URL)无法获取
+
+
+当尝试读取以下网址(URL)时:
+%U
+
+发生了下列的错误:
+
+-
+
+Connection Lifetime Expired
+
+连接超时
+
+
+
+
+Squid has terminated the request because it has exceeded the maximum
+connection lifetime.
+
+缓存服务器已终止您的连接请求,因为已经超过了最大连接等待时间。
+
+本缓存服务器管理员:%w
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_NO_RELAY Wed Feb 14 00:44:17 2007
@@ -0,0 +1,27 @@
+
+
+错误:您所请求的网址(URL)无法获取
+
+错误
+您所请求的网址(URL)无法获取
+
+
+当尝试读取以下网址(URL)时:
+%U
+
+发生了下列的错误:
+
+-
+
+No Wais Relay
+
+无 Wais 中继
+
+
+
+
+There is no WAIS Relay host defined for this Cache! Yell at the administrator.
+
+本缓存服务器没有设定 WAIS 中继主机!如有疑问请与缓存服务器管理员联系。
+
+本缓存服务器管理员:%w
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_ONLY_IF_CACHED_MISS Wed Feb 14 00:44:17 2007
@@ -0,0 +1,34 @@
+
+
+错误:您所请求的网址(URL)无法获取
+
+错误
+您所请求的网址(URL)无法获取
+
+
+当尝试读取以下网址(URL)时:
+%U
+
+发生了下列的错误:
+
+-
+
+Valid document was not found in the cache and
only-if-cached
+directive was specified.
+
+请求的文件在本缓存服务器上未找到,而您设定了only-if-cached
(只读取缓存)
+指令。
+
+
+
+
+
+You have issued a request with a only-if-cached
cache control
+directive. The document was not found in the cache, or it required
+revalidation prohibited by only-if-cached
directive.
+
+您送出了一个包含 only-if-cached
(只读取缓存)缓存控制指令的连结请求。
+而所要的文件并未存在于本缓存服务器中,或者这个连结请求需要刷新文件而
+only-if-cached
指令禁止这么做。
+
+本缓存服务器管理员:%w
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_READ_ERROR Wed Feb 14 00:44:17 2007
@@ -0,0 +1,32 @@
+
+
+错误:您所请求的网址(URL)无法获取
+
+错误
+您所请求的网址(URL)无法获取
+
+
+当尝试读取以下网址(URL)时:
+%U
+
+发生了下列的错误:
+
+-
+
+Read Error
+
+读取错误
+
+
+
+
+系统回应:
+
%E
+
+
+An error condition occurred while reading data from the network. Please
+retry your request.
+
+正在通过网络读取数据时发生了错误,请重新尝试。
+
+本缓存服务器管理员:%w
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_READ_TIMEOUT Wed Feb 14 00:44:17 2007
@@ -0,0 +1,33 @@
+
+
+错误:您所请求的网址(URL)无法获取
+
+错误
+您所请求的网址(URL)无法获取
+
+
+当尝试读取以下网址(URL)时:
+%U
+
+发生了下列的错误:
+
+-
+
+Read Timeout
+
+读取超时
+
+
+
+
+系统回应:
+
%E
+
+
+A Timeout occurred while waiting to read data from the network. The network
+or server may be down or congested. Please retry your request.
+
+当通过网络读取数据时,超过了等待时限。
+可能是因为网络堵塞或连接的网络服务器已关闭。请重新尝试。
+
+本缓存服务器管理员:%w
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_SHUTTING_DOWN Wed Feb 14 00:44:17 2007
@@ -0,0 +1,22 @@
+
+
+错误:您所请求的网址(URL)无法获取
+
+错误
+您所请求的网址(URL)无法获取
+
+
+当尝试读取以下网址(URL)时:
+%U
+
+发生了下列的错误:
+
+
+This cache is in the process of shutting down and can not
+service your request at this time. Please retry your
+request again soon.
+
+本缓存服务器正在关闭,暂时无法为您服务。
+请稍侯再试。
+
+本缓存服务器管理员:%w
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_SOCKET_FAILURE Wed Feb 14 00:44:17 2007
@@ -0,0 +1,33 @@
+
+
+错误:您所请求的网址(URL)无法获取
+
+错误
+您所请求的网址(URL)无法获取
+
+
+当尝试读取以下网址(URL)时:
+%U
+
+发生了下列的错误:
+
+-
+
+Socket Failure
+
+Socket 建立失败
+
+
+
+
+系统回应:
+
%E
+
+
+Squid is unable to create a TCP socket, presumably due to excessive load.
+Please retry your request.
+
+Squid (缓存服务器)无法建立 TCP socket(无法向系统申请建立新的网络连接),
+可能是因为负荷过重,请重新尝试。
+
+本缓存服务器管理员:%w
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_TOO_BIG Wed Feb 14 00:44:17 2007
@@ -0,0 +1,25 @@
+
+
+错误:您所请求的网址(URL)无法获取
+
+错误
+您所请求的网址(URL)无法获取
+
+
+当尝试读取以下网址(URL)时:
+%U
+
+发生了下列的错误:
+
+
+
本缓存服务器管理员:%w
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_UNSUP_REQ Wed Feb 14 00:44:17 2007
@@ -0,0 +1,29 @@
+
+
+错误:您所请求的网址(URL)无法获取
+
+错误
+您所请求的网址(URL)无法获取
+
+
+当尝试读取以下网址(URL)时:
+%U
+
+发生了下列的错误:
+
+-
+
+Unsupported Request Method and Protocol
+
+不支持的请求方式和协议
+
+
+
+
+Squid does not support all request methods for all access protocols.
+For example, you can not POST a Gopher request.
+
+Squid (缓存服务器)不能对所有的存取协议支持所有的请求方式。
+比如说,你不能对 GOPHER 进行一个 POST 请求。
+
+本缓存服务器管理员:%w
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_URN_RESOLVE Wed Feb 14 00:44:17 2007
@@ -0,0 +1,27 @@
+
+
+错误:您所请求的 URN 无法获取
+
+错误
+URN 中的一个网址(URL)无法获取
+
+
+当尝试读取以下 URN 时:
+%U
+
+发生了下列的错误:
+
+-
+
+Cannot Resolve URN
+
+无法解析 URN
+
+
+
+
+Hey, don't expect too much from URNs on %T :)
+
+抱歉!您不能对 %T 上的 URNs 期待太多 :)
+
+本缓存服务器管理员:%w
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_WRITE_ERROR Wed Feb 14 00:44:17 2007
@@ -0,0 +1,32 @@
+
+
+错误:您所请求的网址(URL)无法获取
+
+错误
+您所请求的网址(URL)无法获取
+
+
+当尝试读取以下网址(URL)时:
+%U
+
+发生了下列的错误:
+
+-
+
+Write Error
+
+写入错误
+
+
+
+
+系统回应:
+
%E
+
+
+An error condition occurred while writing to the network. Please retry your
+request.
+
+通过网络写入数据时发生了错误,请重新尝试。
+
+本缓存服务器管理员:%w
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/ERR_ZERO_SIZE_OBJECT Wed Feb 14 00:44:17 2007
@@ -0,0 +1,27 @@
+
+
+错误:您所请求的网址(URL)无法获取
+
+错误
+您所请求的网址(URL)无法获取
+
+
+当尝试读取以下网址(URL)时:
+%U
+
+发生了下列的错误:
+
+-
+
+Zero Sized Reply
+
+响应内容长度为零
+
+
+
+
+Squid did not receive any data for this request.
+
+本缓存服务器从被连接的服务器上没有收到任何数据。
+
+本缓存服务器管理员:%w
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/README Wed Feb 14 00:44:17 2007
@@ -0,0 +1,11 @@
+This Simplify Chinese error pages is based on the
+Erick C. Chang 's Traditional Chinese error pages.
+and suitable for SQUID 2.3 STABLE 1.
+
+I first translate these pages from Traditional Chinese to Simplify Chinese
+use a auto program. Then I check and compare with English pages to get more
+accurate result. It take me over one half of time than direct translation
+from english. Because the technical terms are very different in two area.
+And I also fixed some minor mistakes.
+
+Wang DaQing wdq@bigfoot.com
--- /dev/null Wed Feb 14 00:44:00 2007
+++ squid/errors/Simplify_Chinese/generic Wed Feb 14 00:44:17 2007
@@ -0,0 +1,30 @@
+
+
+错误:您所请求的网址(URL)无法获取
+
+错误
+您所请求的网址(URL)无法获取
+
+
+当尝试读取以下网址(URL)时:
+%U
+
+发生了下列的错误:
+
+-
+
+@SHORT_DESCRIPTION@
+
+
+
+
+系统回应以下信息:
+
%E
+
+
+这表示:
+
+ @LONG_DESCRIPTION@
+
+
+
Index: squid/src/HttpReply.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/HttpReply.c,v
retrieving revision 1.1.1.3.6.1
retrieving revision 1.1.1.3.6.1.2.1
diff -u -r1.1.1.3.6.1 -r1.1.1.3.6.1.2.1
--- squid/src/HttpReply.c 20 Apr 2000 18:14:21 -0000 1.1.1.3.6.1
+++ squid/src/HttpReply.c 16 May 2000 18:53:52 -0000 1.1.1.3.6.1.2.1
@@ -1,6 +1,6 @@
/*
- * $Id: HttpReply.c,v 1.1.1.3.6.1 2000/04/20 18:14:21 hno Exp $
+ * $Id: HttpReply.c,v 1.1.1.3.6.1.2.1 2000/05/16 18:53:52 hno Exp $
*
* DEBUG: section 58 HTTP Reply (Response)
* AUTHOR: Alex Rousskov
@@ -56,6 +56,7 @@
static int httpReplyParseStep(HttpReply * rep, const char *parse_start, int atEnd);
static int httpReplyParseError(HttpReply * rep);
static int httpReplyIsolateStart(const char **parse_start, const char **blk_start, const char **blk_end);
+static time_t httpReplyHdrExpirationTime(const HttpReply * rep);
/* module initialization */
@@ -292,6 +293,39 @@
memFree(rep, MEM_HTTP_REPLY);
}
+static time_t
+httpReplyHdrExpirationTime(const HttpReply * rep)
+{
+ /* The s-maxage and max-age directive takes priority over Expires */
+ if (rep->cache_control) {
+ if (rep->date >= 0) {
+ if (rep->cache_control->s_maxage >= 0)
+ return rep->date + rep->cache_control->s_maxage;
+ if (rep->cache_control->max_age >= 0)
+ return rep->date + rep->cache_control->max_age;
+ } else {
+ /*
+ * Conservatively handle the case when we have a max-age
+ * header, but no Date for reference?
+ */
+ if (rep->cache_control->s_maxage >= 0)
+ return squid_curtime;
+ if (rep->cache_control->max_age >= 0)
+ return squid_curtime;
+ }
+ }
+ if (httpHeaderHas(&rep->header, HDR_EXPIRES)) {
+ const time_t e = httpHeaderGetTime(&rep->header, HDR_EXPIRES);
+ /*
+ * HTTP/1.0 says that robust implementations should consider
+ * bad or malformed Expires header as equivalent to "expires
+ * immediately."
+ */
+ return e < 0 ? squid_curtime : e;
+ }
+ return -1;
+}
+
/* sync this routine when you update HttpReply struct */
static void
httpReplyHdrCacheInit(HttpReply * rep)
@@ -301,7 +335,6 @@
rep->content_length = httpHeaderGetInt(hdr, HDR_CONTENT_LENGTH);
rep->date = httpHeaderGetTime(hdr, HDR_DATE);
rep->last_modified = httpHeaderGetTime(hdr, HDR_LAST_MODIFIED);
- rep->expires = httpHeaderGetTime(hdr, HDR_EXPIRES);
str = httpHeaderGetStr(hdr, HDR_CONTENT_TYPE);
if (str)
stringLimitInit(&rep->content_type, str, strcspn(str, ";\t "));
@@ -310,19 +343,8 @@
rep->cache_control = httpHeaderGetCc(hdr);
rep->content_range = httpHeaderGetContRange(hdr);
rep->keep_alive = httpMsgIsPersistent(rep->sline.version, &rep->header);
- /* final adjustments */
- /* The s-maxage and max-age directive takes priority over Expires */
- if (rep->cache_control && rep->cache_control->s_maxage >= 0)
- rep->expires = squid_curtime + rep->cache_control->s_maxage;
- else if (rep->cache_control && rep->cache_control->max_age >= 0)
- rep->expires = squid_curtime + rep->cache_control->max_age;
- else
- /*
- * The HTTP/1.0 specs says that robust implementations should consider bad
- * or malformed Expires header as equivalent to "expires immediately."
- */
- if (rep->expires < 0 && httpHeaderHas(hdr, HDR_EXPIRES))
- rep->expires = squid_curtime;
+ /* be sure to set expires after date and cache-control */
+ rep->expires = httpReplyHdrExpirationTime(rep);
}
/* sync this routine when you update HttpReply struct */
Index: squid/src/MemBuf.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/MemBuf.c,v
retrieving revision 1.1.1.2.8.1
retrieving revision 1.1.1.2.8.1.2.1
diff -u -r1.1.1.2.8.1 -r1.1.1.2.8.1.2.1
--- squid/src/MemBuf.c 20 Apr 2000 18:14:21 -0000 1.1.1.2.8.1
+++ squid/src/MemBuf.c 16 May 2000 18:53:52 -0000 1.1.1.2.8.1.2.1
@@ -1,5 +1,5 @@
/*
- * $Id: MemBuf.c,v 1.1.1.2.8.1 2000/04/20 18:14:21 hno Exp $
+ * $Id: MemBuf.c,v 1.1.1.2.8.1.2.1 2000/05/16 18:53:52 hno Exp $
*
* DEBUG: section 59 auto-growing Memory Buffer with printf
* AUTHOR: Alex Rousskov
@@ -332,7 +332,7 @@
/* copy and free old buffer if needed */
if (old_mb.buf && old_mb.freefunc) {
- memcpy(mb->buf, old_mb.buf, old_mb.size);
+ xmemcpy(mb->buf, old_mb.buf, old_mb.size);
(*old_mb.freefunc) (old_mb.buf);
} else {
assert(!old_mb.buf && !old_mb.freefunc);
Index: squid/src/acl.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/acl.c,v
retrieving revision 1.1.1.3.10.5.2.3
retrieving revision 1.1.1.3.10.5.2.4
diff -u -r1.1.1.3.10.5.2.3 -r1.1.1.3.10.5.2.4
--- squid/src/acl.c 14 May 2000 23:22:19 -0000 1.1.1.3.10.5.2.3
+++ squid/src/acl.c 16 May 2000 18:53:52 -0000 1.1.1.3.10.5.2.4
@@ -1,6 +1,6 @@
/*
- * $Id: acl.c,v 1.1.1.3.10.5.2.3 2000/05/14 23:22:19 hno Exp $
+ * $Id: acl.c,v 1.1.1.3.10.5.2.4 2000/05/16 18:53:52 hno Exp $
*
* DEBUG: section 28 Access Control
* AUTHOR: Duane Wessels
@@ -2419,7 +2419,7 @@
ipAddr.sin_port = 0;
ipAddr.sin_addr = c;
memset(&arpReq, '\0', sizeof(arpReq));
- memcpy(&arpReq.arp_pa, &ipAddr, sizeof(struct sockaddr_in));
+ xmemcpy(&arpReq.arp_pa, &ipAddr, sizeof(struct sockaddr_in));
/* Query ARP table */
if (ioctl(HttpSockets[0], SIOCGARP, &arpReq) != -1) {
/* Skip non-ethernet interfaces */
@@ -2465,7 +2465,7 @@
ipAddr.sin_port = 0;
ipAddr.sin_addr = c;
memset(&arpReq, '\0', sizeof(arpReq));
- memcpy(&arpReq.arp_pa, &ipAddr, sizeof(struct sockaddr_in));
+ xmemcpy(&arpReq.arp_pa, &ipAddr, sizeof(struct sockaddr_in));
strncpy(arpReq.arp_dev, ifr->ifr_name, sizeof(arpReq.arp_dev) - 1);
arpReq.arp_dev[sizeof(arpReq.arp_dev) - 1] = '\0';
/* Query ARP table */
@@ -2522,7 +2522,7 @@
ipAddr.sin_port = 0;
ipAddr.sin_addr = c;
memset(&arpReq, '\0', sizeof(arpReq));
- memcpy(&arpReq.arp_pa, &ipAddr, sizeof(struct sockaddr_in));
+ xmemcpy(&arpReq.arp_pa, &ipAddr, sizeof(struct sockaddr_in));
/* Query ARP table */
if (ioctl(HttpSockets[0], SIOCGARP, &arpReq) != -1) {
/*
Index: squid/src/asn.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/asn.c,v
retrieving revision 1.1.1.3.6.1.2.2
retrieving revision 1.1.1.3.6.1.2.3
diff -u -r1.1.1.3.6.1.2.2 -r1.1.1.3.6.1.2.3
--- squid/src/asn.c 14 May 2000 23:22:19 -0000 1.1.1.3.6.1.2.2
+++ squid/src/asn.c 16 May 2000 18:53:52 -0000 1.1.1.3.6.1.2.3
@@ -1,5 +1,5 @@
/*
- * $Id: asn.c,v 1.1.1.3.6.1.2.2 2000/05/14 23:22:19 hno Exp $
+ * $Id: asn.c,v 1.1.1.3.6.1.2.3 2000/05/16 18:53:52 hno Exp $
*
* DEBUG: section 53 AS Number handling
* AUTHOR: Duane Wessels, Kostas Anagnostakis
@@ -237,6 +237,12 @@
memFree(buf, MEM_4K_BUF);
asStateFree(asState);
return;
+ } else if (HTTP_OK != e->mem_obj->reply->sline.status) {
+ debug(53, 1) ("WARNING: AS %d whois request failed\n",
+ asState->as_number);
+ memFree(buf, MEM_4K_BUF);
+ asStateFree(asState);
+ return;
}
s = buf;
while (s - buf < size && *s != '\0') {
Index: squid/src/cache_cf.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/cache_cf.c,v
retrieving revision 1.1.1.3.10.4.2.3
retrieving revision 1.1.1.3.10.4.2.4
diff -u -r1.1.1.3.10.4.2.3 -r1.1.1.3.10.4.2.4
--- squid/src/cache_cf.c 14 May 2000 23:22:19 -0000 1.1.1.3.10.4.2.3
+++ squid/src/cache_cf.c 16 May 2000 18:53:52 -0000 1.1.1.3.10.4.2.4
@@ -1,6 +1,6 @@
/*
- * $Id: cache_cf.c,v 1.1.1.3.10.4.2.3 2000/05/14 23:22:19 hno Exp $
+ * $Id: cache_cf.c,v 1.1.1.3.10.4.2.4 2000/05/16 18:53:52 hno Exp $
*
* DEBUG: section 3 Configuration File Parsing
* AUTHOR: Harvest Derived
@@ -388,6 +388,31 @@
}
if (aclPurgeMethodInUse(Config.accessList.http))
Config2.onoff.enable_purge = 1;
+ if (NULL != Config.effectiveUser) {
+ struct passwd *pwd = getpwnam(Config.effectiveUser);
+ if (NULL == pwd)
+ /*
+ * Andres Kroonmaa :
+ * Some getpwnam() implementations (Solaris?) require
+ * an available FD < 256 for opening a FILE* to the
+ * passwd file.
+ * DW:
+ * This should be safe at startup, but might still fail
+ * during reconfigure.
+ */
+ fatalf("getpwnam failed to find userid for effective user '%s'",
+ Config.effectiveUser,
+ xstrerror());
+ Config2.effectiveUserID = pwd->pw_uid;
+ }
+ if (NULL != Config.effectiveGroup) {
+ struct group *grp = getgrnam(Config.effectiveGroup);
+ if (NULL == grp)
+ fatalf("getgrnam failed to find groupid for effective group '%s'",
+ Config.effectiveGroup,
+ xstrerror());
+ Config2.effectiveGroupID = grp->gr_gid;
+ }
}
/* Parse a time specification from the config file. Store the
@@ -1086,11 +1111,14 @@
p->tcp_up = PEER_TCP_MAGIC_COUNT;
p->test_fd = -1;
#if USE_CARP
+#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> ((sizeof(u_long)*8)-(n))))
if (p->carp.load_factor) {
/* calculate this peers hash for use in CARP */
p->carp.hash = 0;
for (token = p->host; *token != 0; token++)
- p->carp.hash += (p->carp.hash << 19) + *token;
+ p->carp.hash += ROTATE_LEFT(p->carp.hash, 19) + *token;
+ p->carp.hash += p->carp.hash * 0x62531965;
+ p->carp.hash += ROTATE_LEFT(p->carp.hash, 21);
}
#endif
/* This must preceed peerDigestCreate */
Index: squid/src/cache_manager.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/cache_manager.c,v
retrieving revision 1.1.1.2.8.1
retrieving revision 1.1.1.2.8.1.2.1
diff -u -r1.1.1.2.8.1 -r1.1.1.2.8.1.2.1
--- squid/src/cache_manager.c 20 Apr 2000 18:14:21 -0000 1.1.1.2.8.1
+++ squid/src/cache_manager.c 16 May 2000 18:53:52 -0000 1.1.1.2.8.1.2.1
@@ -1,6 +1,6 @@
/*
- * $Id: cache_manager.c,v 1.1.1.2.8.1 2000/04/20 18:14:21 hno Exp $
+ * $Id: cache_manager.c,v 1.1.1.2.8.1.2.1 2000/05/16 18:53:52 hno Exp $
*
* DEBUG: section 16 Cache Manager Objects
* AUTHOR: Duane Wessels
@@ -64,6 +64,7 @@
static const char *cachemgrActionProtection(const action_table * at);
static OBJH cachemgrShutdown;
static OBJH cachemgrMenu;
+static OBJH cachemgrOfflineToggle;
action_table *ActionTable = NULL;
@@ -280,6 +281,16 @@
shut_down(0);
}
+static void
+cachemgrOfflineToggle(StoreEntry * sentry)
+{
+ Config.onoff.offline = !Config.onoff.offline;
+ debug(16, 0) ("offline_mode now %s.\n",
+ Config.onoff.offline ? "ON" : "OFF");
+ storeAppendPrintf(sentry, "offline_mode is now %s\n",
+ Config.onoff.offline ? "ON" : "OFF");
+}
+
static const char *
cachemgrActionProtection(const action_table * at)
{
@@ -330,4 +341,7 @@
cachemgrRegister("shutdown",
"Shut Down the Squid Process",
cachemgrShutdown, 1, 1);
+ cachemgrRegister("offline_toggle",
+ "Toggle offline_mode setting",
+ cachemgrOfflineToggle, 1, 1);
}
Index: squid/src/carp.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/carp.c,v
retrieving revision 1.1.1.1.8.1
retrieving revision 1.1.1.1.8.1.2.1
diff -u -r1.1.1.1.8.1 -r1.1.1.1.8.1.2.1
--- squid/src/carp.c 20 Apr 2000 18:14:21 -0000 1.1.1.1.8.1
+++ squid/src/carp.c 16 May 2000 18:53:52 -0000 1.1.1.1.8.1.2.1
@@ -1,5 +1,5 @@
/*
- * $Id: carp.c,v 1.1.1.1.8.1 2000/04/20 18:14:21 hno Exp $
+ * $Id: carp.c,v 1.1.1.1.8.1.2.1 2000/05/16 18:53:52 hno Exp $
*
* DEBUG: section 39 Cache Array Routing Protocol
* AUTHOR: Eric Stern
@@ -84,6 +84,7 @@
peer *
carpSelectParent(request_t * request)
{
+#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> ((size(u_long)*8)-(n))))
const char *c;
peer *p = NULL;
peer *tp;
@@ -94,7 +95,7 @@
/* calculate url hash */
debug(39, 2) ("carpSelectParent: CARP Calculating hash for %s\n", url);
for (c = url; *c != 0; c++)
- url_hash += (url_hash << 19) + *c;
+ url_hash += ROTATE_LEFT(url_hash, 19) + *c;
/* select peer */
for (tp = Config.peers; tp; tp = tp->next) {
if (0.0 == tp->carp.load_factor)
@@ -104,7 +105,7 @@
assert(tp->type == PEER_PARENT);
combined_hash = (url_hash ^ tp->carp.hash);
combined_hash += combined_hash * 0x62531965;
- combined_hash = combined_hash << 21;
+ combined_hash = ROTATE_LEFT(combined_hash, 21);
combined_hash = combined_hash * tp->carp.load_multiplier;
debug(39, 3) ("carpSelectParent: %s combined_hash %d\n",
tp->host, combined_hash);
Index: squid/src/cf.data.pre
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/cf.data.pre,v
retrieving revision 1.1.1.3.10.6.2.5
retrieving revision 1.1.1.3.10.6.2.6
diff -u -r1.1.1.3.10.6.2.5 -r1.1.1.3.10.6.2.6
--- squid/src/cf.data.pre 14 May 2000 23:22:19 -0000 1.1.1.3.10.6.2.5
+++ squid/src/cf.data.pre 16 May 2000 18:53:52 -0000 1.1.1.3.10.6.2.6
@@ -1,6 +1,6 @@
#
-# $Id: cf.data.pre,v 1.1.1.3.10.6.2.5 2000/05/14 23:22:19 hno Exp $
+# $Id: cf.data.pre,v 1.1.1.3.10.6.2.6 2000/05/16 18:53:52 hno Exp $
#
#
# SQUID Internet Object Cache http://squid.nlanr.net/Squid/
@@ -547,6 +547,16 @@
See replacement_policy below for a discussion of this policy.
DOC_END
+NAME: minimum_object_size
+COMMENT: (bytes)
+TYPE: b_size_t
+DEFAULT: 0 KB
+LOC: Config.Store.minObjectSize
+DOC_START
+ Objects smaller than this size will NOT be saved on disk. The
+ value is specified in kilobytes, and the default is 0 KB, which
+ means there is no minimum.
+DOC_END
NAME: ipcache_size
COMMENT: (number of entries)
@@ -903,6 +913,15 @@
can cut off long filenames when browsing ftp sites.
DOC_END
+NAME: ftp_passive
+TYPE: onoff
+DEFAULT: on
+LOC: Config.Ftp.passive
+DOC_START
+ If your firewall does not allow Squid to use passive
+ connections, then turn off this option.
+DOC_END
+
NAME: cache_dns_program
TYPE: string
IFDEF: USE_DNSSERVERS
@@ -991,6 +1010,8 @@
IFDEF: USE_ICMP
DOC_START
Specify the location of the executable for the pinger process.
+ This is only useful if you configured Squid (during compilation)
+ with the '--enable-icmp' option.
DOC_END
@@ -2648,6 +2669,17 @@
disables WCCP.
DOC_END
+NAME: wccp_version
+TYPE: int
+LOC: Config.Wccp.version
+DEFAULT: 4
+IFDEF: USE_WCCP
+DOC_START
+ According to some users, Cisco IOS 11.2 only supports WCCP
+ version 3. If you're using that version of IOS, change
+ this value to 3.
+DOC_END
+
NAME: wccp_incoming_address
TYPE: address
LOC: Config.Wccp.incoming
Index: squid/src/client.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/Attic/client.c,v
retrieving revision 1.1.1.3.6.1
retrieving revision 1.1.1.3.6.1.2.1
diff -u -r1.1.1.3.6.1 -r1.1.1.3.6.1.2.1
--- squid/src/client.c 20 Apr 2000 18:14:22 -0000 1.1.1.3.6.1
+++ squid/src/client.c 16 May 2000 18:53:52 -0000 1.1.1.3.6.1.2.1
@@ -1,6 +1,6 @@
/*
- * $Id: client.c,v 1.1.1.3.6.1 2000/04/20 18:14:22 hno Exp $
+ * $Id: client.c,v 1.1.1.3.6.1.2.1 2000/05/16 18:53:52 hno Exp $
*
* DEBUG: section 0 WWW Client
* AUTHOR: Harvest Derived
@@ -253,6 +253,7 @@
}
loops = ping ? pcount : 1;
for (i = 0; loops == 0 || i < loops; i++) {
+ int fsize = 0;
/* Connect to the server */
if ((conn = socket(PF_INET, SOCK_STREAM, 0)) < 0) {
perror("client: socket");
@@ -297,6 +298,7 @@
/* Read the data */
while ((len = read(conn, buf, sizeof(buf))) > 0) {
+ fsize += len;
if (to_stdout)
fwrite(buf, len, 1, stdout);
}
@@ -314,10 +316,11 @@
elapsed_msec = tvSubMsec(tv1, tv2);
t2s = tv2.tv_sec;
tmp = localtime(&t2s);
- fprintf(stderr, "%d-%02d-%02d %02d:%02d:%02d [%d]: %ld.%03ld secs\n",
+ fprintf(stderr, "%d-%02d-%02d %02d:%02d:%02d [%d]: %ld.%03ld secs, %f KB/s\n",
tmp->tm_year + 1900, tmp->tm_mon + 1, tmp->tm_mday,
tmp->tm_hour, tmp->tm_min, tmp->tm_sec, i + 1,
- elapsed_msec / 1000, elapsed_msec % 1000);
+ elapsed_msec / 1000, elapsed_msec % 1000,
+ elapsed_msec ? (double) fsize / elapsed_msec : -1.0);
if (i == 0 || elapsed_msec < ping_min)
ping_min = elapsed_msec;
if (i == 0 || elapsed_msec > ping_max)
Index: squid/src/client_db.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/client_db.c,v
retrieving revision 1.1.1.3.6.1
retrieving revision 1.1.1.3.6.1.2.1
diff -u -r1.1.1.3.6.1 -r1.1.1.3.6.1.2.1
--- squid/src/client_db.c 20 Apr 2000 18:14:22 -0000 1.1.1.3.6.1
+++ squid/src/client_db.c 16 May 2000 18:53:52 -0000 1.1.1.3.6.1.2.1
@@ -1,6 +1,6 @@
/*
- * $Id: client_db.c,v 1.1.1.3.6.1 2000/04/20 18:14:22 hno Exp $
+ * $Id: client_db.c,v 1.1.1.3.6.1.2.1 2000/05/16 18:53:52 hno Exp $
*
* DEBUG: section 0 Client Database
* AUTHOR: Duane Wessels
@@ -232,7 +232,6 @@
{
ClientInfo *c = NULL;
char *key;
-
if (current) {
key = inet_ntoa(*current);
hash_first(client_table);
@@ -271,8 +270,7 @@
if (c == NULL) {
debug(49, 5) ("snmp_meshCtblFn: not found.\n");
*ErrP = SNMP_ERR_NOSUCHNAME;
- snmp_var_free(Answer);
- return (NULL);
+ return NULL;
}
switch (Var->name[LEN_SQ_NET + 2]) {
case MESH_CTBL_ADDR:
Index: squid/src/client_side.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/client_side.c,v
retrieving revision 1.1.1.3.10.7.2.5
retrieving revision 1.1.1.3.10.7.2.6
diff -u -r1.1.1.3.10.7.2.5 -r1.1.1.3.10.7.2.6
--- squid/src/client_side.c 14 May 2000 23:22:19 -0000 1.1.1.3.10.7.2.5
+++ squid/src/client_side.c 16 May 2000 18:53:52 -0000 1.1.1.3.10.7.2.6
@@ -1,6 +1,6 @@
/*
- * $Id: client_side.c,v 1.1.1.3.10.7.2.5 2000/05/14 23:22:19 hno Exp $
+ * $Id: client_side.c,v 1.1.1.3.10.7.2.6 2000/05/16 18:53:52 hno Exp $
*
* DEBUG: section 33 Client-side Routines
* AUTHOR: Duane Wessels
@@ -107,7 +107,7 @@
static int clientCachable(clientHttpRequest * http);
static int clientHierarchical(clientHttpRequest * http);
static int clientCheckContentLength(request_t * r);
-static int httpAcceptDefer(void);
+static DEFER httpAcceptDefer;
static log_type clientProcessRequest2(clientHttpRequest * http);
static int clientReplyBodyTooLarge(int clen);
static int clientRequestBodyTooLarge(int clen);
@@ -291,6 +291,9 @@
new_request->my_addr = old_request->my_addr;
new_request->my_port = old_request->my_port;
new_request->flags.redirected = 1;
+ if (old_request->user_ident[0])
+ xstrncpy(new_request->user_ident, old_request->user_ident,
+ USER_IDENT_SZ);
if (old_request->body) {
new_request->body = xmalloc(old_request->body_sz);
xmemcpy(new_request->body, old_request->body, old_request->body_sz);
@@ -566,7 +569,7 @@
StoreEntry *entry;
ErrorState *err = NULL;
HttpReply *r;
- debug(33, 1) ("Config2.onoff.enable_purge = %d\n", Config2.onoff.enable_purge);
+ debug(33, 3) ("Config2.onoff.enable_purge = %d\n", Config2.onoff.enable_purge);
if (!Config2.onoff.enable_purge) {
http->log_type = LOG_TCP_DENIED;
err = errorCon(ERR_ACCESS_DENIED, HTTP_FORBIDDEN);
@@ -1940,9 +1943,10 @@
* the objects age, so a Age: 0 header does not add any useful
* information to the reply in any case.
*/
- if (http->entry->timestamp < squid_curtime)
- httpHeaderPutInt(hdr, HDR_AGE,
- squid_curtime - http->entry->timestamp);
+ if (http->entry->timestamp > -1)
+ if (http->entry->timestamp < squid_curtime)
+ httpHeaderPutInt(hdr, HDR_AGE,
+ squid_curtime - http->entry->timestamp);
}
/* Append X-Cache */
httpHeaderPutStrf(hdr, HDR_X_CACHE, "%s from %s",
@@ -2135,12 +2139,18 @@
http->log_type = LOG_TCP_IMS_HIT;
clientSendMoreData(data, buf, size);
} else {
+ time_t timestamp = e->timestamp;
MemBuf mb = httpPacked304Reply(e->mem_obj->reply);
http->log_type = LOG_TCP_IMS_HIT;
memFree(buf, MEM_CLIENT_SOCK_BUF);
storeUnregister(http->sc, e, http);
storeUnlockObject(e);
e = clientCreateStoreEntry(http, http->request->method, null_request_flags);
+ /*
+ * Copy timestamp from the original entry so the 304
+ * reply has a meaningful Age: header.
+ */
+ e->timestamp = timestamp;
http->entry = e;
httpReplyParse(e->mem_obj->reply, mb.buf, mb.size);
storeAppend(e, mb.buf, mb.size);
@@ -2890,8 +2900,11 @@
* or IMS request.
*/
if (http->entry) {
- if (EBIT_TEST(http->entry->flags, ENTRY_SPECIAL))
+ if (EBIT_TEST(http->entry->flags, ENTRY_SPECIAL)) {
debug(33, 0) ("clientProcessMiss: miss on a special object (%s).\n", url);
+ debug(33, 0) ("\tlog_type = %s\n", log_tags[http->log_type]);
+ storeEntryDump(http->entry, 1);
+ }
storeUnregister(http->sc, http->entry, http);
storeUnlockObject(http->entry);
http->entry = NULL;
@@ -3476,7 +3489,7 @@
}
static int
-httpAcceptDefer(void)
+httpAcceptDefer(int fdunused, void *dataunused)
{
static time_t last_warn = 0;
if (fdNFree() >= RESERVED_FD)
@@ -3502,7 +3515,7 @@
static aclCheck_t identChecklist;
#endif
commSetSelect(sock, COMM_SELECT_READ, httpAccept, NULL, 0);
- while (max-- && !httpAcceptDefer()) {
+ while (max-- && !httpAcceptDefer(sock, NULL)) {
memset(&peer, '\0', sizeof(struct sockaddr_in));
memset(&me, '\0', sizeof(struct sockaddr_in));
if ((fd = comm_accept(sock, &peer, &me)) < 0) {
@@ -3684,7 +3697,11 @@
continue;
comm_listen(fd);
commSetSelect(fd, COMM_SELECT_READ, httpAccept, NULL, 0);
- /*commSetDefer(fd, httpAcceptDefer, NULL); */
+ /*
+ * We need to set a defer handler here so that we don't
+ * peg the CPU with select() when we hit the FD limit.
+ */
+ commSetDefer(fd, httpAcceptDefer, NULL);
debug(1, 1) ("Accepting HTTP connections at %s, port %d, FD %d.\n",
inet_ntoa(s->s.sin_addr),
(int) ntohs(s->s.sin_port),
Index: squid/src/delay_pools.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/delay_pools.c,v
retrieving revision 1.1.1.3.10.3.2.2
retrieving revision 1.1.1.3.10.3.2.3
diff -u -r1.1.1.3.10.3.2.2 -r1.1.1.3.10.3.2.3
--- squid/src/delay_pools.c 14 May 2000 23:22:19 -0000 1.1.1.3.10.3.2.2
+++ squid/src/delay_pools.c 16 May 2000 18:53:53 -0000 1.1.1.3.10.3.2.3
@@ -1,6 +1,6 @@
/*
- * $Id: delay_pools.c,v 1.1.1.3.10.3.2.2 2000/05/14 23:22:19 hno Exp $
+ * $Id: delay_pools.c,v 1.1.1.3.10.3.2.3 2000/05/16 18:53:53 hno Exp $
*
* DEBUG: section 77 Delay Pools
* AUTHOR: David Luyer
@@ -39,12 +39,14 @@
#include "squid.h"
struct _class1DelayPool {
+ int class;
int aggregate;
};
#define IND_MAP_SZ 256
struct _class2DelayPool {
+ int class;
int aggregate;
/* OK: -1 is terminator. individual[255] is always host 255. */
/* 255 entries + 1 terminator byte */
@@ -58,6 +60,7 @@
#define C3_IND_SZ (NET_MAP_SZ*IND_MAP_SZ)
struct _class3DelayPool {
+ int class;
int aggregate;
/* OK: -1 is terminator. network[255] is always host 255. */
/* 255 entries + 1 terminator byte */
@@ -89,6 +92,7 @@
static fd_set delay_no_delay;
static time_t delay_pools_last_update = 0;
static hash_table *delay_id_ptr_hash = NULL;
+static long memory_used = 0;
static OBJH delayPoolStats;
@@ -139,7 +143,8 @@
{
if (!pools)
return;
- delay_data = xcalloc(pools, sizeof(delayPool));
+ delay_data = xcalloc(pools, sizeof(*delay_data));
+ memory_used += sizeof(*delay_data);
eventAdd("delayPoolsUpdate", delayPoolsUpdate, NULL, 1.0, 1);
delay_id_ptr_hash = hash_create(delayIdPtrHashCmp, 256, delayIdPtrHash);
}
@@ -151,12 +156,14 @@
delay_id *id = (delay_id *) h->key;
*id = 0;
xfree(h);
+ memory_used -= sizeof(*h);
}
void
delayFreeDelayData(void)
{
safe_free(delay_data);
+ memory_used -= sizeof(*delay_data);
if (!delay_id_ptr_hash)
return;
hashFreeItems(delay_id_ptr_hash, delayIdZero);
@@ -173,6 +180,7 @@
if (*loc == 0)
return;
lnk = xmalloc(sizeof(hash_link));
+ memory_used += sizeof(hash_link);
lnk->key = (char *) loc;
hash_join(delay_id_ptr_hash, lnk);
}
@@ -194,6 +202,7 @@
assert(lnk);
hash_remove_link(delay_id_ptr_hash, lnk);
xxfree(lnk);
+ memory_used -= sizeof(*lnk);
}
void
@@ -202,12 +211,18 @@
switch (class) {
case 1:
delay_data[pool].class1 = xmalloc(sizeof(class1DelayPool));
+ delay_data[pool].class1->class = 1;
+ memory_used += sizeof(class1DelayPool);
break;
case 2:
delay_data[pool].class2 = xmalloc(sizeof(class2DelayPool));
+ delay_data[pool].class1->class = 2;
+ memory_used += sizeof(class2DelayPool);
break;
case 3:
delay_data[pool].class3 = xmalloc(sizeof(class3DelayPool));
+ delay_data[pool].class1->class = 3;
+ memory_used += sizeof(class3DelayPool);
break;
default:
assert(0);
@@ -248,6 +263,20 @@
delayFreeDelayPool(unsigned short pool)
{
/* this is a union - and all free() cares about is the pointer location */
+ switch (delay_data[pool].class1->class) {
+ case 1:
+ memory_used -= sizeof(class1DelayPool);
+ break;
+ case 2:
+ memory_used -= sizeof(class2DelayPool);
+ break;
+ case 3:
+ memory_used -= sizeof(class3DelayPool);
+ break;
+ default:
+ debug(77, 1) ("delayFreeDelayPool: bad class %d\n",
+ delay_data[pool].class1->class);
+ }
safe_free(delay_data[pool].class1);
}
@@ -290,6 +319,10 @@
ch.my_addr = r->my_addr;
ch.my_port = r->my_port;
ch.request = r;
+ if (r->client_addr.s_addr == INADDR_BROADCAST) {
+ debug(77, 2) ("delayClient: WARNING: Called with 'allones' address, ignoring\n");
+ return delayId(0, 0);
+ }
for (pool = 0; pool < Config.Delay.pools; pool++) {
if (aclCheckFast(Config.Delay.access[pool], &ch))
break;
@@ -437,6 +470,7 @@
int individual_restore_bytes, network_restore_bytes;
int mpos;
unsigned int i, j;
+ char individual_255_used;
/* delaySetSpec may be pointer to partial structure so MUST pass by
* reference.
*/
@@ -452,21 +486,14 @@
return;
individual_restore_bytes *= incr;
network_restore_bytes *= incr;
- if (class3->network_255_used)
- i = 255;
- else
- i = 0;
- for (;;) {
+ for (i = 0; i < ((class3->network_255_used) ? NET_MAP_SZ : NET_MAP_SZ - 1); ++i) {
assert(i < NET_MAP_SZ);
if (i != 255 && class3->network_map[i] == 255)
return;
if (individual_restore_bytes != -incr) {
mpos = i << 8;
- if (class3->individual_255_used[i / 8] & (1 << (i % 8)))
- j = 255;
- else
- j = 0;
- for (;;) {
+ individual_255_used = class3->individual_255_used[i / 8] & (1 << (i % 8));
+ for (j = 0; j < ((individual_255_used) ? IND_MAP_SZ : IND_MAP_SZ - 1); ++j, ++mpos) {
assert(i < NET_MAP_SZ);
assert(j < IND_MAP_SZ);
if (j != 255 && class3->individual_map[i][j] == 255)
@@ -476,11 +503,6 @@
(class3->individual[mpos] += individual_restore_bytes) >
rates->individual.max_bytes)
class3->individual[mpos] = rates->individual.max_bytes;
- mpos++;
- if (j == (IND_MAP_SZ - 1))
- mpos -= 256;
- if (++j == (IND_MAP_SZ - 1))
- break;
}
}
if (network_restore_bytes != -incr &&
@@ -814,6 +836,7 @@
assert(0);
}
}
+ storeAppendPrintf(sentry, "Memory Used: %d bytes\n", (int) memory_used);
}
#endif
Index: squid/src/dns.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/dns.c,v
retrieving revision 1.1.1.3.10.2
retrieving revision 1.1.1.3.10.2.2.1
diff -u -r1.1.1.3.10.2 -r1.1.1.3.10.2.2.1
--- squid/src/dns.c 20 Apr 2000 18:14:22 -0000 1.1.1.3.10.2
+++ squid/src/dns.c 16 May 2000 18:53:53 -0000 1.1.1.3.10.2.2.1
@@ -1,6 +1,6 @@
/*
- * $Id: dns.c,v 1.1.1.3.10.2 2000/04/20 18:14:22 hno Exp $
+ * $Id: dns.c,v 1.1.1.3.10.2.2.1 2000/05/16 18:53:53 hno Exp $
*
* DEBUG: section 34 Dnsserver interface
* AUTHOR: Harvest Derived
@@ -106,10 +106,10 @@
snmp_netDnsFn(variable_list * Var, snint * ErrP)
{
variable_list *Answer = NULL;
- debug(49, 5) ("snmp_netDnsFn: Processing request:\n", Var->name[LEN_SQ_NET +
- 1]);
+ debug(49, 5) ("snmp_netDnsFn: Processing request:\n", Var->name[LEN_SQ_NET + 1]);
snmpDebugOid(5, Var->name, Var->name_length);
*ErrP = SNMP_ERR_NOERROR;
+#if USE_DNSSERVERS
switch (Var->name[LEN_SQ_NET + 1]) {
case DNS_REQ:
Answer = snmp_var_new_integer(Var->name, Var->name_length,
@@ -130,6 +130,11 @@
*ErrP = SNMP_ERR_NOSUCHNAME;
break;
}
+#else
+ Answer = snmp_var_new_integer(Var->name, Var->name_length,
+ 0,
+ SMI_COUNTER32);
+#endif
return Answer;
}
#endif /*SQUID_SNMP */
Index: squid/src/dns_internal.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/dns_internal.c,v
retrieving revision 1.1.1.1.10.4.2.3
retrieving revision 1.1.1.1.10.4.2.4
diff -u -r1.1.1.1.10.4.2.3 -r1.1.1.1.10.4.2.4
--- squid/src/dns_internal.c 14 May 2000 23:22:19 -0000 1.1.1.1.10.4.2.3
+++ squid/src/dns_internal.c 16 May 2000 18:53:53 -0000 1.1.1.1.10.4.2.4
@@ -1,6 +1,6 @@
/*
- * $Id: dns_internal.c,v 1.1.1.1.10.4.2.3 2000/05/14 23:22:19 hno Exp $
+ * $Id: dns_internal.c,v 1.1.1.1.10.4.2.4 2000/05/16 18:53:53 hno Exp $
*
* DEBUG: section 78 DNS lookups; interacts with lib/rfc1035.c
* AUTHOR: Duane Wessels
@@ -87,6 +87,11 @@
static void
idnsAddNameserver(const char *buf)
{
+ struct in_addr A;
+ if (!safe_inet_addr(buf, &A)) {
+ debug(78, 0) ("WARNING: rejecting '%s' as a name server, because it is not a numeric IP address\n", buf);
+ return;
+ }
if (nns == nns_alloc) {
int oldalloc = nns_alloc;
ns *oldptr = nameservers;
@@ -103,7 +108,7 @@
assert(nns < nns_alloc);
nameservers[nns].S.sin_family = AF_INET;
nameservers[nns].S.sin_port = htons(DOMAIN_PORT);
- nameservers[nns].S.sin_addr.s_addr = inet_addr(buf);
+ nameservers[nns].S.sin_addr.s_addr = A.s_addr;
debug(78, 3) ("idnsAddNameserver: Added nameserver #%d: %s\n",
nns, inet_ntoa(nameservers[nns].S.sin_addr));
nns++;
@@ -142,13 +147,13 @@
t = strtok(buf, w_space);
if (NULL == t)
continue;
- if (strcasecmp(t, "nameserver") == 0) {
- t = strtok(NULL, w_space);
- if (t == NULL)
- continue;;
- debug(78, 1) ("Adding nameserver %s from %s\n", t, _PATH_RESOLV_CONF);
- idnsAddNameserver(t);
- }
+ if (strcasecmp(t, "nameserver"))
+ continue;
+ t = strtok(NULL, w_space);
+ if (t == NULL)
+ continue;
+ debug(78, 1) ("Adding nameserver %s from %s\n", t, _PATH_RESOLV_CONF);
+ idnsAddNameserver(t);
}
fclose(fp);
}
Index: squid/src/fqdncache.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/fqdncache.c,v
retrieving revision 1.1.1.3.6.1
retrieving revision 1.1.1.3.6.1.2.1
diff -u -r1.1.1.3.6.1 -r1.1.1.3.6.1.2.1
--- squid/src/fqdncache.c 20 Apr 2000 18:14:22 -0000 1.1.1.3.6.1
+++ squid/src/fqdncache.c 16 May 2000 18:53:53 -0000 1.1.1.3.6.1.2.1
@@ -1,7 +1,7 @@
/*
- * $Id: fqdncache.c,v 1.1.1.3.6.1 2000/04/20 18:14:22 hno Exp $
+ * $Id: fqdncache.c,v 1.1.1.3.6.1.2.1 2000/05/16 18:53:53 hno Exp $
*
* DEBUG: section 35 FQDN Cache
* AUTHOR: Harvest Derived
@@ -652,20 +652,10 @@
hash_join(fqdn_table, (hash_link *) f);
}
-/* call during reconfigure phase to clear out all the
- * pending and dispatched reqeusts that got lost */
+/* Recalculate FQDN cache size upon reconfigure */
void
fqdncache_restart(void)
{
- fqdncache_entry *this;
- assert(fqdn_table);
- hash_first(fqdn_table);
- while ((this = (fqdncache_entry *) hash_next(fqdn_table))) {
- if (this->status == FQDN_CACHED)
- continue;
- if (this->status == FQDN_NEGATIVE_CACHED)
- continue;
- }
fqdncache_high = (long) (((float) Config.fqdncache.size *
(float) FQDN_HIGH_WATER) / (float) 100);
fqdncache_low = (long) (((float) Config.fqdncache.size *
@@ -681,8 +671,7 @@
snmp_netFqdnFn(variable_list * Var, snint * ErrP)
{
variable_list *Answer = NULL;
- debug(49, 5) ("snmp_netFqdnFn: Processing request:\n", Var->name[LEN_SQ_NET +
- 1]);
+ debug(49, 5) ("snmp_netFqdnFn: Processing request:\n", Var->name[LEN_SQ_NET + 1]);
snmpDebugOid(5, Var->name, Var->name_length);
*ErrP = SNMP_ERR_NOERROR;
switch (Var->name[LEN_SQ_NET + 1]) {
Index: squid/src/ftp.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/ftp.c,v
retrieving revision 1.1.1.3.10.3
retrieving revision 1.1.1.3.10.3.2.1
diff -u -r1.1.1.3.10.3 -r1.1.1.3.10.3.2.1
--- squid/src/ftp.c 20 Apr 2000 18:14:22 -0000 1.1.1.3.10.3
+++ squid/src/ftp.c 16 May 2000 18:53:53 -0000 1.1.1.3.10.3.2.1
@@ -1,6 +1,6 @@
/*
- * $Id: ftp.c,v 1.1.1.3.10.3 2000/04/20 18:14:22 hno Exp $
+ * $Id: ftp.c,v 1.1.1.3.10.3.2.1 2000/05/16 18:53:53 hno Exp $
*
* DEBUG: section 9 File Transfer Protocol (FTP)
* AUTHOR: Harvest Derived
@@ -422,11 +422,10 @@
}
storeAppendPrintf(e, "
\n");
storeAppendPrintf(e, "\n");
- storeAppendPrintf(e, "Generated %s by %s (%s)\n",
+ storeAppendPrintf(e, "Generated %s by %s (%s)\n",
mkrfc1123(squid_curtime),
getMyHostname(),
- full_appname_string,
- version_string);
+ full_appname_string);
storeAppendPrintf(e, "\n");
storeBufferFlush(e);
}
@@ -1052,7 +1051,12 @@
ftpState->data.fd = -1;
ftpState->size = -1;
ftpState->mdtm = -1;
- ftpState->flags.pasv_supported = !fwd->flags.ftp_pasv_failed;
+ if (!Config.Ftp.passive)
+ ftpState->flags.rest_supported = 0;
+ else if (fwd->flags.ftp_pasv_failed)
+ ftpState->flags.pasv_supported = 0;
+ else
+ ftpState->flags.pasv_supported = 1;
ftpState->flags.rest_supported = 1;
ftpState->fwd = fwd;
comm_add_close_handler(fd, ftpStateFree, ftpState);
@@ -1819,7 +1823,7 @@
return -1;
}
ftpState->data.fd = fd;
- ftpState->data.port = comm_local_port(fd);;
+ ftpState->data.port = comm_local_port(fd);
ftpState->data.host = NULL;
return fd;
}
@@ -1869,10 +1873,10 @@
ftpAcceptDataConnection(int fd, void *data)
{
FtpStateData *ftpState = data;
- struct sockaddr_in peer, me;
+ struct sockaddr_in my_peer, me;
debug(9, 3) ("ftpAcceptDataConnection\n");
- fd = comm_accept(fd, &peer, &me);
+ fd = comm_accept(fd, &my_peer, &me);
if (fd < 0) {
debug(9, 1) ("ftpHandleDataAccept: comm_accept(%d): %s", fd, xstrerror());
/* XXX Need to set error message */
@@ -1883,8 +1887,8 @@
comm_close(ftpState->data.fd);
debug(9, 3) ("ftpAcceptDataConnection: Connected data socket on FD %d\n", fd);
ftpState->data.fd = fd;
- ftpState->data.port = ntohs(peer.sin_port);
- ftpState->data.host = xstrdup(inet_ntoa(peer.sin_addr));
+ ftpState->data.port = ntohs(my_peer.sin_port);
+ ftpState->data.host = xstrdup(inet_ntoa(my_peer.sin_addr));
commSetTimeout(ftpState->ctrl.fd, -1, NULL, NULL);
commSetTimeout(ftpState->data.fd, Config.Timeout.read, ftpTimeout,
ftpState);
@@ -2341,8 +2345,8 @@
err = errorCon(ERR_FTP_FAILURE, HTTP_BAD_GATEWAY);
err->xerrno = errno;
err->request = requestLink(ftpState->request);
- err->ftp.server_msg = ftpState->cwd_message;
- ftpState->cwd_message = NULL;
+ err->ftp.server_msg = ftpState->ctrl.message;
+ ftpState->ctrl.message = NULL;
if (ftpState->old_request)
command = ftpState->old_request;
else
Index: squid/src/gopher.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/gopher.c,v
retrieving revision 1.1.1.3.6.1
retrieving revision 1.1.1.3.6.1.2.1
diff -u -r1.1.1.3.6.1 -r1.1.1.3.6.1.2.1
--- squid/src/gopher.c 20 Apr 2000 18:14:22 -0000 1.1.1.3.6.1
+++ squid/src/gopher.c 16 May 2000 18:53:53 -0000 1.1.1.3.6.1.2.1
@@ -1,7 +1,7 @@
/*
- * $Id: gopher.c,v 1.1.1.3.6.1 2000/04/20 18:14:22 hno Exp $
+ * $Id: gopher.c,v 1.1.1.3.6.1.2.1 2000/05/16 18:53:53 hno Exp $
*
* DEBUG: section 10 Gopher
* AUTHOR: Harvest Derived
@@ -284,7 +284,7 @@
char *host = NULL;
char *port = NULL;
char *escaped_selector = NULL;
- char *icon_url = NULL;
+ const char *icon_url = NULL;
char gtype;
StoreEntry *entry = NULL;
Index: squid/src/http.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/http.c,v
retrieving revision 1.1.1.3.10.4.2.1
retrieving revision 1.1.1.3.10.4.2.2
diff -u -r1.1.1.3.10.4.2.1 -r1.1.1.3.10.4.2.2
--- squid/src/http.c 14 May 2000 23:22:19 -0000 1.1.1.3.10.4.2.1
+++ squid/src/http.c 16 May 2000 18:53:53 -0000 1.1.1.3.10.4.2.2
@@ -1,6 +1,6 @@
/*
- * $Id: http.c,v 1.1.1.3.10.4.2.1 2000/05/14 23:22:19 hno Exp $
+ * $Id: http.c,v 1.1.1.3.10.4.2.2 2000/05/16 18:53:53 hno Exp $
*
* DEBUG: section 11 Hypertext Transfer Protocol (HTTP)
* AUTHOR: Harvest Derived
@@ -329,7 +329,7 @@
assert(httpState->reply_hdr_state == 0);
hdr_len = httpState->reply_hdr_size;
room = 8191 - hdr_len;
- memcpy(httpState->reply_hdr + hdr_len, buf, room < size ? room : size);
+ xmemcpy(httpState->reply_hdr + hdr_len, buf, room < size ? room : size);
hdr_len += room < size ? room : size;
httpState->reply_hdr[hdr_len] = '\0';
httpState->reply_hdr_size = hdr_len;
@@ -342,17 +342,9 @@
t = httpState->reply_hdr + hdr_len;
/* headers can be incomplete only if object still arriving */
if (!httpState->eof) {
- size_t k = headersEnd(httpState->reply_hdr, hdr_len);
- if (0 == k) {
- if (hdr_len >= 8191 || room == 0) {
- debug(11, 3) ("httpProcessReplyHeader: Too large HTTP header: '%s'\n", httpState->reply_hdr);
- httpState->reply_hdr_state += 2;
- reply->sline.status = HTTP_INVALID_HEADER;
- return;
- } else {
- return; /* headers not complete */
- }
- }
+ size_t k = headersEnd(httpState->reply_hdr, 8192);
+ if (0 == k)
+ return; /* headers not complete */
t = httpState->reply_hdr + k;
}
*t = '\0';
Index: squid/src/icmp.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/icmp.c,v
retrieving revision 1.1.1.2.12.2
retrieving revision 1.1.1.2.12.2.2.1
diff -u -r1.1.1.2.12.2 -r1.1.1.2.12.2.2.1
--- squid/src/icmp.c 20 Apr 2000 18:14:22 -0000 1.1.1.2.12.2
+++ squid/src/icmp.c 16 May 2000 18:53:53 -0000 1.1.1.2.12.2.2.1
@@ -1,6 +1,6 @@
/*
- * $Id: icmp.c,v 1.1.1.2.12.2 2000/04/20 18:14:22 hno Exp $
+ * $Id: icmp.c,v 1.1.1.2.12.2.2.1 2000/05/16 18:53:53 hno Exp $
*
* DEBUG: section 37 ICMP Routines
* AUTHOR: Duane Wessels
@@ -56,6 +56,7 @@
static pingerEchoData pecho;
if (payload && len == 0)
len = strlen(payload);
+ assert(len <= PINGER_PAYLOAD_SZ);
pecho.to = to;
pecho.opcode = (unsigned char) opcode;
pecho.psize = len;
@@ -112,10 +113,12 @@
int x;
if (icmp_sock < 0)
return;
+ debug(37, 2) ("icmpSend: to %s, opcode %d, len %d\n",
+ inet_ntoa(pkt->to), (int) pkt->opcode, pkt->psize);
x = send(icmp_sock, (char *) pkt, len, 0);
if (x < 0) {
debug(50, 1) ("icmpSend: send: %s\n", xstrerror());
- if (errno == ECONNREFUSED) {
+ if (errno == ECONNREFUSED || errno == EPIPE) {
icmpClose();
return;
}
Index: squid/src/icp_v2.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/icp_v2.c,v
retrieving revision 1.1.1.3.6.1
retrieving revision 1.1.1.3.6.1.2.1
diff -u -r1.1.1.3.6.1 -r1.1.1.3.6.1.2.1
--- squid/src/icp_v2.c 20 Apr 2000 18:14:22 -0000 1.1.1.3.6.1
+++ squid/src/icp_v2.c 16 May 2000 18:53:53 -0000 1.1.1.3.6.1.2.1
@@ -1,6 +1,6 @@
/*
- * $Id: icp_v2.c,v 1.1.1.3.6.1 2000/04/20 18:14:22 hno Exp $
+ * $Id: icp_v2.c,v 1.1.1.3.6.1.2.1 2000/05/16 18:53:53 hno Exp $
*
* DEBUG: section 12 Internet Cache Protocol
* AUTHOR: Duane Wessels
@@ -223,6 +223,7 @@
icpUdpSend(fd, &from, reply, LOG_UDP_INVALID, 0);
break;
}
+ memset(&checklist, '\0', sizeof(checklist));
checklist.src_addr = from.sin_addr;
checklist.my_addr = no_addr;
checklist.request = icp_request;
Index: squid/src/icp_v3.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/icp_v3.c,v
retrieving revision 1.1.1.3.6.1
retrieving revision 1.1.1.3.6.1.2.1
diff -u -r1.1.1.3.6.1 -r1.1.1.3.6.1.2.1
--- squid/src/icp_v3.c 20 Apr 2000 18:14:22 -0000 1.1.1.3.6.1
+++ squid/src/icp_v3.c 16 May 2000 18:53:53 -0000 1.1.1.3.6.1.2.1
@@ -1,6 +1,6 @@
/*
- * $Id: icp_v3.c,v 1.1.1.3.6.1 2000/04/20 18:14:22 hno Exp $
+ * $Id: icp_v3.c,v 1.1.1.3.6.1.2.1 2000/05/16 18:53:53 hno Exp $
*
* DEBUG: section 12 Internet Cache Protocol
* AUTHOR: Duane Wessels
@@ -77,6 +77,7 @@
icpUdpSend(fd, &from, reply, LOG_UDP_INVALID, 0);
break;
}
+ memset(&checklist, '\0', sizeof(checklist));
checklist.src_addr = from.sin_addr;
checklist.my_addr = no_addr;
checklist.request = icp_request;
Index: squid/src/ident.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/ident.c,v
retrieving revision 1.1.1.3.6.1
retrieving revision 1.1.1.3.6.1.2.1
diff -u -r1.1.1.3.6.1 -r1.1.1.3.6.1.2.1
--- squid/src/ident.c 20 Apr 2000 18:14:22 -0000 1.1.1.3.6.1
+++ squid/src/ident.c 16 May 2000 18:53:53 -0000 1.1.1.3.6.1.2.1
@@ -1,6 +1,6 @@
/*
- * $Id: ident.c,v 1.1.1.3.6.1 2000/04/20 18:14:22 hno Exp $
+ * $Id: ident.c,v 1.1.1.3.6.1.2.1 2000/05/16 18:53:53 hno Exp $
*
* DEBUG: section 30 Ident (RFC 931)
* AUTHOR: Duane Wessels
@@ -51,7 +51,7 @@
struct _IdentStateData *next;
int fd; /* IDENT fd */
struct sockaddr_in me;
- struct sockaddr_in peer;
+ struct sockaddr_in my_peer;
IdentClient *clients;
} IdentStateData;
@@ -94,7 +94,7 @@
{
IdentStateData *state = data;
debug(30, 3) ("identTimeout: FD %d, %s\n", fd,
- inet_ntoa(state->peer.sin_addr));
+ inet_ntoa(state->my_peer.sin_addr));
comm_close(fd);
}
@@ -123,7 +123,7 @@
}
memBufDefInit(&mb);
memBufPrintf(&mb, "%d, %d\r\n",
- ntohs(state->peer.sin_port),
+ ntohs(state->my_peer.sin_port),
ntohs(state->me.sin_port));
comm_write_mbuf(fd, mb, NULL, state);
commSetSelect(fd, COMM_SELECT_READ, identReadReply, state, 0);
@@ -185,7 +185,7 @@
* start a TCP connection to the peer host on port 113
*/
void
-identStart(struct sockaddr_in *me, struct sockaddr_in *peer, IDCB * callback, void *data)
+identStart(struct sockaddr_in *me, struct sockaddr_in *my_peer, IDCB * callback, void *data)
{
IdentStateData *state;
int fd;
@@ -196,8 +196,8 @@
inet_ntoa(me->sin_addr),
ntohs(me->sin_port));
snprintf(key2, IDENT_KEY_SZ, "%s:%d",
- inet_ntoa(peer->sin_addr),
- ntohs(peer->sin_port));
+ inet_ntoa(my_peer->sin_addr),
+ ntohs(my_peer->sin_port));
snprintf(key, IDENT_KEY_SZ, "%s,%s", key1, key2);
if ((state = hash_lookup(ident_hash, key)) != NULL) {
identClientAdd(state, callback, data);
@@ -219,7 +219,7 @@
state->key = xstrdup(key);
state->fd = fd;
state->me = *me;
- state->peer = *peer;
+ state->my_peer = *my_peer;
identClientAdd(state, callback, data);
hash_join(ident_hash, (hash_link *) state);
comm_add_close_handler(fd,
@@ -227,7 +227,7 @@
state);
commSetTimeout(fd, Config.Timeout.ident, identTimeout, state);
commConnectStart(fd,
- inet_ntoa(state->peer.sin_addr),
+ inet_ntoa(state->my_peer.sin_addr),
IDENT_PORT,
identConnectDone,
state);
Index: squid/src/ipcache.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/ipcache.c,v
retrieving revision 1.1.1.3.6.1
retrieving revision 1.1.1.3.6.1.2.1
diff -u -r1.1.1.3.6.1 -r1.1.1.3.6.1.2.1
--- squid/src/ipcache.c 20 Apr 2000 18:14:22 -0000 1.1.1.3.6.1
+++ squid/src/ipcache.c 16 May 2000 18:53:53 -0000 1.1.1.3.6.1.2.1
@@ -1,6 +1,6 @@
/*
- * $Id: ipcache.c,v 1.1.1.3.6.1 2000/04/20 18:14:22 hno Exp $
+ * $Id: ipcache.c,v 1.1.1.3.6.1.2.1 2000/05/16 18:53:53 hno Exp $
*
* DEBUG: section 14 IP Cache
* AUTHOR: Harvest Derived
@@ -730,7 +730,7 @@
if (++ia->cur == ia->count)
ia->cur = 0;
if (!ia->bad_mask[ia->cur])
- break;;
+ break;
}
if (k == ia->count) {
/* All bad, reset to All good */
@@ -837,21 +837,10 @@
hash_join(ip_table, (hash_link *) i);
}
-/* call during reconfigure phase to clear out all the
- * pending and dispatched reqeusts that got lost */
+/* Recalculate IP cache size upon reconfigure */
void
ipcache_restart(void)
{
- ipcache_entry *this;
- assert(ip_table != NULL);
- hash_first(ip_table);
- while ((this = (ipcache_entry *) hash_next(ip_table))) {
- if (this->status == IP_CACHED)
- continue;
- if (this->status == IP_NEGATIVE_CACHED)
- continue;
- }
- /* recalculate these while we're at it */
ipcache_high = (long) (((float) Config.ipcache.size *
(float) Config.ipcache.high) / (float) 100);
ipcache_low = (long) (((float) Config.ipcache.size *
Index: squid/src/mib.txt
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/mib.txt,v
retrieving revision 1.1.1.3
retrieving revision 1.1.1.3.6.1
diff -u -r1.1.1.3 -r1.1.1.3.6.1
--- squid/src/mib.txt 26 Jan 2000 03:25:01 -0000 1.1.1.3
+++ squid/src/mib.txt 16 May 2000 18:53:53 -0000 1.1.1.3.6.1
@@ -1,6 +1,8 @@
-SQUID-MIB DEFINITIONS ::= BEGIN
+SQUID-MIB { iso org(3) dod(6) internet(1) private(4) enterprises(1) 3495 }
+
+DEFINITIONS ::= BEGIN
--
--- $Id: mib.txt,v 1.1.1.3 2000/01/26 03:25:01 hno Exp $
+-- $Id: mib.txt,v 1.1.1.3.6.1 2000/05/16 18:53:53 hno Exp $
--
IMPORTS
@@ -17,28 +19,19 @@
LAST-UPDATED "9809220000Z"
ORGANIZATION "National Laboratory for Applied Network Research"
CONTACT-INFO
- " Glenn Chisholm
-
- Postal: National Centre for Atmospheric Research (NCAR)
- Room 36, SCD
- PO Box 3000
- Boulder, Colorado 80307
- US
-
- Tel: +1 303 497 1289
- Fax: +1 303 497 1818
+ " Squid Developers
- E-mail: glenn@ircache.net"
+ E-mail: squid@squid-cache.org"
DESCRIPTION
- "Squid MIB defined for the management of the squid
- proxy server. See http://squid.nlanr.net/."
-
+ "Squid MIB defined for the management of the Squid
+ proxy server. See http://www.squid-cache.org/."
+
REVISION "9809220000Z"
DESCRIPTION
"Move to SMIv2. Prepare to split into proxy/squid."
REVISION "9901010000Z"
DESCRIPTION
- "Added objects and corrected asn.1 syntax and
+ "Added objects and corrected asn.1 syntax and
descriptions."
::= { nlanr 1 }
@@ -49,7 +42,7 @@
cacheSystem OBJECT IDENTIFIER ::= { squid 1 }
cacheConfig OBJECT IDENTIFIER ::= { squid 2 }
cachePerf OBJECT IDENTIFIER ::= { squid 3 }
- cacheNetwork OBJECT IDENTIFIER ::= { squid 4 }
+ cacheNetwork OBJECT IDENTIFIER ::= { squid 4 }
cacheMesh OBJECT IDENTIFIER ::= { squid 5 }
@@ -62,7 +55,7 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " Storage Mem size in KB"
+ " Storage Mem size in KB "
::= { cacheSystem 1 }
cacheSysStorage OBJECT-TYPE
@@ -70,15 +63,15 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " Storage Swap size in KB"
+ " Storage Swap size in KB "
::= { cacheSystem 2 }
cacheUptime OBJECT-TYPE
- SYNTAX Timeticks
+ SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " The Uptime of the cache in timeticks"
+ " The Uptime of the cache in timeticks "
::= { cacheSystem 3 }
--
@@ -117,9 +110,9 @@
STATUS current
DESCRIPTION
" Logging Facility. An informational string
- indicating logging info like debug level,
- local/syslog/remote logging etc "
- ::= { cacheConfig 4 }
+ indicating logging info like debug level,
+ local/syslog/remote logging etc "
+ ::= { cacheConfig 4 }
-- cacheStorageConfig group
@@ -130,7 +123,7 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " The value of the cache_mem parameter in MB"
+ " The value of the cache_mem parameter in MB "
::= { cacheStorageConfig 1 }
cacheSwapMaxSize OBJECT-TYPE
@@ -138,7 +131,7 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " The total of the cache_dir space allocated in MB"
+ " The total of the cache_dir space allocated in MB "
::= { cacheStorageConfig 2 }
cacheSwapHighWM OBJECT-TYPE
@@ -146,7 +139,7 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " Cache Swap High Water Mark"
+ " Cache Swap High Water Mark "
::= { cacheStorageConfig 3 }
cacheSwapLowWM OBJECT-TYPE
@@ -154,7 +147,7 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " Cache Swap Low Water Mark"
+ " Cache Swap Low Water Mark "
::= { cacheStorageConfig 4 }
-- end of cacheStorageConfig group
@@ -163,11 +156,11 @@
-- performance group { squid 3 }
--
- cacheSysPerf OBJECT IDENTIFIER ::= { cachePerf 1 }
+ cacheSysPerf OBJECT IDENTIFIER ::= { cachePerf 1 }
cacheProtoStats OBJECT IDENTIFIER ::= { cachePerf 2 }
--
- -- cacheSysPerf
+ -- cacheSysPerf
--
cacheSysPageFaults OBJECT-TYPE
@@ -175,15 +168,15 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " Page faults with physical i/o"
+ " Page faults with physical i/o "
::= { cacheSysPerf 1 }
cacheSysNumReads OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS not-accessible
- STATUS current
+ STATUS current
DESCRIPTION
- " HTTP I/O number of reads"
+ " HTTP I/O number of reads "
::= { cacheSysPerf 2 }
cacheMemUsage OBJECT-TYPE
@@ -191,15 +184,15 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " Total memory accounted for KB"
- ::= { cacheSysPerf 3 }
+ " Total memory accounted for KB "
+ ::= { cacheSysPerf 3 }
cacheCpuTime OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " Amount of cpu seconds consumed"
+ " Amount of cpu seconds consumed "
::= { cacheSysPerf 4 }
cacheCpuUsage OBJECT-TYPE
@@ -207,7 +200,7 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " The percentage use of the CPU"
+ " The percentage use of the CPU "
::= { cacheSysPerf 5 }
cacheMaxResSize OBJECT-TYPE
@@ -215,15 +208,15 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " Maximum Resident Size in KB"
+ " Maximum Resident Size in KB "
::= { cacheSysPerf 6 }
cacheNumObjCount OBJECT-TYPE
- SYNTAX Counter32
+ SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " Number of objects stored by the cache"
+ " Number of objects stored by the cache "
::= { cacheSysPerf 7 }
cacheCurrentLRUExpiration OBJECT-TYPE
@@ -231,7 +224,7 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " Storage LRU Expiration Age"
+ " Storage LRU Expiration Age "
::= { cacheSysPerf 8 }
cacheCurrentUnlinkRequests OBJECT-TYPE
@@ -239,23 +232,23 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " Requests given to unlinkd"
+ " Requests given to unlinkd "
::= { cacheSysPerf 9 }
- cacheCurrentUnusedFileDescrCount OBJECT-TYPE
+ cacheCurrentUnusedFDescrCnt OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " Available number of file descriptors"
+ " Available number of file descriptors "
::= { cacheSysPerf 10 }
- cacheCurrentReservedFileDescrCount OBJECT-TYPE
+ cacheCurrentResFileDescrCnt OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " Reserved number of file descriptors"
+ " Reserved number of file descriptors "
::= { cacheSysPerf 11 }
--
@@ -268,12 +261,12 @@
cacheProtoAggregateStats OBJECT IDENTIFIER ::= { cacheProtoStats 1 }
- cacheClientHttpRequests OBJECT-TYPE
+ cacheProtoClientHttpRequests OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " Number of HTTP requests received"
+ " Number of HTTP requests received "
::= { cacheProtoAggregateStats 1 }
cacheHttpHits OBJECT-TYPE
@@ -281,7 +274,7 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " Number of HTTP Hits"
+ " Number of HTTP Hits "
::= { cacheProtoAggregateStats 2 }
cacheHttpErrors OBJECT-TYPE
@@ -289,7 +282,7 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " Number of HTTP Errors"
+ " Number of HTTP Errors "
::= { cacheProtoAggregateStats 3 }
cacheHttpInKb OBJECT-TYPE
@@ -297,7 +290,7 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " Number of HTTP KB's recieved"
+ " Number of HTTP KB's recieved "
::= { cacheProtoAggregateStats 4 }
cacheHttpOutKb OBJECT-TYPE
@@ -305,7 +298,7 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " Number of HTTP KB's transmitted"
+ " Number of HTTP KB's transmitted "
::= { cacheProtoAggregateStats 5 }
cacheIcpPktsSent OBJECT-TYPE
@@ -313,7 +306,7 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " Number of ICP messages sent"
+ " Number of ICP messages sent "
::= { cacheProtoAggregateStats 6 }
cacheIcpPktsRecv OBJECT-TYPE
@@ -321,7 +314,7 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " Number of ICP messages received"
+ " Number of ICP messages received "
::= { cacheProtoAggregateStats 7 }
cacheIcpKbSent OBJECT-TYPE
@@ -329,7 +322,7 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " Number of ICP KB's transmitted"
+ " Number of ICP KB's transmitted "
::= { cacheProtoAggregateStats 8 }
cacheIcpKbRecv OBJECT-TYPE
@@ -337,7 +330,7 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " Number of ICP KB's recieved"
+ " Number of ICP KB's recieved "
::= { cacheProtoAggregateStats 9 }
cacheServerRequests OBJECT-TYPE
@@ -345,7 +338,7 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " All requests from the client for the cache server"
+ " All requests from the client for the cache server "
::= { cacheProtoAggregateStats 10 }
cacheServerErrors OBJECT-TYPE
@@ -353,7 +346,7 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " All errors for the cache server from client requests"
+ " All errors for the cache server from client requests "
::= { cacheProtoAggregateStats 11 }
cacheServerInKb OBJECT-TYPE
@@ -361,7 +354,7 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " KB's of traffic recieved from servers"
+ " KB's of traffic recieved from servers "
::= { cacheProtoAggregateStats 12 }
cacheServerOutKb OBJECT-TYPE
@@ -369,7 +362,7 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " KB's of traffic sent to servers"
+ " KB's of traffic sent to servers "
::= { cacheProtoAggregateStats 13 }
cacheCurrentSwapSize OBJECT-TYPE
@@ -377,7 +370,7 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " Storage Swap size"
+ " Storage Swap size "
::= { cacheProtoAggregateStats 14 }
cacheClients OBJECT-TYPE
@@ -385,12 +378,12 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " Number of clients accessing cache"
+ " Number of clients accessing cache "
::= { cacheProtoAggregateStats 15 }
--
-- cacheProtoMedianSvcStats group
- --
+ --
-- This is a table, indexed by the interval we want statistics for
-- Example: cacheDnsSvcTime.10 gives 10-min medians for Dns Service Time.
@@ -398,14 +391,16 @@
SYNTAX SEQUENCE OF CacheMedianSvcEntry
MAX-ACCESS read-only
STATUS current
+ DESCRIPTION
+ " CacheMedianSvcTable "
::= { cacheProtoStats 2 }
cacheMedianSvcEntry OBJECT-TYPE
SYNTAX CacheMedianSvcEntry
MAX-ACCESS not-accessible
STATUS current
- DESCRIPTION
- " An entry in cacheMedianSvcTable "
+ DESCRIPTION
+ " An entry in cacheMedianSvcTable "
INDEX { cacheMedianTime }
::= { cacheMedianSvcTable 1 }
@@ -435,63 +430,63 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " HTTP all service time"
- ::= { cacheMedianSvcEntry 2 }
+ " HTTP all service time "
+ ::= { cacheMedianSvcEntry 2 }
cacheHttpMissSvcTime OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " HTTP miss service time"
- ::= { cacheMedianSvcEntry 3 }
+ " HTTP miss service time "
+ ::= { cacheMedianSvcEntry 3 }
cacheHttpNmSvcTime OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " HTTP near miss service time"
- ::= { cacheMedianSvcEntry 4 }
+ " HTTP near miss service time "
+ ::= { cacheMedianSvcEntry 4 }
cacheHttpHitSvcTime OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " HTTP hit service time"
- ::= { cacheMedianSvcEntry 5 }
+ " HTTP hit service time "
+ ::= { cacheMedianSvcEntry 5 }
cacheIcpQuerySvcTime OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " ICP query service time"
- ::= { cacheMedianSvcEntry 6 }
+ " ICP query service time "
+ ::= { cacheMedianSvcEntry 6 }
cacheIcpReplySvcTime OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " ICP reply service time"
- ::= { cacheMedianSvcEntry 7 }
+ " ICP reply service time "
+ ::= { cacheMedianSvcEntry 7 }
cacheDnsSvcTime OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " DNS service time"
- ::= { cacheMedianSvcEntry 8 }
+ " DNS service time "
+ ::= { cacheMedianSvcEntry 8 }
cacheRequestHitRatio OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " Request Hit Ratios"
+ " Request Hit Ratios "
::= { cacheMedianSvcEntry 9 }
cacheRequestByteRatio OBJECT-TYPE
@@ -499,7 +494,7 @@
MAX-ACCESS read-only
STATUS current
DESCRIPTION
- " Byte Hit Ratios"
+ " Byte Hit Ratios "
::= { cacheMedianSvcEntry 10 }
--
@@ -510,128 +505,164 @@
--
cacheIpCache OBJECT IDENTIFIER ::= { cacheNetwork 1 }
- cacheFqdnCache OBJECT IDENTIFIER ::= { cacheNetwork 2 }
+ cacheFqdnCache OBJECT IDENTIFIER ::= { cacheNetwork 2 }
cacheDns OBJECT IDENTIFIER ::= { cacheNetwork 3 }
--
-- cacheIpCache
--
- cacheEntries OBJECT-TYPE
+ cacheIpEntries OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
- ::= { cacheIpCache 1 }
+ DESCRIPTION
+ " IP Cache Entries "
+ ::= { cacheIpCache 1 }
- cacheRequests OBJECT-TYPE
+ cacheIpRequests OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
- ::= { cacheIpCache 2 }
+ DESCRIPTION
+ " Number of IP Cache requests "
+ ::= { cacheIpCache 2 }
- cacheHits OBJECT-TYPE
+ cacheIpHits OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
- ::= { cacheIpCache 3 }
+ DESCRIPTION
+ " Number of IP Cache hits "
+ ::= { cacheIpCache 3 }
- cachePendingHits OBJECT-TYPE
+ cacheIpPendingHits OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
- ::= { cacheIpCache 4 }
+ DESCRIPTION
+ " Number of IP Cache pending hits "
+ ::= { cacheIpCache 4 }
- cacheNegativeHits OBJECT-TYPE
+ cacheIpNegativeHits OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
- ::= { cacheIpCache 5 }
+ DESCRIPTION
+ " Number of IP Cache negative hits "
+ ::= { cacheIpCache 5 }
- cacheMisses OBJECT-TYPE
+ cacheIpMisses OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
- ::= { cacheIpCache 6 }
+ DESCRIPTION
+ " Number of IP Cache misses "
+ ::= { cacheIpCache 6 }
cacheBlockingGetHostByName OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
- ::= { cacheIpCache 7 }
+ DESCRIPTION
+ " Number of blocking gethostbyname requests "
+ ::= { cacheIpCache 7 }
- cacheAttemptReleaseLockedEntries OBJECT-TYPE
+ cacheAttemptReleaseLckEntries OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
- ::= { cacheIpCache 8 }
+ DESCRIPTION
+ " Number of attempts to release locked IP Cache entries "
+ ::= { cacheIpCache 8 }
--
-- cacheFqdnCache
--
- cacheEntries OBJECT-TYPE
+ cacheFqdnEntries OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
- ::= { cacheFqdnCache 1 }
+ DESCRIPTION
+ " FQDN Cache entries "
+ ::= { cacheFqdnCache 1 }
- cacheRequests OBJECT-TYPE
+ cacheFqdnRequests OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
- ::= { cacheFqdnCache 2 }
+ DESCRIPTION
+ " Number of FQDN Cache requests "
+ ::= { cacheFqdnCache 2 }
- cacheHits OBJECT-TYPE
+ cacheFqdnHits OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
- ::= { cacheFqdnCache 3 }
+ DESCRIPTION
+ " Number of FQDN Cache hits "
+ ::= { cacheFqdnCache 3 }
- cachePendingHits OBJECT-TYPE
+ cacheFqdnPendingHits OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
- ::= { cacheFqdnCache 4 }
+ DESCRIPTION
+ " Number of FQDN Cache pending hits "
+ ::= { cacheFqdnCache 4 }
- cacheNegativeHits OBJECT-TYPE
+ cacheFqdnNegativeHits OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
- ::= { cacheFqdnCache 5 }
+ DESCRIPTION
+ " Number of FQDN Cache negative hits "
+ ::= { cacheFqdnCache 5 }
- cacheMisses OBJECT-TYPE
+ cacheFqdnMisses OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
- ::= { cacheFqdnCache 6 }
+ DESCRIPTION
+ " Number of FQDN Cache misses "
+ ::= { cacheFqdnCache 6 }
cacheBlockingGetHostByAddr OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
- ::= { cacheFqdnCache 7 }
+ DESCRIPTION
+ " Number of blocking gethostbyaddr requests "
+ ::= { cacheFqdnCache 7 }
--
--- cacheDNS
+-- cacheDNS
--
cacheDnsRequests OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
- ::= { cacheDns 1 }
+ DESCRIPTION
+ " Number of external dnsserver requests "
+ ::= { cacheDns 1 }
cacheDnsReplies OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
- ::= { cacheDns 2 }
+ DESCRIPTION
+ " Number of external dnsserver replies "
+ ::= { cacheDns 2 }
cacheDnsNumberServers OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
- ::= { cacheDns 3 }
+ DESCRIPTION
+ " Number of external dnsserver processes "
+ ::= { cacheDns 3 }
--
-- cacheMesh group
@@ -650,8 +681,8 @@
SYNTAX CachePeerEntry
MAX-ACCESS not-accessible
STATUS current
- DESCRIPTION
- " An entry in cachePeerTable "
+ DESCRIPTION
+ " An entry in cachePeerTable "
INDEX { cachePeerAddr }
::= { cachePeerTable 1 }
@@ -675,16 +706,16 @@
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
- DESCRIPTION
+ DESCRIPTION
" The FQDN name or internal alias for the
- peer cache"
- ::= { cachePeerEntry 1 }
+ peer cache "
+ ::= { cachePeerEntry 1 }
cachePeerAddr OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
- DESCRIPTION
+ DESCRIPTION
" The IP Address of the peer cache "
::= { cachePeerEntry 2 }
@@ -692,7 +723,7 @@
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
- DESCRIPTION
+ DESCRIPTION
" The port the peer listens for HTTP requests "
::= { cachePeerEntry 3 }
@@ -700,32 +731,24 @@
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
- DESCRIPTION
- " The port the peer listens for ICP requests
+ DESCRIPTION
+ " The port the peer listens for ICP requests
should be 0 if not configured to send ICP requests "
::= { cachePeerEntry 4 }
cachePeerType OBJECT-TYPE
- SYNTAX INTEGER {
- none(0),
- sibling(1),
- parent(2),
- multicast(3)
- }
+ SYNTAX INTEGER
MAX-ACCESS not-accessible
STATUS current
- DESCRIPTION
+ DESCRIPTION
" Peer Type "
- ::= { cachePeerEntry 5 }
+ ::= { cachePeerEntry 5 }
cachePeerState OBJECT-TYPE
- SYNTAX INTEGER {
- down(0),
- up(1)
- }
+ SYNTAX INTEGER
MAX-ACCESS read-only
STATUS current
- DESCRIPTION
+ DESCRIPTION
" The operational state of this peer "
::= { cachePeerEntry 6 }
@@ -733,7 +756,7 @@
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
- DESCRIPTION
+ DESCRIPTION
" Number of pings sent to peer "
::= { cachePeerEntry 7 }
@@ -741,7 +764,7 @@
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
- DESCRIPTION
+ DESCRIPTION
" Number of pings received from peer "
::= { cachePeerEntry 8 }
@@ -749,7 +772,7 @@
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
- DESCRIPTION
+ DESCRIPTION
" Number of times this peer was selected "
::= { cachePeerEntry 9 }
@@ -757,7 +780,7 @@
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
- DESCRIPTION
+ DESCRIPTION
" Last known round-trip time to the peer (in ms) "
::= { cachePeerEntry 10 }
@@ -765,7 +788,7 @@
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
- DESCRIPTION
+ DESCRIPTION
" How many times this peer was ignored "
::= { cachePeerEntry 11 }
@@ -773,7 +796,7 @@
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
- DESCRIPTION
+ DESCRIPTION
" Number of keepalives sent "
::= { cachePeerEntry 12 }
@@ -781,7 +804,7 @@
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
- DESCRIPTION
+ DESCRIPTION
" Number of keepalives received "
::= { cachePeerEntry 13 }
@@ -791,7 +814,7 @@
---
cacheClientTable OBJECT-TYPE
- SYNTAX SEQUENCE OF cacheClientEntry
+ SYNTAX SEQUENCE OF CacheClientEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
@@ -803,12 +826,12 @@
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
- "An entry in cacheClientTable"
+ "An entry in cacheClientTable "
INDEX { cacheClientAddr }
::= { cacheClientTable 1 }
CacheClientEntry ::= SEQUENCE {
- cacheClientAddr IpAddress
+ cacheClientAddr IpAddress,
cacheClientHttpRequests Counter32,
cacheClientHttpKb Counter32,
cacheClientHttpHits Counter32,
@@ -892,10 +915,11 @@
::= { cacheClientEntry 9 }
-- end of cacheClientTable
-
-
+
+
-- end of cacheMesh group
-- end of SQUID-MIB
--
END
+
Index: squid/src/mime.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/mime.c,v
retrieving revision 1.1.1.3.6.1
retrieving revision 1.1.1.3.6.1.2.1
diff -u -r1.1.1.3.6.1 -r1.1.1.3.6.1.2.1
--- squid/src/mime.c 20 Apr 2000 18:14:22 -0000 1.1.1.3.6.1
+++ squid/src/mime.c 16 May 2000 18:53:53 -0000 1.1.1.3.6.1.2.1
@@ -1,6 +1,6 @@
/*
- * $Id: mime.c,v 1.1.1.3.6.1 2000/04/20 18:14:22 hno Exp $
+ * $Id: mime.c,v 1.1.1.3.6.1.2.1 2000/05/16 18:53:53 hno Exp $
*
* DEBUG: section 25 MIME Parsing
* AUTHOR: Harvest Derived
@@ -216,12 +216,12 @@
return m->icon;
}
-char *
+const char *
mimeGetIconURL(const char *fn)
{
char *icon = mimeGetIcon(fn);
if (icon == NULL)
- return NULL;
+ return null_string;
return internalLocalUri("/squid-internal-static/icons/", icon);
}
Index: squid/src/neighbors.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/neighbors.c,v
retrieving revision 1.1.1.3.10.3.2.1
retrieving revision 1.1.1.3.10.3.2.2
diff -u -r1.1.1.3.10.3.2.1 -r1.1.1.3.10.3.2.2
--- squid/src/neighbors.c 14 May 2000 23:22:19 -0000 1.1.1.3.10.3.2.1
+++ squid/src/neighbors.c 16 May 2000 18:53:53 -0000 1.1.1.3.10.3.2.2
@@ -1,6 +1,6 @@
/*
- * $Id: neighbors.c,v 1.1.1.3.10.3.2.1 2000/05/14 23:22:19 hno Exp $
+ * $Id: neighbors.c,v 1.1.1.3.10.3.2.2 2000/05/16 18:53:53 hno Exp $
*
* DEBUG: section 15 Neighbor Routines
* AUTHOR: Harvest Derived
@@ -146,6 +146,7 @@
return do_ping;
if (p->access == NULL)
return do_ping;
+ memset(&checklist, '\0', sizeof(checklist));
checklist.src_addr = request->client_addr;
checklist.my_addr = request->my_addr;
checklist.my_port = request->my_port;
Index: squid/src/net_db.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/net_db.c,v
retrieving revision 1.1.1.3.10.2.2.1
retrieving revision 1.1.1.3.10.2.2.2
diff -u -r1.1.1.3.10.2.2.1 -r1.1.1.3.10.2.2.2
--- squid/src/net_db.c 8 May 2000 18:02:08 -0000 1.1.1.3.10.2.2.1
+++ squid/src/net_db.c 16 May 2000 18:53:53 -0000 1.1.1.3.10.2.2.2
@@ -1,6 +1,6 @@
/*
- * $Id: net_db.c,v 1.1.1.3.10.2.2.1 2000/05/08 18:02:08 hno Exp $
+ * $Id: net_db.c,v 1.1.1.3.10.2.2.2 2000/05/16 18:53:53 hno Exp $
*
* DEBUG: section 38 Network Measurement Database
* AUTHOR: Duane Wessels
@@ -569,6 +569,10 @@
o += sizeof(int);
hops = (double) ntohl(j) / 1000.0;
break;
+ default:
+ debug(38, 1) ("netdbExchangeHandleReply: corrupt data, aborting\n");
+ netdbExchangeDone(ex);
+ return;
}
}
if (addr.s_addr != any_addr.s_addr && rtt > 0)
@@ -966,7 +970,7 @@
assert(NULL != ex->r);
ex->r->http_ver = 1.0;
ex->e = storeCreateEntry(uri, uri, null_request_flags, METHOD_GET);
- ex->buf_sz = 4096;;
+ ex->buf_sz = 4096;
ex->buf = memAllocate(MEM_4K_BUF);
assert(NULL != ex->e);
ex->sc = storeClientListAdd(ex->e, ex);
Index: squid/src/pinger.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/pinger.c,v
retrieving revision 1.1.1.3.6.1
retrieving revision 1.1.1.3.6.1.2.1
diff -u -r1.1.1.3.6.1 -r1.1.1.3.6.1.2.1
--- squid/src/pinger.c 20 Apr 2000 18:14:22 -0000 1.1.1.3.6.1
+++ squid/src/pinger.c 16 May 2000 18:53:53 -0000 1.1.1.3.6.1.2.1
@@ -1,6 +1,6 @@
/*
- * $Id: pinger.c,v 1.1.1.3.6.1 2000/04/20 18:14:22 hno Exp $
+ * $Id: pinger.c,v 1.1.1.3.6.1.2.1 2000/05/16 18:53:53 hno Exp $
*
* DEBUG: section 42 ICMP Pinger program
* AUTHOR: Duane Wessels
@@ -215,7 +215,11 @@
0,
(struct sockaddr *) &from,
&fromlen);
+#if GETTIMEOFDAY_NO_TZP
+ gettimeofday(&now);
+#else
gettimeofday(&now, NULL);
+#endif
debug(42, 9) ("pingerRecv: %d bytes from %s\n", n, inet_ntoa(from.sin_addr));
ip = (struct iphdr *) (void *) pkt;
#if HAVE_IP_HL
@@ -304,12 +308,18 @@
n = recv(0, (char *) &pecho, sizeof(pecho), 0);
if (n < 0)
return n;
+ if (0 == n) {
+ /* EOF indicator */
+ fprintf(stderr, "EOF encountered\n");
+ errno = 0;
+ return -1;
+ }
guess_size = n - (sizeof(pingerEchoData) - PINGER_PAYLOAD_SZ);
if (guess_size != pecho.psize) {
fprintf(stderr, "size mismatch, guess=%d psize=%d\n",
guess_size, pecho.psize);
- errno = 0;
- return -1;
+ /* don't process this message, but keep running */
+ return 0;
}
pingerSendEcho(pecho.to,
pecho.opcode,
Index: squid/src/protos.h
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/protos.h,v
retrieving revision 1.1.1.3.10.8.2.5
retrieving revision 1.1.1.3.10.8.2.6
diff -u -r1.1.1.3.10.8.2.5 -r1.1.1.3.10.8.2.6
--- squid/src/protos.h 14 May 2000 23:22:19 -0000 1.1.1.3.10.8.2.5
+++ squid/src/protos.h 16 May 2000 18:53:53 -0000 1.1.1.3.10.8.2.6
@@ -1,6 +1,6 @@
/*
- * $Id: protos.h,v 1.1.1.3.10.8.2.5 2000/05/14 23:22:19 hno Exp $
+ * $Id: protos.h,v 1.1.1.3.10.8.2.6 2000/05/16 18:53:53 hno Exp $
*
*
* SQUID Internet Object Cache http://squid.nlanr.net/Squid/
@@ -591,7 +591,7 @@
extern char *mimeGetContentEncoding(const char *fn);
extern char *mimeGetContentType(const char *fn);
extern char *mimeGetIcon(const char *fn);
-extern char *mimeGetIconURL(const char *fn);
+extern const char *mimeGetIconURL(const char *fn);
extern char mimeGetTransferMode(const char *fn);
extern int mimeGetDownloadOption(const char *fn);
extern int mimeGetViewOption(const char *fn);
Index: squid/src/snmp_agent.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/snmp_agent.c,v
retrieving revision 1.1.1.3.6.2.2.1
retrieving revision 1.1.1.3.6.2.2.2
diff -u -r1.1.1.3.6.2.2.1 -r1.1.1.3.6.2.2.2
--- squid/src/snmp_agent.c 14 May 2000 23:22:19 -0000 1.1.1.3.6.2.2.1
+++ squid/src/snmp_agent.c 16 May 2000 18:53:53 -0000 1.1.1.3.6.2.2.2
@@ -1,6 +1,6 @@
/*
- * $Id: snmp_agent.c,v 1.1.1.3.6.2.2.1 2000/05/14 23:22:19 hno Exp $
+ * $Id: snmp_agent.c,v 1.1.1.3.6.2.2.2 2000/05/16 18:53:53 hno Exp $
*
* DEBUG: section 49 SNMP Interface
* AUTHOR: Kostas Anagnostakis
@@ -104,22 +104,22 @@
case CONF_STORAGE:
switch (Var->name[LEN_SQ_CONF + 1]) {
case CONF_ST_MMAXSZ:
- snmp_var_new_integer(Var->name, Var->name_length,
+ Answer = snmp_var_new_integer(Var->name, Var->name_length,
(snint) Config.memMaxSize >> 20,
ASN_INTEGER);
break;
case CONF_ST_SWMAXSZ:
- snmp_var_new_integer(Var->name, Var->name_length,
+ Answer = snmp_var_new_integer(Var->name, Var->name_length,
(snint) Config.Swap.maxSize >> 10,
ASN_INTEGER);
break;
case CONF_ST_SWHIWM:
- snmp_var_new_integer(Var->name, Var->name_length,
+ Answer = snmp_var_new_integer(Var->name, Var->name_length,
(snint) Config.Swap.highWaterMark,
ASN_INTEGER);
break;
case CONF_ST_SWLOWM:
- snmp_var_new_integer(Var->name, Var->name_length,
+ Answer = snmp_var_new_integer(Var->name, Var->name_length,
(snint) Config.Swap.lowWaterMark,
ASN_INTEGER);
break;
Index: squid/src/snmp_core.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/snmp_core.c,v
retrieving revision 1.1.1.3.6.1
retrieving revision 1.1.1.3.6.1.2.1
diff -u -r1.1.1.3.6.1 -r1.1.1.3.6.1.2.1
--- squid/src/snmp_core.c 20 Apr 2000 18:14:23 -0000 1.1.1.3.6.1
+++ squid/src/snmp_core.c 16 May 2000 18:53:53 -0000 1.1.1.3.6.1.2.1
@@ -1,6 +1,6 @@
/*
- * $Id: snmp_core.c,v 1.1.1.3.6.1 2000/04/20 18:14:23 hno Exp $
+ * $Id: snmp_core.c,v 1.1.1.3.6.1.2.1 2000/05/16 18:53:53 hno Exp $
*
* DEBUG: section 49 SNMP support
* AUTHOR: Glenn Chisholm
@@ -499,7 +499,7 @@
PDU = snmp_pdu_create(0);
Session.Version = SNMP_VERSION_1;
Community = snmp_parse(&Session, PDU, buf, len);
-
+ memset(&checklist, '\0', sizeof(checklist));
checklist.src_addr = rq->from.sin_addr;
checklist.snmp_community = (char *) Community;
Index: squid/src/stat.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/stat.c,v
retrieving revision 1.1.1.3.10.4.2.2
retrieving revision 1.1.1.3.10.4.2.3
diff -u -r1.1.1.3.10.4.2.2 -r1.1.1.3.10.4.2.3
--- squid/src/stat.c 14 May 2000 23:22:19 -0000 1.1.1.3.10.4.2.2
+++ squid/src/stat.c 16 May 2000 18:53:53 -0000 1.1.1.3.10.4.2.3
@@ -1,6 +1,6 @@
/*
- * $Id: stat.c,v 1.1.1.3.10.4.2.2 2000/05/14 23:22:19 hno Exp $
+ * $Id: stat.c,v 1.1.1.3.10.4.2.3 2000/05/16 18:53:53 hno Exp $
*
* DEBUG: section 18 Cache Manager Statistics
* AUTHOR: Harvest Derived
@@ -1010,7 +1010,7 @@
{
assert(dest && orig);
/* this should take care of all the fields, but "special" ones */
- memcpy(dest, orig, sizeof(*dest));
+ xmemcpy(dest, orig, sizeof(*dest));
/* prepare space where to copy special entries */
statCountersInitSpecial(dest);
/* now handle special cases */
Index: squid/src/store.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/store.c,v
retrieving revision 1.1.1.3.10.8.2.4
retrieving revision 1.1.1.3.10.8.2.5
diff -u -r1.1.1.3.10.8.2.4 -r1.1.1.3.10.8.2.5
--- squid/src/store.c 14 May 2000 23:22:20 -0000 1.1.1.3.10.8.2.4
+++ squid/src/store.c 16 May 2000 18:53:53 -0000 1.1.1.3.10.8.2.5
@@ -1,6 +1,6 @@
/*
- * $Id: store.c,v 1.1.1.3.10.8.2.4 2000/05/14 23:22:20 hno Exp $
+ * $Id: store.c,v 1.1.1.3.10.8.2.5 2000/05/16 18:53:53 hno Exp $
*
* DEBUG: section 20 Storage Manager
* AUTHOR: Harvest Derived
@@ -91,9 +91,9 @@
/*
* local variables
*/
-int store_pages_max = 0;
-int store_swap_high = 0;
-int store_swap_low = 0;
+static int store_pages_max = 0;
+static int store_swap_high = 0;
+static int store_swap_low = 0;
static Stack LateReleaseStack;
#if URL_CHECKSUM_DEBUG
@@ -427,7 +427,7 @@
e->swap_dirn = -1;
e->refcount = 0;
e->lastref = squid_curtime;
- e->timestamp = 0; /* set in storeTimestampsSet() */
+ e->timestamp = -1; /* set in storeTimestampsSet() */
e->ping_status = PING_NONE;
EBIT_SET(e->flags, ENTRY_VALIDATED);
return e;
@@ -504,6 +504,7 @@
int wrong_content_length;
int negative_cached;
int too_big;
+ int too_small;
int private_key;
int too_many_open_files;
int too_many_open_fds;
@@ -523,6 +524,19 @@
return 0;
}
+static int
+storeCheckTooSmall(StoreEntry * e)
+{
+ MemObject *mem = e->mem_obj;
+ if (STORE_OK == e->store_status)
+ if (mem->object_sz < Config.Store.minObjectSize)
+ return 1;
+ if (mem->reply->content_length > -1)
+ if (mem->reply->content_length < (int) Config.Store.minObjectSize)
+ return 1;
+ return 0;
+}
+
int
storeCheckCachable(StoreEntry * e)
{
@@ -553,6 +567,9 @@
} else if (e->mem_obj->reply->content_length > (int) Config.Store.maxObjectSize) {
debug(20, 2) ("storeCheckCachable: NO: too big\n");
store_check_cachable_hist.no.too_big++;
+ } else if (storeCheckTooSmall(e)) {
+ debug(20, 2) ("storeCheckCachable: NO: too small\n");
+ store_check_cachable_hist.no.too_small++;
} else if (EBIT_TEST(e->flags, KEY_PRIVATE)) {
debug(20, 3) ("storeCheckCachable: NO: private key\n");
store_check_cachable_hist.no.private_key++;
@@ -595,6 +612,8 @@
store_check_cachable_hist.no.negative_cached);
storeAppendPrintf(sentry, "no.too_big\t%d\n",
store_check_cachable_hist.no.too_big);
+ storeAppendPrintf(sentry, "no.too_small\t%d\n",
+ store_check_cachable_hist.no.too_small);
storeAppendPrintf(sentry, "no.private_key\t%d\n",
store_check_cachable_hist.no.private_key);
storeAppendPrintf(sentry, "no.too_many_open_files\t%d\n",
@@ -630,8 +649,14 @@
if (e->mem_obj->request)
e->mem_obj->request->hier.store_complete_stop = current_time;
#endif
- InvokeHandlers(e);
+ /*
+ * We used to call InvokeHandlers, then storeSwapOut. However,
+ * Madhukar Reddy reported that
+ * responses without content length would sometimes get released
+ * in client_side, thinking that the response is incomplete.
+ */
storeSwapOut(e);
+ InvokeHandlers(e);
}
/*
Index: squid/src/store_client.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/store_client.c,v
retrieving revision 1.1.1.3.10.4.2.4
retrieving revision 1.1.1.3.10.4.2.5
diff -u -r1.1.1.3.10.4.2.4 -r1.1.1.3.10.4.2.5
--- squid/src/store_client.c 16 May 2000 18:44:18 -0000 1.1.1.3.10.4.2.4
+++ squid/src/store_client.c 16 May 2000 18:53:53 -0000 1.1.1.3.10.4.2.5
@@ -1,6 +1,6 @@
/*
- * $Id: store_client.c,v 1.1.1.3.10.4.2.4 2000/05/16 18:44:18 hno Exp $
+ * $Id: store_client.c,v 1.1.1.3.10.4.2.5 2000/05/16 18:53:53 hno Exp $
*
* DEBUG: section 20 Storage Manager Client-Side Interface
* AUTHOR: Duane Wessels
@@ -297,8 +297,8 @@
/* yuck -- this causes a TCP_SWAPFAIL_MISS on the client side */
storeClientCallback(sc, -1);
return;
- }
- if (!sc->flags.disk_io_pending) {
+ } else if (!sc->flags.disk_io_pending) {
+ sc->flags.disk_io_pending = 1;
storeSwapInStart(sc);
if (NULL == sc->swapin_sio) {
storeClientCallback(sc, -1);
Index: squid/src/store_dir.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/store_dir.c,v
retrieving revision 1.1.1.3.10.6.2.2
retrieving revision 1.1.1.3.10.6.2.3
diff -u -r1.1.1.3.10.6.2.2 -r1.1.1.3.10.6.2.3
--- squid/src/store_dir.c 14 May 2000 23:22:20 -0000 1.1.1.3.10.6.2.2
+++ squid/src/store_dir.c 16 May 2000 18:53:53 -0000 1.1.1.3.10.6.2.3
@@ -1,6 +1,6 @@
/*
- * $Id: store_dir.c,v 1.1.1.3.10.6.2.2 2000/05/14 23:22:20 hno Exp $
+ * $Id: store_dir.c,v 1.1.1.3.10.6.2.3 2000/05/16 18:53:53 hno Exp $
*
* DEBUG: section 47 Store Directory Routines
* AUTHOR: Duane Wessels
@@ -311,7 +311,7 @@
int i;
Config.Swap.maxSize = 0;
for (i = 0; i < Config.cacheSwap.n_configured; i++) {
- SD = &Config.cacheSwap.swapDirs[i];;
+ SD = &Config.cacheSwap.swapDirs[i];
Config.Swap.maxSize += SD->max_size;
SD->low_size = (int) (((float) SD->max_size *
(float) Config.Swap.lowWaterMark) / 100.0);
Index: squid/src/structs.h
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/structs.h,v
retrieving revision 1.1.1.3.10.8.2.6
retrieving revision 1.1.1.3.10.8.2.7
diff -u -r1.1.1.3.10.8.2.6 -r1.1.1.3.10.8.2.7
--- squid/src/structs.h 14 May 2000 23:22:20 -0000 1.1.1.3.10.8.2.6
+++ squid/src/structs.h 16 May 2000 18:53:53 -0000 1.1.1.3.10.8.2.7
@@ -1,6 +1,6 @@
/*
- * $Id: structs.h,v 1.1.1.3.10.8.2.6 2000/05/14 23:22:20 hno Exp $
+ * $Id: structs.h,v 1.1.1.3.10.8.2.7 2000/05/16 18:53:53 hno Exp $
*
*
* SQUID Internet Object Cache http://squid.nlanr.net/Squid/
@@ -285,6 +285,7 @@
struct in_addr router;
struct in_addr incoming;
struct in_addr outgoing;
+ int version;
} Wccp;
#endif
char *as_whois_server;
@@ -371,6 +372,7 @@
int objectsPerBucket;
size_t avgObjectSize;
size_t maxObjectSize;
+ size_t minObjectSize;
} Store;
struct {
int high;
@@ -440,6 +442,7 @@
size_t list_width;
int list_wrap;
char *anon_user;
+ int passive;
} Ftp;
refresh_t *Refresh;
struct _cacheSwap {
@@ -503,6 +506,8 @@
struct {
int enable_purge;
} onoff;
+ uid_t effectiveUserID;
+ gid_t effectiveGroupID;
};
struct _close_handler {
Index: squid/src/test_cache_digest.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/test_cache_digest.c,v
retrieving revision 1.1.1.1.8.1
retrieving revision 1.1.1.1.8.1.2.1
diff -u -r1.1.1.1.8.1 -r1.1.1.1.8.1.2.1
--- squid/src/test_cache_digest.c 20 Apr 2000 18:14:23 -0000 1.1.1.1.8.1
+++ squid/src/test_cache_digest.c 16 May 2000 18:53:53 -0000 1.1.1.1.8.1.2.1
@@ -1,6 +1,6 @@
/*
- * $Id: test_cache_digest.c,v 1.1.1.1.8.1 2000/04/20 18:14:23 hno Exp $
+ * $Id: test_cache_digest.c,v 1.1.1.1.8.1.2.1 2000/05/16 18:53:53 hno Exp $
*
* AUTHOR: Alex Rousskov
*
@@ -436,7 +436,7 @@
* strcmp(hier, "SSL_PARENT_MISS") &&
* strcmp(hier, "DEFAULT_PARENT");
*/
- memcpy(entry->key, storeKeyPublic(url, method_id), sizeof(entry->key));
+ xmemcpy(entry->key, storeKeyPublic(url, method_id), sizeof(entry->key));
/*fprintf(stdout, "%s:%d: %s %s %s %s\n",
* fname, count, method, storeKeyText(entry->key), url, hier); */
return frOk;
Index: squid/src/tools.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/tools.c,v
retrieving revision 1.1.1.3.6.1
retrieving revision 1.1.1.3.6.1.2.1
diff -u -r1.1.1.3.6.1 -r1.1.1.3.6.1.2.1
--- squid/src/tools.c 20 Apr 2000 18:14:23 -0000 1.1.1.3.6.1
+++ squid/src/tools.c 16 May 2000 18:53:53 -0000 1.1.1.3.6.1.2.1
@@ -1,6 +1,6 @@
/*
- * $Id: tools.c,v 1.1.1.3.6.1 2000/04/20 18:14:23 hno Exp $
+ * $Id: tools.c,v 1.1.1.3.6.1.2.1 2000/05/16 18:53:53 hno Exp $
*
* DEBUG: section 21 Misc Functions
* AUTHOR: Harvest Derived
@@ -416,46 +416,47 @@
const struct hostent *h = NULL;
if (Config.visibleHostname != NULL)
return Config.visibleHostname;
- if (present) {
- (void) 0;
- } else if (Config.Sockaddr.http->s.sin_addr.s_addr != any_addr.s_addr) {
+ if (present)
+ return host;
+ host[0] = '\0';
+ if (Config.Sockaddr.http->s.sin_addr.s_addr != any_addr.s_addr) {
/*
* If the first http_port address has a specific address, try a
* reverse DNS lookup on it.
*/
- host[0] = '\0';
h = gethostbyaddr((char *) &Config.Sockaddr.http->s.sin_addr,
sizeof(Config.Sockaddr.http->s.sin_addr), AF_INET);
if (h != NULL) {
/* DNS lookup successful */
/* use the official name from DNS lookup */
- strcpy(host, h->h_name);
- debug(50, 4) ("getMyHostname: resolved tcp_incoming_addr to '%s'\n",
+ xstrncpy(host, h->h_name, SQUIDHOSTNAMELEN);
+ debug(50, 4) ("getMyHostname: resolved %s to '%s'\n",
+ inet_ntoa(Config.Sockaddr.http->s.sin_addr),
host);
present = 1;
- } else {
- debug(50, 6) ("getMyHostname: failed to resolve tcp_incoming_addr\n");
+ return host;
}
+ debug(50, 1) ("WARNING: failed to resolve %s to a hostname\n",
+ inet_ntoa(Config.Sockaddr.http->s.sin_addr));
+ }
+ /*
+ * Get the host name and store it in host to return
+ */
+ if (gethostname(host, SQUIDHOSTNAMELEN) < 0) {
+ debug(50, 1) ("WARNING: gethostname failed: %s\n", xstrerror());
+ } else if ((h = gethostbyname(host)) == NULL) {
+ debug(50, 1) ("WARNING: gethostbyname failed for %s\n", host);
} else {
- /*
- * Get the host name and store it in host to return
- */
- host[0] = '\0';
- if (gethostname(host, SQUIDHOSTNAMELEN) == -1) {
- debug(50, 1) ("getMyHostname: gethostname failed: %s\n",
- xstrerror());
- } else {
- if ((h = gethostbyname(host)) != NULL) {
- debug(50, 6) ("getMyHostname: '%s' resolved into '%s'\n",
- host, h->h_name);
- /* DNS lookup successful */
- /* use the official name from DNS lookup */
- strcpy(host, h->h_name);
- }
- }
+ debug(50, 6) ("getMyHostname: '%s' resolved into '%s'\n",
+ host, h->h_name);
+ /* DNS lookup successful */
+ /* use the official name from DNS lookup */
+ xstrncpy(host, h->h_name, SQUIDHOSTNAMELEN);
present = 1;
+ return host;
}
- return present ? host : NULL;
+ fatal("Could not determine fully qualified hostname. Please set 'visible_hostname'\n");
+ return NULL; /* keep compiler happy */
}
const char *
@@ -480,38 +481,28 @@
void
leave_suid(void)
{
- struct passwd *pwd = NULL;
- struct group *grp = NULL;
- gid_t gid;
debug(21, 3) ("leave_suid: PID %d called\n", getpid());
if (geteuid() != 0)
return;
/* Started as a root, check suid option */
if (Config.effectiveUser == NULL)
return;
- if ((pwd = getpwnam(Config.effectiveUser)) == NULL)
- return;
- if (Config.effectiveGroup && (grp = getgrnam(Config.effectiveGroup))) {
- gid = grp->gr_gid;
- } else {
- gid = pwd->pw_gid;
- }
#if HAVE_SETGROUPS
- setgroups(1, &gid);
+ setgroups(1, &Config2.effectiveGroupID);
#endif
- if (setgid(gid) < 0)
- debug(50, 1) ("leave_suid: setgid: %s\n", xstrerror());
+ if (setgid(Config2.effectiveGroupID) < 0)
+ debug(50, 0) ("ALERT: setgid: %s\n", xstrerror());
debug(21, 3) ("leave_suid: PID %d giving up root, becoming '%s'\n",
- getpid(), pwd->pw_name);
+ getpid(), Config.effectiveUser);
#if HAVE_SETRESUID
- if (setresuid(pwd->pw_uid, pwd->pw_uid, 0) < 0)
- debug(50, 1) ("leave_suid: setresuid: %s\n", xstrerror());
+ if (setresuid(Config2.effectiveUserID, Config2.effectiveUserID, 0) < 0)
+ debug(50, 0) ("ALERT: setresuid: %s\n", xstrerror());
#elif HAVE_SETEUID
- if (seteuid(pwd->pw_uid) < 0)
- debug(50, 1) ("leave_suid: seteuid: %s\n", xstrerror());
+ if (seteuid(Config2.effectiveUserID) < 0)
+ debug(50, 0) ("ALERT: seteuid: %s\n", xstrerror());
#else
- if (setuid(pwd->pw_uid) < 0)
- debug(50, 1) ("leave_suid: setuid: %s\n", xstrerror());
+ if (setuid(Config2.effectiveUserID) < 0)
+ debug(50, 0) ("ALERT: setuid: %s\n", xstrerror());
#endif
}
Index: squid/src/unlinkd.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/unlinkd.c,v
retrieving revision 1.1.1.3.10.3.2.2
retrieving revision 1.1.1.3.10.3.2.3
diff -u -r1.1.1.3.10.3.2.2 -r1.1.1.3.10.3.2.3
--- squid/src/unlinkd.c 2 May 2000 22:50:29 -0000 1.1.1.3.10.3.2.2
+++ squid/src/unlinkd.c 16 May 2000 18:53:53 -0000 1.1.1.3.10.3.2.3
@@ -1,6 +1,6 @@
/*
- * $Id: unlinkd.c,v 1.1.1.3.10.3.2.2 2000/05/02 22:50:29 hno Exp $
+ * $Id: unlinkd.c,v 1.1.1.3.10.3.2.3 2000/05/16 18:53:53 hno Exp $
*
* DEBUG: section 12 Unlink Daemon
* AUTHOR: Duane Wessels
@@ -79,6 +79,7 @@
void
unlinkdUnlink(const char *path)
{
+#if USE_UNLINKD
char buf[MAXPATHLEN];
int l;
int x;
@@ -141,6 +142,7 @@
}
Counter.unlink.requests++;
queuelen++;
+#endif
}
void
@@ -158,6 +160,7 @@
void
unlinkdInit(void)
{
+#if USE_UNLINKD
int x;
char *args[2];
struct timeval slp;
@@ -189,6 +192,9 @@
if (FD_PIPE == fd_table[unlinkd_wfd].type)
commUnsetNonBlocking(unlinkd_wfd);
debug(12, 1) ("Unlinkd pipe opened on FD %d\n", unlinkd_wfd);
+#else
+ debug(12, 1) ("Unlinkd is disabled\n");
+#endif
}
#endif /* ndef UNLINK_DAEMON */
Index: squid/src/url.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/url.c,v
retrieving revision 1.1.1.3.10.2.2.1
retrieving revision 1.1.1.3.10.2.2.2
diff -u -r1.1.1.3.10.2.2.1 -r1.1.1.3.10.2.2.2
--- squid/src/url.c 14 May 2000 23:22:20 -0000 1.1.1.3.10.2.2.1
+++ squid/src/url.c 16 May 2000 18:53:53 -0000 1.1.1.3.10.2.2.2
@@ -1,6 +1,6 @@
/*
- * $Id: url.c,v 1.1.1.3.10.2.2.1 2000/05/14 23:22:20 hno Exp $
+ * $Id: url.c,v 1.1.1.3.10.2.2.2 2000/05/16 18:53:53 hno Exp $
*
* DEBUG: section 23 URL Parsing
* AUTHOR: Duane Wessels
@@ -127,7 +127,7 @@
* way we expect it to.
*/
assert(0 == matchDomainName("foo.com", "foo.com"));
- assert(0 < matchDomainName(".foo.com", "foo.com"));
+ assert(0 == matchDomainName(".foo.com", "foo.com"));
assert(0 == matchDomainName("foo.com", ".foo.com"));
assert(0 == matchDomainName(".foo.com", ".foo.com"));
assert(0 == matchDomainName("x.foo.com", ".foo.com"));
@@ -142,6 +142,7 @@
assert(0 == matchDomainName("FOO.com", "foo.COM"));
assert(0 < matchDomainName("bfoo.com", "afoo.com"));
assert(0 > matchDomainName("afoo.com", "bfoo.com"));
+ assert(0 < matchDomainName("x-foo.com", ".foo.com"));
/* more cases? */
}
@@ -256,6 +257,17 @@
}
for (t = host; *t; t++)
*t = xtolower(*t);
+ if (stringHasWhitespace(host)) {
+ if (URI_WHITESPACE_STRIP == Config.uri_whitespace) {
+ t = q = host;
+ while (*t) {
+ if (!xisspace(*t))
+ *q++ = *t;
+ t++;
+ }
+ *q = '\0';
+ }
+ }
if (strspn(host, valid_hostname_chars) != strlen(host)) {
debug(23, 1) ("urlParse: Illegal character in hostname '%s'\n", host);
return NULL;
@@ -399,12 +411,15 @@
* HOST DOMAIN MATCH?
* ------------- ------------- ------
* foo.com foo.com YES
- * .foo.com foo.com NO
+ * .foo.com foo.com YES
* x.foo.com foo.com NO
* foo.com .foo.com YES
* .foo.com .foo.com YES
* x.foo.com .foo.com YES
*
+ * We strip leading dots on hosts (but not domains!) so that
+ * ".foo.com" is is always the same as "foo.com".
+ *
* Return values:
* 0 means the host matches the domain
* 1 means the host is greater than the domain
@@ -416,6 +431,8 @@
{
int dl;
int hl;
+ while ('.' == *h)
+ h++;
hl = strlen(h);
dl = strlen(d);
/*
@@ -458,6 +475,15 @@
/*
* We found different characters in the same position (from the end).
*/
+ /*
+ * If one of those character is '.' then its special. In order
+ * for splay tree sorting to work properly, "x-foo.com" must
+ * be greater than ".foo.com" even though '-' is less than '.'.
+ */
+ if ('.' == d[dl])
+ return 1;
+ if ('.' == h[hl])
+ return -1;
return (xtolower(h[hl]) - xtolower(d[dl]));
}
Index: squid/src/wccp.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/wccp.c,v
retrieving revision 1.1.1.1.6.1
retrieving revision 1.1.1.1.6.1.2.1
diff -u -r1.1.1.1.6.1 -r1.1.1.1.6.1.2.1
--- squid/src/wccp.c 20 Apr 2000 18:14:23 -0000 1.1.1.1.6.1
+++ squid/src/wccp.c 16 May 2000 18:53:53 -0000 1.1.1.1.6.1.2.1
@@ -1,6 +1,6 @@
/*
- * $Id: wccp.c,v 1.1.1.1.6.1 2000/04/20 18:14:23 hno Exp $
+ * $Id: wccp.c,v 1.1.1.1.6.1.2.1 2000/05/16 18:53:53 hno Exp $
*
* DEBUG: section 80 WCCP Support
* AUTHOR: Glenn Chisholm
@@ -37,7 +37,6 @@
#if USE_WCCP
#define WCCP_PORT 2048
-#define WCCP_VERSION 4
#define WCCP_REVISION 0
#define WCCP_RESPONSE_SIZE 12448
#define WCCP_ACTIVE_CACHES 32
@@ -108,7 +107,7 @@
return;
memset(&wccp_here_i_am, '\0', sizeof(wccp_here_i_am));
wccp_here_i_am.type = htonl(WCCP_HERE_I_AM);
- wccp_here_i_am.version = htonl(WCCP_VERSION);
+ wccp_here_i_am.version = htonl(Config.Wccp.version);
wccp_here_i_am.revision = htonl(WCCP_REVISION);
change = 0;
if (Config.Wccp.router.s_addr != any_addr.s_addr)
@@ -232,7 +231,7 @@
return;
if (Config.Wccp.router.s_addr != from.sin_addr.s_addr)
return;
- if (ntohl(wccp_i_see_you.version) != WCCP_VERSION)
+ if (ntohl(wccp_i_see_you.version) != Config.Wccp.version)
return;
if (ntohl(wccp_i_see_you.type) != WCCP_I_SEE_YOU)
return;
Index: squid/src/whois.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/whois.c,v
retrieving revision 1.1.1.2.8.1
retrieving revision 1.1.1.2.8.1.2.1
diff -u -r1.1.1.2.8.1 -r1.1.1.2.8.1.2.1
--- squid/src/whois.c 20 Apr 2000 18:14:23 -0000 1.1.1.2.8.1
+++ squid/src/whois.c 16 May 2000 18:53:53 -0000 1.1.1.2.8.1.2.1
@@ -1,6 +1,6 @@
/*
- * $Id: whois.c,v 1.1.1.2.8.1 2000/04/20 18:14:23 hno Exp $
+ * $Id: whois.c,v 1.1.1.2.8.1.2.1 2000/05/16 18:53:53 hno Exp $
*
* DEBUG: section 75 WHOIS protocol
* AUTHOR: Duane Wessels, Kostas Anagnostakis
@@ -86,6 +86,7 @@
WhoisState *p = data;
StoreEntry *entry = p->entry;
char *buf = memAllocate(MEM_4K_BUF);
+ MemObject *mem = entry->mem_obj;
int len;
Counter.syscalls.sock.reads++;
len = read(fd, buf, 4095);
@@ -93,6 +94,8 @@
debug(75, 3) ("whoisReadReply: FD %d read %d bytes\n", fd, len);
debug(75, 5) ("{%s}\n", buf);
if (len > 0) {
+ if (0 == mem->inmem_hi)
+ mem->reply->sline.status = HTTP_OK;
fd_bytes(fd, len, FD_READ);
kb_incr(&Counter.server.all.kbytes_in, len);
kb_incr(&Counter.server.http.kbytes_in, len);
@@ -103,7 +106,7 @@
fd, xstrerror());
if (ignoreErrno(errno)) {
commSetSelect(fd, COMM_SELECT_READ, whoisReadReply, p, Config.Timeout.read);
- } else if (entry->mem_obj->inmem_hi == 0) {
+ } else if (mem->inmem_hi == 0) {
ErrorState *err;
err = errorCon(ERR_READ_ERROR, HTTP_INTERNAL_SERVER_ERROR);
err->xerrno = errno;
Index: squid/src/fs/coss/store_io_coss.c
===================================================================
RCS file: /cvsroot/squid-sf//squid/src/fs/coss/store_io_coss.c,v
retrieving revision 1.1.4.8.2.4
retrieving revision 1.1.4.8.2.5
diff -u -r1.1.4.8.2.4 -r1.1.4.8.2.5
--- squid/src/fs/coss/store_io_coss.c 14 May 2000 23:22:20 -0000 1.1.4.8.2.4
+++ squid/src/fs/coss/store_io_coss.c 16 May 2000 18:53:54 -0000 1.1.4.8.2.5
@@ -198,7 +198,7 @@
/* make local copy so we don't have to lock membuf */
if (p) {
cstate->readbuffer = xmalloc(sio->st_size);
- memcpy(cstate->readbuffer, p, sio->st_size);
+ xmemcpy(cstate->readbuffer, p, sio->st_size);
} else {
/* Do the allocation */
/* this is the first time we've been called on a new sio
@@ -303,7 +303,7 @@
diskoffset = sio->swap_filen + sio->offset;
dest = storeCossMemPointerFromDiskOffset(SD, diskoffset, &membuf);
assert(dest != NULL);
- memcpy(dest, buf, size);
+ xmemcpy(dest, buf, size);
sio->offset += size;
if (free_func)
(free_func) (buf);
@@ -333,11 +333,11 @@
if (cstate->readbuffer == NULL) {
cstate->readbuffer = xmalloc(sio->st_size);
p = storeCossMemPointerFromDiskOffset(SD, sio->swap_filen, NULL);
- memcpy(cstate->readbuffer, p, sio->st_size);
+ xmemcpy(cstate->readbuffer, p, sio->st_size);
storeCossMemBufUnlock(SD, sio);
}
sio->offset += len;
- memcpy(cstate->requestbuf, &cstate->readbuffer[cstate->requestoffset],
+ xmemcpy(cstate->requestbuf, &cstate->readbuffer[cstate->requestoffset],
cstate->requestlen);
rlen = (size_t) cstate->requestlen;
}