--------------------- 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 +

      +发生了下列的错误: +

        +
      • + +Access Denied. +
        拒绝访问 +
        +

        +Access control configuration prevents your request from +being allowed at this time. Please contact your service provider if +you feel this is incorrect. +
        +当前的存取控制设定禁止您的请求被接受, +如果您觉得这是错误的,请与您网路服务的提供者联系。 +

      +

      +

      本缓存服务器管理员:%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 +

      +发生了下列的错误: +

        +
      • + +请求或响应太大 + +

        +如果您正在进行 POST 或 PUT 请求,则您请求传送的内容太大(可能您 +正在上传文件)。如果您正在进行 GET 请求,则响应的内容太长。这些 +长度限制由操作本缓存服务器的服务提供者制定。如果您觉得这是错误的, +请与他们直接联系。 +

      +

      +

      本缓存服务器管理员:%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; }