]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Merged changes from SQUID_3_0
authorserassio <>
Sat, 1 Mar 2008 01:29:51 +0000 (01:29 +0000)
committerserassio <>
Sat, 1 Mar 2008 01:29:51 +0000 (01:29 +0000)
173 files changed:
ChangeLog
configure
configure.in
doc/release-notes/release-3.0.html
doc/release-notes/release-3.0.sgml
errors/Makefile.am
errors/Makefile.in
errors/Swedish/ERR_ESI
errors/Ukrainian-1251/ERR_ACCESS_DENIED [new file with mode: 0644]
errors/Ukrainian-1251/ERR_CACHE_ACCESS_DENIED [new file with mode: 0644]
errors/Ukrainian-1251/ERR_CACHE_MGR_ACCESS_DENIED [new file with mode: 0644]
errors/Ukrainian-1251/ERR_CANNOT_FORWARD [new file with mode: 0644]
errors/Ukrainian-1251/ERR_CONNECT_FAIL [new file with mode: 0644]
errors/Ukrainian-1251/ERR_DNS_FAIL [new file with mode: 0644]
errors/Ukrainian-1251/ERR_ESI [new file with mode: 0644]
errors/Ukrainian-1251/ERR_FORWARDING_DENIED [new file with mode: 0644]
errors/Ukrainian-1251/ERR_FTP_DISABLED [new file with mode: 0644]
errors/Ukrainian-1251/ERR_FTP_FAILURE [new file with mode: 0644]
errors/Ukrainian-1251/ERR_FTP_FORBIDDEN [new file with mode: 0644]
errors/Ukrainian-1251/ERR_FTP_NOT_FOUND [new file with mode: 0644]
errors/Ukrainian-1251/ERR_FTP_PUT_CREATED [new file with mode: 0644]
errors/Ukrainian-1251/ERR_FTP_PUT_ERROR [new file with mode: 0644]
errors/Ukrainian-1251/ERR_FTP_PUT_MODIFIED [new file with mode: 0644]
errors/Ukrainian-1251/ERR_FTP_UNAVAILABLE [new file with mode: 0644]
errors/Ukrainian-1251/ERR_ICAP_FAILURE [new file with mode: 0644]
errors/Ukrainian-1251/ERR_INVALID_REQ [new file with mode: 0644]
errors/Ukrainian-1251/ERR_INVALID_RESP [new file with mode: 0644]
errors/Ukrainian-1251/ERR_INVALID_URL [new file with mode: 0644]
errors/Ukrainian-1251/ERR_LIFETIME_EXP [new file with mode: 0644]
errors/Ukrainian-1251/ERR_NO_RELAY [new file with mode: 0644]
errors/Ukrainian-1251/ERR_ONLY_IF_CACHED_MISS [new file with mode: 0644]
errors/Ukrainian-1251/ERR_READ_ERROR [new file with mode: 0644]
errors/Ukrainian-1251/ERR_READ_TIMEOUT [new file with mode: 0644]
errors/Ukrainian-1251/ERR_SECURE_CONNECT_FAIL [new file with mode: 0644]
errors/Ukrainian-1251/ERR_SHUTTING_DOWN [new file with mode: 0644]
errors/Ukrainian-1251/ERR_SOCKET_FAILURE [new file with mode: 0644]
errors/Ukrainian-1251/ERR_TOO_BIG [new file with mode: 0644]
errors/Ukrainian-1251/ERR_UNSUP_REQ [new file with mode: 0644]
errors/Ukrainian-1251/ERR_URN_RESOLVE [new file with mode: 0644]
errors/Ukrainian-1251/ERR_WRITE_ERROR [new file with mode: 0644]
errors/Ukrainian-1251/ERR_ZERO_SIZE_OBJECT [new file with mode: 0644]
errors/Ukrainian-1251/README [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_ACCESS_DENIED [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_CACHE_ACCESS_DENIED [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_CACHE_MGR_ACCESS_DENIED [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_CANNOT_FORWARD [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_CONNECT_FAIL [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_DNS_FAIL [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_ESI [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_FORWARDING_DENIED [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_FTP_DISABLED [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_FTP_FAILURE [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_FTP_FORBIDDEN [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_FTP_NOT_FOUND [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_FTP_PUT_CREATED [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_FTP_PUT_ERROR [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_FTP_PUT_MODIFIED [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_FTP_UNAVAILABLE [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_ICAP_FAILURE [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_INVALID_REQ [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_INVALID_RESP [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_INVALID_URL [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_LIFETIME_EXP [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_NO_RELAY [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_ONLY_IF_CACHED_MISS [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_READ_ERROR [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_READ_TIMEOUT [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_SECURE_CONNECT_FAIL [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_SHUTTING_DOWN [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_SOCKET_FAILURE [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_TOO_BIG [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_UNSUP_REQ [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_URN_RESOLVE [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_WRITE_ERROR [new file with mode: 0644]
errors/Ukrainian-koi8-u/ERR_ZERO_SIZE_OBJECT [new file with mode: 0644]
errors/Ukrainian-koi8-u/README [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_ACCESS_DENIED [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_CACHE_ACCESS_DENIED [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_CACHE_MGR_ACCESS_DENIED [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_CANNOT_FORWARD [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_CONNECT_FAIL [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_DNS_FAIL [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_ESI [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_FORWARDING_DENIED [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_FTP_DISABLED [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_FTP_FAILURE [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_FTP_FORBIDDEN [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_FTP_NOT_FOUND [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_FTP_PUT_CREATED [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_FTP_PUT_ERROR [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_FTP_PUT_MODIFIED [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_FTP_UNAVAILABLE [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_ICAP_FAILURE [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_INVALID_REQ [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_INVALID_RESP [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_INVALID_URL [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_LIFETIME_EXP [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_NO_RELAY [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_ONLY_IF_CACHED_MISS [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_READ_ERROR [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_READ_TIMEOUT [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_SECURE_CONNECT_FAIL [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_SHUTTING_DOWN [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_SOCKET_FAILURE [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_TOO_BIG [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_UNSUP_REQ [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_URN_RESOLVE [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_WRITE_ERROR [new file with mode: 0644]
errors/Ukrainian-utf8/ERR_ZERO_SIZE_OBJECT [new file with mode: 0644]
errors/Ukrainian-utf8/README [new file with mode: 0644]
errors/list
helpers/negotiate_auth/squid_kerb_auth/squid_kerb_auth.c
include/autoconf.h.in
include/config.h
lib/MemPool.cc
lib/rfc2617.c
src/ACLChecklist.cc
src/ACLDestinationDomain.cc
src/ACLMyPortName.cc [new file with mode: 0644]
src/ACLMyPortName.h [new file with mode: 0644]
src/ESI.cc
src/ESIContext.h
src/ESIInclude.cc
src/HttpHeader.cc
src/HttpHeader.h
src/ICAP/ICAPModXact.cc
src/Makefile.am
src/Makefile.in
src/Mem.h
src/Server.h
src/SquidString.h
src/Store.h
src/StoreMetaUnpacker.cc
src/StoreMetaUnpacker.h
src/String.cci
src/asn.cc
src/auth/digest/auth_digest.cc
src/auth/digest/auth_digest.h
src/cache_cf.cc
src/carp.cc
src/cf.data.pre
src/client_side.h
src/client_side_reply.cc
src/client_side_reply.h
src/client_side_request.h
src/comm.cc
src/comm.h
src/comm_epoll.cc
src/comm_kqueue.cc
src/comm_poll.cc
src/comm_select.cc
src/comm_select_win32.cc
src/debug.cc
src/forward.cc
src/helper.h
src/main.cc
src/mem.cc
src/mem_node.cc
src/mem_node.h
src/neighbors.cc
src/net_db.cc
src/peer_digest.cc
src/snmp_agent.cc
src/snmp_core.cc
src/stat.cc
src/stmem.cc
src/store_client.cc
src/store_digest.cc
src/store_swapmeta.cc
src/structs.h
src/tests/testUfs.cc
src/typedefs.h
src/wccp2.cc

index 2bc9bac69e0a5b48782b170266bb5925afc019cd..d8375a07123f86da077409b2e1dcf4fea7dca278 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+Changes to squid-3.0.STABLE1 (1 Mar 2008):
+
+       - Add myportname ACL for matching the accepting port name (see release notes)
+       - Add include directive for squid.conf (see release notes)
+       - Add ability to strip kerberos realm from usernames during Auth
+       - License cleanup to comply with GPLv2 or later
+       - Updated Error Pages and Translations
+       - Updated configuration examples
+       - Updated valgrind support for valgrind-3.3.0
+       - Improved support for Windows and MacOS X Leopard
+       - Improved support for files larger than 2GB
+       - Improved support for CARP arrays and WCCPv2
+       - Improved cachmgr, SNMP, and log reporting
+       - ... and as usual Many bug fixes since STABLE 1
+
 Changes to squid-3.0.STABLE1 (13 Dec 2007):
 
        - Major rewrite translating the code to C++, originally based on
index 100e3edbb3cd6b9cb4f1fdddb60afe734f33d8d0..71cfcfedb50d1d20af94bcead32727683c331b34 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.in Revision.
+# From configure.in Revision: 1.488.2.2 .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.61 for Squid Web Proxy 3.0.STABLE1-CVS.
 #
@@ -24235,6 +24235,7 @@ fi
 
 
 
+
 
 
 for ac_header in \
@@ -24249,6 +24250,7 @@ for ac_header in \
        fcntl.h \
        fnmatch.h \
        getopt.h \
+       glob.h \
        gnumalloc.h \
        grp.h \
        ip_compat.h \
@@ -42504,6 +42506,7 @@ esac
 
 
 
+
 
 
 for ac_func in \
@@ -42521,6 +42524,7 @@ for ac_func in \
        getrusage \
        getspnam \
        gettimeofday \
+       glob \
        htobe16 \
        htole16 \
        kqueue\
index 5754c932952a8e9858fc9fcf7d1802503804cfdd..7a6ca2b7360805a31c8544a01ed6d2fc4583bc20 100644 (file)
@@ -1,7 +1,7 @@
 
 dnl  Configuration input file for Squid
 dnl
-dnl  $Id: configure.in,v 1.488.2.1.2.1 2007/12/27 20:34:51 serassio Exp $
+dnl  $Id: configure.in,v 1.488.2.1.2.2 2008/02/29 18:29:52 serassio Exp $
 dnl
 dnl
 dnl
@@ -11,7 +11,7 @@ AM_CONFIG_HEADER(include/autoconf.h)
 AC_CONFIG_AUX_DIR(cfgaux)
 AC_CONFIG_SRCDIR([src/main.cc])
 AM_INIT_AUTOMAKE([tar-ustar])
-AC_REVISION($Revision: 1.488.2.1.2.1 $)dnl
+AC_REVISION($Revision: 1.488.2.1.2.2 $)dnl
 AC_PREFIX_DEFAULT(/usr/local/squid)
 AM_MAINTAINER_MODE
 
@@ -1848,6 +1848,7 @@ AC_CHECK_HEADERS( \
        fcntl.h \
        fnmatch.h \
        getopt.h \
+       glob.h \
        gnumalloc.h \
        grp.h \
        ip_compat.h \
@@ -2493,6 +2494,7 @@ AC_CHECK_FUNCS(\
        getrusage \
        getspnam \
        gettimeofday \
+       glob \
        htobe16 \
        htole16 \
        kqueue\
index 74aea85bfe88542addb5bdf27ede9b15aaa54a17..3b8f55f3c7a5e3e5f1f56505e1efd07a5333babd 100644 (file)
@@ -2,12 +2,12 @@
 <HTML>
 <HEAD>
  <META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.21">
- <TITLE>Squid 3.0.RC1 release notes</TITLE>
+ <TITLE>Squid 3.0.STABLE2 release notes</TITLE>
 </HEAD>
 <BODY>
-<H1>Squid 3.0.RC1 release notes</H1>
+<H1>Squid 3.0.STABLE2 release notes</H1>
 
-<H2>Squid Developers</H2>$Id: release-3.0.html,v 1.12 2007/11/18 17:23:01 serassio Exp $
+<H2>Squid Developers</H2>$Id: release-3.0.html,v 1.12.4.1 2008/02/29 18:29:52 serassio Exp $
 <HR>
 <EM>This document contains the release notes for version 3.0 of Squid.
 Squid is a WWW Cache application developed by the National Laboratory
@@ -15,21 +15,20 @@ for Applied Network Research and members of the Web Caching community.</EM>
 <HR>
 <H2><A NAME="s1">1. Notice</A></H2>
 
-<P>The Squid Team are pleased to announce the release of Squid-3.0.RC1 for pre-release testing.</P>
+<P>The Squid Team are pleased to announce the release of Squid-3.0.STABLE2.</P>
 <P>This new release is available for download from 
 <A HREF="http://www.squid-cache.org/Versions/v3/3.0/">http://www.squid-cache.org/Versions/v3/3.0/</A> or the 
 <A HREF="http://www.squid-cache.org/Mirrors/http-mirrors.html">mirrors</A>.</P>
-<P>A large number of the show-stopper bugs have been fixed along with general improvements to the ICAP support.
-While this release is not deemed ready for production use, we believe it is ready for wider testing by the community.</P>
+<P>A large number of the show-stopper bugs have been fixed along with general improvements to the ICAP support and additional Languages.</P>
 <P>We welcome feedback and bug reports. If you find a bug, please see 
 <A HREF="http://wiki.squid-cache.org/SquidFaq/TroubleShooting#head-7067fc0034ce967e67911becaabb8c95a34d576d">http://wiki.squid-cache.org/SquidFaq/TroubleShooting#head-7067fc0034ce967e67911becaabb8c95a34d576d</A> for how to submit a report with a stack trace.</P>
 
 <H2><A NAME="s2">2. Known issues</A></H2>
 
-<P>Although this release is deemed good enough for testing in many setups, please note the existence of 
+<P>Although this release is deemed good enough for use in many setups, please note the existence of 
 <A HREF="http://www.squid-cache.org/bugs/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;target_milestone=3.0&amp;long_desc_type=allwordssubstr&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;status_whiteboard_type=allwordssubstr&amp;status_whiteboard=&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailtype1=substring&amp;email1=&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=bugs.bug_severity&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=">open bugs against Squid-3.0</A>.</P>
 
-<H2><A NAME="s3">3. Changes since earlier PRE releases of Squid-3.0</A></H2>
+<H2><A NAME="s3">3. Changes since earlier STABLE releases of Squid-3.0</A></H2>
 
 <P>The 3.0 change history can be 
 <A HREF="http://www.squid-cache.org/Versions/v3/3.0/changesets/">viewed here</A>.</P>
@@ -92,7 +91,7 @@ to perform some simple XML based processing, offloading the final page assembly
 </H2>
 
 <P>Some of the features found in Squid-2.6 is not available in Squid-3.
-Some has been dropped as they are not needed. Some has not yet been forward-ported to Squid-3 and may appear in a later release.</P>
+Some have been dropped as they are not needed. Some have not yet been forward-ported to Squid-3 and may appear in a later release.</P>
 <P>
 <UL>
 <LI>refresh_stale_hit option. Not yet ported.</LI>
@@ -117,8 +116,10 @@ Some has been dropped as they are not needed. Some has not yet been forward-port
 <P>The TCP_REFRESH_HIT and TCP_REFRESH_MISS log types have been replaced because they were misleading (all refreshes need to query the origin server, so they could never be hits). The following log types have been introduced to replace them:</P>
 <P>
 <DL>
-<DT><B>TCP_REFRESH_UNMODIFIED</B><DD><P>The requested object was cached but STALE. The IMS query for the object resulted in "304 not modified".</P>
-<DT><B>TCP_REFRESH_MODIFIED</B><DD><P>The requested object was cached but STALE. The IMS query returned the new content.</P>
+<DT><B>TCP_REFRESH_UNMODIFIED</B><DD>
+<P>The requested object was cached but STALE. The IMS query for the object resulted in "304 not modified".</P>
+<DT><B>TCP_REFRESH_MODIFIED</B><DD>
+<P>The requested object was cached but STALE. The IMS query returned the new content.</P>
 </DL>
 </P>
 <P>See 
@@ -151,7 +152,8 @@ Some has been dropped as they are not needed. Some has not yet been forward-port
 
 <P>
 <DL>
-<DT><B>minimum_icp_query_timeout (msec)</B><DD><P>
+<DT><B>minimum_icp_query_timeout (msec)</B><DD>
+<P>
 <PRE>
 Default: 5
 
@@ -165,7 +167,8 @@ of a dynamic) timeout value. To set a fixed timeout see the
         
 </PRE>
 </P>
-<DT><B>background_ping_rate</B><DD><P>
+<DT><B>background_ping_rate</B><DD>
+<P>
 <PRE>
 Default: 10 seconds
 
@@ -175,7 +178,8 @@ have background-ping set.
 </PRE>
 </P>
 
-<DT><B>httpd_accel_surrogate_id</B><DD><P>
+<DT><B>httpd_accel_surrogate_id</B><DD>
+<P>
 <PRE>
 Default: unset
 
@@ -187,7 +191,8 @@ an identification token.
 </PRE>
 </P>
 
-<DT><B>http_accel_surrogate_remote on|off</B><DD><P>
+<DT><B>http_accel_surrogate_remote on|off</B><DD>
+<P>
 <PRE>
 Default: off
 
@@ -197,7 +202,8 @@ Set this to on to have squid behave as a remote surrogate.
 </PRE>
 </P>
 
-<DT><B>esi_parser libxml2|expat|custom</B><DD><P>
+<DT><B>esi_parser libxml2|expat|custom</B><DD>
+<P>
 <PRE>
 Default: custom
 
@@ -208,7 +214,8 @@ encodings.
 </PRE>
 </P>
 
-<DT><B>email_err_data on|off</B><DD><P>
+<DT><B>email_err_data on|off</B><DD>
+<P>
 <PRE>
 Default: on
 
@@ -220,7 +227,8 @@ Syntax is &lt;A HREF="mailto:%w%W"&gt;%w&lt;/A&gt;
 </PRE>
 </P>
 
-<DT><B>refresh_all_ims on|off</B><DD><P>
+<DT><B>refresh_all_ims on|off</B><DD>
+<P>
 <PRE>
 Default: off
 
@@ -235,10 +243,13 @@ based on the age of the cached version.
         
 </PRE>
 </P>
-<DT><B>request_header_access</B><DD><P>Replaces the header_access directive of Squid-2.6 and earlier, but applies to requests only.</P>
-<DT><B>reply_header_access</B><DD><P>Replaces the header_access directive of Squid-2.6 and earlier, but applies to replies only.</P>
+<DT><B>request_header_access</B><DD>
+<P>Replaces the header_access directive of Squid-2.6 and earlier, but applies to requests only.</P>
+<DT><B>reply_header_access</B><DD>
+<P>Replaces the header_access directive of Squid-2.6 and earlier, but applies to replies only.</P>
 
-<DT><B>icap_enable on|off</B><DD><P>
+<DT><B>icap_enable on|off</B><DD>
+<P>
 <PRE>
 Default: off
 
@@ -246,7 +257,8 @@ If you want to enable the ICAP module support, set this to on.
         
 </PRE>
 </P>
-<DT><B>icap_preview_enable on|off</B><DD><P>
+<DT><B>icap_preview_enable on|off</B><DD>
+<P>
 <PRE>
 Default: off
 
@@ -255,7 +267,8 @@ feature in Squid.
         
 </PRE>
 </P>
-<DT><B>icap_preview_size</B><DD><P>
+<DT><B>icap_preview_size</B><DD>
+<P>
 <PRE>
 Default: -1
 
@@ -265,7 +278,8 @@ basis by OPTIONS requests.
         
 </PRE>
 </P>
-<DT><B>icap_default_options_ttl (seconds)</B><DD><P>
+<DT><B>icap_default_options_ttl (seconds)</B><DD>
+<P>
 <PRE>
 Default: 60
 
@@ -274,7 +288,8 @@ an Options-TTL header.
         
 </PRE>
 </P>
-<DT><B>icap_persistent_connections on|off</B><DD><P>
+<DT><B>icap_persistent_connections on|off</B><DD>
+<P>
 <PRE>
 Default: on
 
@@ -283,7 +298,8 @@ an ICAP server.
         
 </PRE>
 </P>
-<DT><B>icap_send_client_ip on|off</B><DD><P>
+<DT><B>icap_send_client_ip on|off</B><DD>
+<P>
 <PRE>
 Default: off
 
@@ -291,7 +307,8 @@ This adds the header "X-Client-IP" to ICAP requests.
         
 </PRE>
 </P>
-<DT><B>icap_send_client_username on|off</B><DD><P>
+<DT><B>icap_send_client_username on|off</B><DD>
+<P>
 <PRE>
 Default: off
 
@@ -300,7 +317,8 @@ if proxy access is authentified.
         
 </PRE>
 </P>
-<DT><B>icap_service</B><DD><P>
+<DT><B>icap_service</B><DD>
+<P>
 <PRE>
 Default: none
 
@@ -324,7 +342,8 @@ icap_service service_2 respmod_precache 0 icap://icap2.mydomain.net:1344/respmod
         
 </PRE>
 </P>
-<DT><B>icap_class</B><DD><P>
+<DT><B>icap_class</B><DD>
+<P>
 <PRE>
 Default: none
 
@@ -339,7 +358,8 @@ icap class class_2 service_1 service_3
         
 </PRE>
 </P>
-<DT><B>icap_access</B><DD><P>
+<DT><B>icap_access</B><DD>
+<P>
 <PRE>
 Default: none
 
@@ -363,7 +383,8 @@ icap_access class_1 allow all
 </PRE>
 </P>
 
-<DT><B>accept_filter</B><DD><P>
+<DT><B>accept_filter</B><DD>
+<P>
 <PRE>
 The name of an accept(2) filter to install on Squid's
 listen socket(s).  This feature is perhaps specific to
@@ -375,6 +396,31 @@ See the accf_http(9) man page.
         
 </PRE>
 </P>
+
+<DT><B>include</B><DD>
+<P>New option to import entire secondary configuration files into squid.conf.
+<PRE>
+        Squid will follow the files immediately and insert all their content
+        as if it was at that position in squid.conf. As per squid.conf some
+        options are order-specific within the config as a whole.
+
+        A few layers of include are allowed, but too many are confusing and
+        squid will enforce an include depth of 16 files.
+
+        Syntax:
+                include /path/to/file1 /path/to/file2
+        
+</PRE>
+</P>
+
+<DT><B>acl myportname</B><DD>
+<P>New acl type myportname, matching the name of the http(s)_port where the request was accepted
+<PRE>
+        acl aclname myportname 3128 ...         # http(s)_port name
+        
+</PRE>
+</P>
+
 </DL>
 </P>
 
@@ -383,7 +429,8 @@ See the accf_http(9) man page.
 
 <P>
 <DL>
-<DT><B>http_port</B><DD><P>New options:
+<DT><B>http_port</B><DD>
+<P>New options:
 <PRE>
     disable-pmtu-discovery=
       Control Path-MTU discovery usage:
@@ -409,13 +456,15 @@ See the accf_http(9) man page.
         
 </PRE>
         </P>
-<DT><B> https_port</B><DD><P>Removed options:
+<DT><B> https_port</B><DD>
+<P>Removed options:
 <PRE>
     urlgroup=, not yet ported to Squid-3.
         
 </PRE>
 </P>
-<DT><B>cache_peer</B><DD><P>New options:
+<DT><B>cache_peer</B><DD>
+<P>New options:
 <PRE>
      basetime=n
 
@@ -455,7 +504,8 @@ See the accf_http(9) man page.
         
 </PRE>
 </P>
-<DT><B>cache_dir</B><DD><P>Common options
+<DT><B>cache_dir</B><DD>
+<P>Common options
 <PRE>
     no-store, replaces the older read-only option
 
@@ -478,7 +528,8 @@ See the accf_http(9) man page.
         
 </PRE>
 </P>
-<DT><B>auth_param</B><DD><P>Removed Basic auth option
+<DT><B>auth_param</B><DD>
+<P>Removed Basic auth option
 <PRE>
     blankpasswor, not yet ported to squid-3.
     auth_param basic concurrency 0
@@ -492,7 +543,8 @@ See the accf_http(9) man page.
 </PRE>
 </P>
 
-<DT><B>external_acl_type</B><DD><P>New format specifications:
+<DT><B>external_acl_type</B><DD>
+<P>New format specifications:
 <PRE>
     %URI          Requested URI
 
@@ -516,7 +568,8 @@ See the accf_http(9) man page.
 </PRE>
 </P>
 
-<DT><B>refresh_pattern</B><DD><P>New options:
+<DT><B>refresh_pattern</B><DD>
+<P>New options:
 <PRE>
     ignore-no-store
     refresh-ims
@@ -533,7 +586,8 @@ See the accf_http(9) man page.
         
 </PRE>
 </P>
-<DT><B>acl</B><DD><P>New types:
+<DT><B>acl</B><DD>
+<P>New types:
 <PRE>
     acl aclname http_status 200 301 500- 400-403 ...     # status code in reply
 
@@ -550,14 +604,16 @@ See the accf_http(9) man page.
         
 </PRE>
 </P>
-<DT><B>short_icon_urls</B><DD><P>New default:
+<DT><B>short_icon_urls</B><DD>
+<P>New default:
 <PRE>
     Default: on
     (Old default: off)
         
 </PRE>
 </P>
-<DT><B>delay_class</B><DD><P>New delay classes:
+<DT><B>delay_class</B><DD>
+<P>New delay classes:
 <PRE>
     class 4 Everything in a class 3 delay pool, with an
     additional limit on a per user basis. This
@@ -571,7 +627,8 @@ See the accf_http(9) man page.
 </PRE>
 </P>
 
-<DT><B>htcp_port</B><DD><P>New default to require the feature to be enabled in squid.conf:
+<DT><B>htcp_port</B><DD>
+<P>New default to require the feature to be enabled in squid.conf:
 <PRE>
     Default: 0 (disabled)
     (Old default: 4827)
@@ -579,7 +636,8 @@ See the accf_http(9) man page.
 </PRE>
 </P>
 
-<DT><B>icp_port</B><DD><P>New default to require the feature to be enabled in squid.conf:
+<DT><B>icp_port</B><DD>
+<P>New default to require the feature to be enabled in squid.conf:
 <PRE>
     Default: 0 (disabled)
     (Old default: 3130)
@@ -587,7 +645,8 @@ See the accf_http(9) man page.
 </PRE>
 </P>
 
-<DT><B>snmp_port</B><DD><P>New default to require the feature to be enabled in squid.conf:
+<DT><B>snmp_port</B><DD>
+<P>New default to require the feature to be enabled in squid.conf:
 <PRE>
     Default: 0 (disabled)
     (Old default: 3401)
@@ -595,7 +654,8 @@ See the accf_http(9) man page.
 </PRE>
 </P>
 
-<DT><B>logformat</B><DD><P>New format tags:
+<DT><B>logformat</B><DD>
+<P>New format tags:
 <PRE>
     rp      Request URL-Path excluding hostname
 
@@ -617,7 +677,8 @@ See the accf_http(9) man page.
 </PRE>
 </P>
 
-<DT><B>reply_body_max_size</B><DD><P>Syntax changed:
+<DT><B>reply_body_max_size</B><DD>
+<P>Syntax changed:
 <PRE>
     reply_body_max_size size [acl acl...]
         
@@ -625,7 +686,8 @@ See the accf_http(9) man page.
 </P>
 <P>allow/deny no longer used.</P>
 
-<DT><B>url_rewrite_program</B><DD><P>No urlgroup support in either requests or responese</P>
+<DT><B>url_rewrite_program</B><DD>
+<P>No urlgroup support in either requests or responese</P>
 </DL>
 </P>
 
@@ -636,19 +698,32 @@ See the accf_http(9) man page.
 
 <P>
 <DL>
-<DT><B>broken_vary_encoding</B><DD><P>Not yet ported to Squid-3.</P>
-<DT><B>cache_vary</B><DD><P>Not yet ported to Squid-3.</P>
-<DT><B>collapsed_forwarding</B><DD><P>Not yet ported to Squid-3.</P>
-<DT><B>follow_x_forwarded_for</B><DD><P>Not yet ported to Squid-3.</P>
-<DT><B>*_uses_indirect_client</B><DD><P>Not yet ported to Squid-3.</P>
-<DT><B>error_map</B><DD><P>Not yet ported to Squid-3.</P>
-<DT><B>header_access</B><DD><P>This has been replaced by request_header_access and reply_header_access</P>
-<DT><B>http_access2</B><DD><P>Not yet ported to Squid-3.</P>
-<DT><B>httpd_accel_no_pmtu_disc</B><DD><P>Replaced by disable-pmtu-discovery http_port option</P>
-<DT><B>location_rewrite_*</B><DD><P>Not yet ported to Squid-3.</P>
-<DT><B>refresh_stale_hit</B><DD><P>Not yet ported to Squid-3.</P>
-<DT><B>umask</B><DD><P>Not yet ported to Squid-3.</P>
-<DT><B>wais_relay_*</B><DD><P>equivalent to cache_peer + cache_peer_access.</P>
+<DT><B>broken_vary_encoding</B><DD>
+<P>Not yet ported to Squid-3.</P>
+<DT><B>cache_vary</B><DD>
+<P>Not yet ported to Squid-3.</P>
+<DT><B>collapsed_forwarding</B><DD>
+<P>Not yet ported to Squid-3.</P>
+<DT><B>follow_x_forwarded_for</B><DD>
+<P>Not yet ported to Squid-3.</P>
+<DT><B>*_uses_indirect_client</B><DD>
+<P>Not yet ported to Squid-3.</P>
+<DT><B>error_map</B><DD>
+<P>Not yet ported to Squid-3.</P>
+<DT><B>header_access</B><DD>
+<P>This has been replaced by request_header_access and reply_header_access</P>
+<DT><B>http_access2</B><DD>
+<P>Not yet ported to Squid-3.</P>
+<DT><B>httpd_accel_no_pmtu_disc</B><DD>
+<P>Replaced by disable-pmtu-discovery http_port option</P>
+<DT><B>location_rewrite_*</B><DD>
+<P>Not yet ported to Squid-3.</P>
+<DT><B>refresh_stale_hit</B><DD>
+<P>Not yet ported to Squid-3.</P>
+<DT><B>umask</B><DD>
+<P>Not yet ported to Squid-3.</P>
+<DT><B>wais_relay_*</B><DD>
+<P>equivalent to cache_peer + cache_peer_access.</P>
 </DL>
 </P>
 
@@ -677,27 +752,33 @@ See the accf_http(9) man page.
 
 <P>
 <DL>
-<DT><B>--enable-shared[=PKGS]</B><DD><P>Build shared libraries. The default is to build without.</P>
+<DT><B>--enable-shared[=PKGS]</B><DD>
+<P>Build shared libraries. The default is to build without.</P>
 
-<DT><B>--enable-static[=PKGS]</B><DD><P>Build static libraries. The default is on.</P>
+<DT><B>--enable-static[=PKGS]</B><DD>
+<P>Build static libraries. The default is on.</P>
 
-<DT><B>--enable-fast-install[=PKGS]</B><DD><P>
+<DT><B>--enable-fast-install[=PKGS]</B><DD>
+<P>
 <PRE>
 Optimize for fast installation
         default: yes
 </PRE>
 </P>
 
-<DT><B>--disable-libtool-lock</B><DD><P>Avoid locking (might break parallel builds)</P>
+<DT><B>--disable-libtool-lock</B><DD>
+<P>Avoid locking (might break parallel builds)</P>
 
-<DT><B>--disable-optimizations</B><DD><P>Don't compile Squid with compiler optimizations enabled.
+<DT><B>--disable-optimizations</B><DD>
+<P>Don't compile Squid with compiler optimizations enabled.
 Optimization is good for production builds, but not
 good for debugging. During development, use
 --disable-optimizations to reduce compilation times
 and allow easier debugging. This option implicitly
 also enables --disable-inline</P>
 
-<DT><B>--disable-inline</B><DD><P>Don't compile trivial methods as inline. Squid
+<DT><B>--disable-inline</B><DD>
+<P>Don't compile trivial methods as inline. Squid
 is coded with much of the code able to be inlined.
 Inlining is good for production builds, but not
 good for development. During development, use
@@ -707,15 +788,18 @@ production builds, or load tests, use
 --enable-inline to have squid make all trivial
 methods inlinable by the compiler.</P>
 
-<DT><B>--enable-debug-cbdata</B><DD><P>Provide some debug information in cbdata</P>
+<DT><B>--enable-debug-cbdata</B><DD>
+<P>Provide some debug information in cbdata</P>
 
-<DT><B>--enable-disk-io=\"list of modules\"</B><DD><P>Build support for the list of disk I/O modules.
+<DT><B>--enable-disk-io=\"list of modules\"</B><DD>
+<P>Build support for the list of disk I/O modules.
 The default is only to build the "Blocking" module.
 See src/DiskIO for a list of available modules, or
 Programmers Guide for details on how to build your
 custom disk module.</P>
 
-<DT><B>--enable-esi</B><DD><P>Enable ESI for accelerators. Requires libexpat.
+<DT><B>--enable-esi</B><DD>
+<P>Enable ESI for accelerators. Requires libexpat.
 Enabling ESI will cause squid to follow the Edge
 Acceleration Specification (www.esi.org). This
 causes squid to IGNORE client Cache-Control headers.</P>
@@ -723,23 +807,30 @@ causes squid to IGNORE client Cache-Control headers.</P>
 proxy, ONLY use it in a squid configured for
 webserver acceleration.</P>
 
-<DT><B>--enable-icap-client</B><DD><P>Enable the ICAP client.</P>
+<DT><B>--enable-icap-client</B><DD>
+<P>Enable the ICAP client.</P>
 
-<DT><B>--disable-snmp</B><DD><P>Disable SNMP monitoring support which is now built by default.</P>
+<DT><B>--disable-snmp</B><DD>
+<P>Disable SNMP monitoring support which is now built by default.</P>
 
-<DT><B>--disable-htcp</B><DD><P>Disable HTCP protocol support which is now built by default.</P>
+<DT><B>--disable-htcp</B><DD>
+<P>Disable HTCP protocol support which is now built by default.</P>
 
-<DT><B>--enable-kqueue</B><DD><P>Enable kqueue() support. Marked as experimental in 3.0.</P>
+<DT><B>--enable-kqueue</B><DD>
+<P>Enable kqueue() support. Marked as experimental in 3.0.</P>
 
-<DT><B>--enable-ipfw-transparent</B><DD><P>Enable Transparent Proxy support for systems
+<DT><B>--enable-ipfw-transparent</B><DD>
+<P>Enable Transparent Proxy support for systems
 using FreeBSD IPFW style redirection.</P>
 
-<DT><B>--disable-mempools</B><DD><P>Disable memPools. Note that this option now simply sets the
+<DT><B>--disable-mempools</B><DD>
+<P>Disable memPools. Note that this option now simply sets the
 default behaviour. Specific classes can override this at runtime, and
 only lib/MemPool.c needs to be altered to change the squid-wide
 default for all classes.</P>
 
-<DT><B>--enable-cpu-profiling</B><DD><P>This option allows you to see which internal functions
+<DT><B>--enable-cpu-profiling</B><DD>
+<P>This option allows you to see which internal functions
 in Squid are consuming how much CPU. Compiles in probes
 that measure time spent in probed functions. Needs
 source modifications to add new probes. This is meant
@@ -749,16 +840,21 @@ of Squid internal functions.</P>
 you shouldn't enable this, as overhead added, although
 small, is still overhead. See lib/Profiler.c for more.</P>
 
-<DT><B>--with-gnu-ld</B><DD><P>Assume the C compiler uses GNU ld. The default is to auto-detect.</P>
+<DT><B>--with-gnu-ld</B><DD>
+<P>Assume the C compiler uses GNU ld. The default is to auto-detect.</P>
 
-<DT><B>--with-pic</B><DD><P>Try to use only PIC/non-PIC objects. The default is to use both.</P>
+<DT><B>--with-pic</B><DD>
+<P>Try to use only PIC/non-PIC objects. The default is to use both.</P>
 
-<DT><B>--with-tags[=TAGS]</B><DD><P>Include additional configurations. The default is automatic.</P>
+<DT><B>--with-tags[=TAGS]</B><DD>
+<P>Include additional configurations. The default is automatic.</P>
 
-<DT><B>--with-default-user=USER</B><DD><P>Sets the default System User account for squid permissions.
+<DT><B>--with-default-user=USER</B><DD>
+<P>Sets the default System User account for squid permissions.
 The default is 'nobody' as in other releases of squid.</P>
 
-<DT><B>--with-cppunit-basedir=[PATH]</B><DD><P>Path where the cppunit headers and libraries are found
+<DT><B>--with-cppunit-basedir=[PATH]</B><DD>
+<P>Path where the cppunit headers and libraries are found
 for unit testing. The default is automatic detection.</P>
 <P>NOTE: Since 3.0-PRE6 and 2.6STABLE14 squid no longer comes
 bundled with CPPUnit. Compile-time validation will be disabled
@@ -770,33 +866,42 @@ if it is not installed on your system.</P>
 
 <P>
 <DL>
-<DT><B>--enable-carp</B><DD><P>CARP support is now built by default.
---disable-carp can be used to buidl without it.</P>
+<DT><B>--enable-carp</B><DD>
+<P>CARP support is now built by default.
+--disable-carp can be used to build without it.</P>
 
-<DT><B>--enable-htcp</B><DD><P>HTCP protocol support is now built by default.
+<DT><B>--enable-htcp</B><DD>
+<P>HTCP protocol support is now built by default.
 Use --disable-htcp to build without it.</P>
 
-<DT><B>--enable-snmp</B><DD><P>SNMP monitoring is now build by default.
+<DT><B>--enable-snmp</B><DD>
+<P>SNMP monitoring is now build by default.
 Use --disable-snmp to build without it.</P>
 
-<DT><B>--enable-heap-replacement</B><DD><P>Please use --enable-removal-policies directive instead.</P>
+<DT><B>--enable-heap-replacement</B><DD>
+<P>Please use --enable-removal-policies directive instead.</P>
 
-<DT><B>--with-maxfd=N</B><DD><P>Replaced by --with-filedescriptors=N</P>
+<DT><B>--with-maxfd=N</B><DD>
+<P>Replaced by --with-filedescriptors=N</P>
 <P>Override maximum number of filedescriptors. Useful
 if you build as another user who is not privileged
 to use the number of filedescriptors you want the
 resulting binary to support</P>
 
-<DT><B>--enable-select</B><DD><P>Deprecated.
+<DT><B>--enable-select</B><DD>
+<P>Deprecated.
 Automatic checks will enable best I/O loop method available.</P>
 
-<DT><B>--enable-epoll</B><DD><P>Deprecated.
+<DT><B>--enable-epoll</B><DD>
+<P>Deprecated.
 Automatic checks will enable best I/O loop method available.</P>
 
-<DT><B>--enable-poll</B><DD><P>Deprecated.
+<DT><B>--enable-poll</B><DD>
+<P>Deprecated.
 Automatic checks will enable best I/O loop method available.</P>
 
-<DT><B>--enable-kqueue</B><DD><P>kqueue support is marked Experimental in Squid 3.0. Known to have some issues under load.</P>
+<DT><B>--enable-kqueue</B><DD>
+<P>kqueue support is marked Experimental in Squid 3.0. Known to have some issues under load.</P>
 
 </DL>
 </P>
@@ -806,11 +911,14 @@ Automatic checks will enable best I/O loop method available.</P>
 porting one of these from Squid-2 to Squid-3 is most welcome.</P>
 <P>
 <DL>
-<DT><B>--enable-devpoll</B><DD><P>Support for Solaris /dev/poll</P>
+<DT><B>--enable-devpoll</B><DD>
+<P>Support for Solaris /dev/poll</P>
 
-<DT><B>--enable-select-simple</B><DD><P>Basic POSIX select() loop without any binary fd_set optimizations.</P>
+<DT><B>--enable-select-simple</B><DD>
+<P>Basic POSIX select() loop without any binary fd_set optimizations.</P>
 
-<DT><B>--enable-follow-x-forwarded-for</B><DD><P>Support following the X-Forwarded-For HTTP header for determining the
+<DT><B>--enable-follow-x-forwarded-for</B><DD>
+<P>Support following the X-Forwarded-For HTTP header for determining the
 client IP address</P>
 </DL>
 </P>
@@ -820,13 +928,20 @@ client IP address</P>
 <P>The following configure options have been removed.</P>
 <P>
 <DL>
-<DT><B>--enable-dlmalloc</B><DD><P>Most OS:es have good malloc implementations these days, and the version we used to ship with Squid was very very old..</P>
-<DT><B>--enable-mempool-debug</B><DD><P>Debug option, not needed and therefore removed.</P>
-<DT><B>--enable-forward-log</B><DD><P>Rarely used extra log file. Removed.</P>
-<DT><B>--enable-multicast-miss</B><DD><P>Rarely used feature, and multicast ICP acheives almost the same result. Removed.</P>
-<DT><B>--enable-coss-aio-ops</B><DD><P>Specific to the COSS implementation in Squid-2</P>
-<DT><B>--enable-large-cache-files</B><DD><P>Now enabled by default. Configure option was redundant and therefore removed.</P>
-<DT><B>--enable-truncate</B><DD><P>Known to cause race conditions where cache objects may get corrupted, and this for at most a marginal performance improvement. Removed.</P>
+<DT><B>--enable-dlmalloc</B><DD>
+<P>Most OS:es have good malloc implementations these days, and the version we used to ship with Squid was very very old..</P>
+<DT><B>--enable-mempool-debug</B><DD>
+<P>Debug option, not needed and therefore removed.</P>
+<DT><B>--enable-forward-log</B><DD>
+<P>Rarely used extra log file. Removed.</P>
+<DT><B>--enable-multicast-miss</B><DD>
+<P>Rarely used feature, and multicast ICP acheives almost the same result. Removed.</P>
+<DT><B>--enable-coss-aio-ops</B><DD>
+<P>Specific to the COSS implementation in Squid-2</P>
+<DT><B>--enable-large-cache-files</B><DD>
+<P>Now enabled by default. Configure option was redundant and therefore removed.</P>
+<DT><B>--enable-truncate</B><DD>
+<P>Known to cause race conditions where cache objects may get corrupted, and this for at most a marginal performance improvement. Removed.</P>
 
 </DL>
 </P>
index 623ff63c6df269c79b06db057a8f6a7de1f82c2a..b7d6faad1d51bae5c3b8f7e87b0c181c523167f8 100644 (file)
@@ -1,8 +1,8 @@
 <!doctype linuxdoc system>\r
 <article>\r
-<title>Squid 3.0.RC1 release notes</title>\r
+<title>Squid 3.0.STABLE2 release notes</title>\r
 <author>Squid Developers</author>\r
-<date>$Id: release-3.0.sgml,v 1.30.4.1 2008/02/24 12:41:27 serassio Exp $</date>\r
+<date>$Id: release-3.0.sgml,v 1.30.4.2 2008/02/29 18:29:52 serassio Exp $</date>\r
 \r
 <abstract>\r
 This document contains the release notes for version 3.0 of Squid.\r
@@ -14,20 +14,19 @@ for Applied Network Research and members of the Web Caching community.
 \r
 <sect>Notice\r
 <p>\r
-The Squid Team are pleased to announce the release of Squid-3.0.RC1 for pre-release testing.\r
+The Squid Team are pleased to announce the release of Squid-3.0.STABLE2.\r
 \r
 This new release is available for download from <url url="http://www.squid-cache.org/Versions/v3/3.0/"> or the <url url="http://www.squid-cache.org/Mirrors/http-mirrors.html" name="mirrors">.\r
 \r
-A large number of the show-stopper bugs have been fixed along with general improvements to the ICAP support.\r
-While this release is not deemed ready for production use, we believe it is ready for wider testing by the community.\r
+A large number of the show-stopper bugs have been fixed along with general improvements to the ICAP support and additional Languages.\r
 \r
 We welcome feedback and bug reports. If you find a bug, please see <url url="http://wiki.squid-cache.org/SquidFaq/TroubleShooting#head-7067fc0034ce967e67911becaabb8c95a34d576d"> for how to submit a report with a stack trace.\r
 \r
 <sect>Known issues\r
 <p>\r
-Although this release is deemed good enough for testing in many setups, please note the existence of <url url="http://www.squid-cache.org/bugs/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;target_milestone=3.0&amp;long_desc_type=allwordssubstr&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;status_whiteboard_type=allwordssubstr&amp;status_whiteboard=&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailtype1=substring&amp;email1=&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=bugs.bug_severity&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=" name="open bugs against Squid-3.0">.\r
+Although this release is deemed good enough for use in many setups, please note the existence of <url url="http://www.squid-cache.org/bugs/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;target_milestone=3.0&amp;long_desc_type=allwordssubstr&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;status_whiteboard_type=allwordssubstr&amp;status_whiteboard=&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailtype1=substring&amp;email1=&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=bugs.bug_severity&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=" name="open bugs against Squid-3.0">.\r
 \r
-<sect>Changes since earlier PRE releases of Squid-3.0\r
+<sect>Changes since earlier STABLE releases of Squid-3.0\r
 <p>\r
 The 3.0 change history can be <url url="http://www.squid-cache.org/Versions/v3/3.0/changesets/" name="viewed here">.\r
 \r
@@ -85,7 +84,7 @@ to perform some simple XML based processing, offloading the final page assembly
 <sect1>2.6 features not found in Squid-3.0\r
 <p>\r
 Some of the features found in Squid-2.6 is not available in Squid-3.\r
-Some has been dropped as they are not needed. Some has not yet been forward-ported to Squid-3 and may appear in a later release.\r
+Some have been dropped as they are not needed. Some have not yet been forward-ported to Squid-3 and may appear in a later release.\r
 \r
 <itemize>\r
        <item>refresh_stale_hit option. Not yet ported.\r
@@ -326,6 +325,27 @@ The 'httpready' filter delays delivering new connections
 to Squid until a full HTTP request has been received.\r
 See the accf_http(9) man page.\r
        </verb>\r
+\r
+       <tag>include</tag>\r
+       <p>New option to import entire secondary configuration files into squid.conf.\r
+       <verb>\r
+       Squid will follow the files immediately and insert all their content\r
+       as if it was at that position in squid.conf. As per squid.conf some\r
+       options are order-specific within the config as a whole.\r
+\r
+       A few layers of include are allowed, but too many are confusing and\r
+       squid will enforce an include depth of 16 files.\r
+\r
+       Syntax:\r
+               include /path/to/file1 /path/to/file2\r
+       </verb>\r
+\r
+       <tag>acl myportname</tag>\r
+       <p>New acl type myportname, matching the name of the http(s)_port where the request was accepted\r
+       <verb>\r
+        acl aclname myportname 3128 ...         # http(s)_port name\r
+       </verb>\r
+\r
 </descrip>\r
 \r
 \r
index cf027ee1b53cb5f8bd5eb3cf0b4b36001322984b..116d26d530059c7311405460e08df4d54e9de285 100644 (file)
@@ -1,6 +1,6 @@
 ## Process this file with automake to produce Makefile.in
 #
-# $Id: Makefile.am,v 1.14 2007/08/22 00:20:10 hno Exp $
+# $Id: Makefile.am,v 1.14.4.1 2008/02/29 18:29:54 serassio Exp $
 #
 
 errordir = $(datadir)/errors
@@ -42,7 +42,10 @@ LANGUAGES    = \
                Spanish \
                Swedish \
                Traditional_Chinese \
-               Turkish 
+               Turkish \
+               Ukrainian-1251 \
+               Ukrainian-koi8-u \
+               Ukrainian-utf8
 
 install-data-local: 
        @for l in $(INSTALL_LANGUAGES); do \
index 3afa91f6b40d433036269117174fd8f8743ddeb7..851c0a6283ba9e411d67565cfdb7b71f2a6a683f 100644 (file)
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 #
-# $Id: Makefile.in,v 1.105.4.2 2007/12/27 20:37:22 serassio Exp $
+# $Id: Makefile.in,v 1.105.4.3 2008/02/29 18:29:54 serassio Exp $
 #
 srcdir = @srcdir@
 top_srcdir = @top_srcdir@
@@ -303,7 +303,10 @@ LANGUAGES = \
                Spanish \
                Swedish \
                Traditional_Chinese \
-               Turkish 
+               Turkish \
+               Ukrainian-1251 \
+               Ukrainian-koi8-u \
+               Ukrainian-utf8
 
 all: all-am
 
index b78db43c91a48d19779b5edd394813da0ac03d3f..cae2060cda7ed5c4e8279afd4afb79efa8db76f4 100644 (file)
@@ -1,29 +1,33 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<HTML><HEAD>
-<TITLE>ERROR: The requested URL could not be retrieved</TITLE>
-<STYLE type="text/css"><!--BODY{background-color:#ffffff; font-family:verdana,sans-serif}--></STYLE>
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+<TITLE>FEL: Beg&auml;rd URL kunde inte h&auml;mtas</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
 </HEAD><BODY>
-<H2>The requested URL could not be retrieved</H2>
+<H2>Beg&auml;rd URL kunde inte h&auml;mtas</H2>
 <HR noshade size="1px">
 <P>
-While trying to retrieve the URL:
+Vid f&ouml;rs&ouml;ket att h&auml;mta URL:
 <A HREF="%U">%U</A>
 <P>
-The following error was encountered:
+Mottogs f&ouml;ljande fel:
 <BLOCKQUOTE>
-ESI Processing failed.
+ESI bearbetning misslyckades.
+<I>%H</I>
 </BLOCKQUOTE>
+</UL>
 
 <P>
-The ESI processor returned:
+ESI motorn returnerade:
 <BLOCKQUOTE>
-%Z
+%z
 </BLOCKQUOTE>
 
 <P>
-This means that:
+Detta betyder att:
 <PRE>
- The surrogate was not able to process the ESI template. Please report this error to the webmaster. 
+ Surrogat servern kunde inte bearbeta ESI mallen. 
+ V&auml;nligen kontakta den ansvariga f&ouml;r webbservern ifr&aring;ga.
 </PRE>
-<P>Your webmaster is <A HREF="mailto:%w">%w</A>.</P>
-<P>This page is in english because a translation has not been made. If you are able to, please create a translation and contact the squid project to get it included.</P>
+<P>
+Addressen till ansvarig administrat&ouml;r &auml;r <A HREF="mailto:%w">%w</A>. 
+</P>
diff --git a/errors/Ukrainian-1251/ERR_ACCESS_DENIED b/errors/Ukrainian-1251/ERR_ACCESS_DENIED
new file mode 100644 (file)
index 0000000..2bdbc7f
--- /dev/null
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URL:
+<A HREF="%U">%U</A>
+<P>
+Âèíèêëà íàñòóïíà ïîìèëêà:
+<UL>
+<LI>
+<STRONG>
+Äîñòóï çàáîðîíåíèé.
+</STRONG>
+<P>
+Íàñòðîéêà êîíòðîëþ äîñòóïó íå äîçâîëÿº âèêîíàòè Âàø 
+çàïèò â äàíèé ÷àñ. ßêùî Âè ââàæàºòå öå íåïðàâèëüíèì, òî,
+áóäü-ëàñêà, êîíòàêòóéòå ç Âàøèì ²íòåðíåò ïðîâàéäåðîì.
+</UL>
+<P>Âàøèì àäì³í³ñòðàòîðîì êåøó º <A HREF="mailto:%w">%w</A>.
+
diff --git a/errors/Ukrainian-1251/ERR_CACHE_ACCESS_DENIED b/errors/Ukrainian-1251/ERR_CACHE_ACCESS_DENIED
new file mode 100644 (file)
index 0000000..e9cff83
--- /dev/null
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Äîñòóï äî êåøó çàáîðîíåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD>
+<BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>Äîñòóï äî êåøó çàáîðîíåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URL:
+<A HREF="%U">%U</A>
+<P>
+Âèíèêëà íàñòóïíà ïîìèëêà:
+<UL>
+<LI>
+<STRONG>
+Äîñòóï äî êåøó çàáîðîíåíèé
+</STRONG>
+</UL>
+</P>
+
+<P>Âèáà÷òå, àëå Âè íå ìîæåòå çàïðîñèòè:
+<PRE>    %U</PRE>
+ç öüîãî êåøó äî òèõ ï³ð, ïîêè íå ïðîéäåòå àóòåíòèô³êàö³þ.
+</P>
+
+<P>
+Âàì ïîòð³áíî âèêîðèñòîâóâàòè Netscape âåðñ³¿ 2.0 ÷è âèùå, àáî Microsoft Internet
+Explorer 3.0, àáî HTTP/1.1 ñóì³ñíèé áðîóçåð. Áóäü-ëàñêà, çâ'ÿæ³òüñÿ
+ç <A HREF="mailto:%w">àäì³í³ñòðàòîðîì êåøó</a>, ÿêùî ó Âàñ âèíèêëè òðóäíîù³ 
+ç àóòåíòèô³êàö³ºþ, àáî <A HREF="http://%h/cgi-bin/chpasswd.cgi">çì³í³òü</a> 
+Âàø ïàðîëü ïî çàìîâ÷óâàííþ.
+</P>
diff --git a/errors/Ukrainian-1251/ERR_CACHE_MGR_ACCESS_DENIED b/errors/Ukrainian-1251/ERR_CACHE_MGR_ACCESS_DENIED
new file mode 100644 (file)
index 0000000..cf35aab
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Äîñòóï äî êåðóâàííÿ êåøîì çàáîðîíåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD>
+<BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>Äîñòóï äî êåðóâàííÿ êåøîì çàáîðîíåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URL:
+<A HREF="%U">%U</A>
+<P>
+Âèíèêëà íàñòóïíà ïîìèëêà:
+<UL>
+<LI>
+<STRONG>
+Äîñòóï äî êåðóâàííÿ êåøîì çàáîðîíåíèé
+</STRONG>
+</UL>
+</P>
+
+<P>Âèáà÷òå, Âè íå ìîæåòå çàïðîñèòè:
+<PRE>    %U</PRE>
+ç öüîãî êåø ìåíåäæåðà äî òèõ ï³ð, ïîêè íå ïðîéäåòå àóòåíòèô³êàö³þ.
+</P>
+<P>
+Âàì ïîòð³áíî âèêîðèñòîâóâàòè Netscape âåðñ³¿ 2.0 ÷è âèùå, àáî Microsoft Internet
+Explorer 3.0, àáî HTTP/1.1 ñóì³ñíèé áðîóçåð. Áóäü-ëàñêà, çâ'ÿæ³òüñÿ
+ç <A HREF="mailto:%w">àäì³í³ñòðàòîðîì êåøó</a>, ÿêùî ó Âàñ âèíèêëè òðóäíîù³ 
+ç àóòåíòèô³êàö³ºþ, à ÿêùî <em>Âè</em> º àäì³í³ñòðàòîðîì,
+ïðî÷èòàéòå äîêóìåíòàö³þ Squid ïî ³íòåðôåéñó êåðóâàííÿ êåøîì ³ ïåðåâ³ðòå
+æóðíàë êåøó (cache log) íà ïðåäìåò á³ëüø äåòàëüíèõ ïîâ³äîìëåíü ïðî ïîìèëêè.</P>
diff --git a/errors/Ukrainian-1251/ERR_CANNOT_FORWARD b/errors/Ukrainian-1251/ERR_CANNOT_FORWARD
new file mode 100644 (file)
index 0000000..b497ed5
--- /dev/null
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URL:
+<A HREF="%U">%U</A>
+<P>
+Âèíèêëà íàñòóïíà ïîìèëêà:
+<UL>
+<LI>
+<STRONG>
+ äàíèé ìîìåíò íåìîæëèâî ïåðåñëàòè öåé çàïèò
+</STRONG>
+</UL>
+
+<P>
+Äàíèé çàïèò íå ìîæå áóòè ïåðåñëàíèé äî ñåðâåðà-äæåðåëà, ÷è äî áóäü-ÿêîãî
+ç âèùåñòîÿ÷èõ êåø³â.  Íàéá³ëüø â³ðîã³äíà ïðè÷èíà ïîìèëêè:
+<UL>
+<LI>Àäì³í³ñòðàòîð êåøó çàáîðîíèâ âèêîíóâàòè ïðÿì³ ç'ºäíàííÿ 
+ç ñåðâåðàìè-äæåðåëàìè (origin servers) ³
+<LI>óñ³ âèùåñòîÿ÷³ êåø-ñåðâåðà (parent caches) â äàíèé ìîìåíò íåäîñòóïí³.
+</UL>
+<P>Âàøèì êåø àäì³í³ñòðàòîðîì º <A HREF="mailto:%w">%w</A>. 
+
diff --git a/errors/Ukrainian-1251/ERR_CONNECT_FAIL b/errors/Ukrainian-1251/ERR_CONNECT_FAIL
new file mode 100644 (file)
index 0000000..43d9013
--- /dev/null
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URL:
+<A HREF="%U">%U</A>
+<P>
+Âèíèêëà íàñòóïíà ïîìèëêà:
+<UL>
+<LI>
+<STRONG>
+Íå âäàëîñü âñòàíîâèòè ç'ºäíàííÿ
+</STRONG>
+</UL>
+
+<P>
+Ñèñòåìà ïîâ³äîìëÿº:
+<PRE><I>    %E</I></PRE>
+
+<P>
+³ääàëåí³ õîñò ÷è ìåðåæà íå â³äïîâ³äàþòü. Áóäü-ëàñêà, ïîâòîð³òü ñâ³é çàïèò ùå ðàç.
+<P>Âàøèì àäì³í³ñòðàòîðîì êåøó º <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-1251/ERR_DNS_FAIL b/errors/Ukrainian-1251/ERR_DNS_FAIL
new file mode 100644 (file)
index 0000000..e094d08
--- /dev/null
@@ -0,0 +1,32 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URL:
+<A HREF="%U">%U</A>
+<P>
+Âèíèêëà íàñòóïíà ïîìèëêà:
+<BLOCKQUOTE>
+Íåìîæëèâî âèçíà÷èòè IP àäðåñó âóçëà
+<I>%H</I>
+</BLOCKQUOTE>
+
+<P>
+DNS ñåðâåð ïîâ³äîìëÿº:
+<BLOCKQUOTE>
+%z
+</BLOCKQUOTE>
+
+<P>
+Öå îçíà÷àº:
+<PRE>
+ Êåøó íå âäàëîñÿ âèçíà÷èòè ³ì'ÿ ñåðâåðà, âêàçàíå â URL.
+ Ïåðåâ³ðòå ïðàâèëüí³ñòü íàïèñàííÿ àäðåñó.
+</PRE>
+<P>Âàøèì àäì³í³ñòðàòîðîì êåøó º <A HREF="mailto:%w">%w</A>.
+
diff --git a/errors/Ukrainian-1251/ERR_ESI b/errors/Ukrainian-1251/ERR_ESI
new file mode 100644 (file)
index 0000000..7ad1805
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H2>Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URL:
+<A HREF="%U">%U</A>
+<P>
+Âèíèêëà íàñòóïíà ïîìèëêà:
+<BLOCKQUOTE>
+Îáðîáêà ESI çàâåðøèëàñü íåâäàëî.
+</BLOCKQUOTE>
+
+<P>
+ESI ïðîöåñîð ïîâ³äîìèâ:
+<BLOCKQUOTE>
+%Z
+</BLOCKQUOTE>
+
+<P>
+Öå îçíà÷ຠùî:
+<PRE>
+ Çàì³ííèê íå çì³ã îáðîáèòè ESI òåìïëåéò. Áóäü-ëàñêà ïîâ³äîìòå ïðî öþ ïîìèëêó âåáìàéñòðà. 
+</PRE>
+<P>Âàøèì âåáìàéñòðîì º <A HREF="mailto:%w">%w</A>. 
diff --git a/errors/Ukrainian-1251/ERR_FORWARDING_DENIED b/errors/Ukrainian-1251/ERR_FORWARDING_DENIED
new file mode 100644 (file)
index 0000000..3606528
--- /dev/null
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URL:
+<A HREF="%U">%U</A>
+<P>
+Âèíèêëà íàñòóïíà ïîìèëêà:
+<UL>
+<LI>
+<STRONG>
+Ïåðåñèëêà çàáîðîíåíà
+</STRONG>
+</UL>
+
+<P>
+Öåé êåø íå ïåðåñèëàòèìå Âàø çàïèò, òîìó ùî â³í íàìàãàºòüñÿ âñòàíîâèòè áðàòí³ â³äíîñèíè (sibling relationship).
+Ìîæëèâî, ê볺íò %i - íåâ³ðíî ñêîíô³ãóðîâàíèé êåø.
+<P>Âàøèì àäì³í³ñòðàòîðîì êåøó º <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-1251/ERR_FTP_DISABLED b/errors/Ukrainian-1251/ERR_FTP_DISABLED
new file mode 100644 (file)
index 0000000..afd07ee
--- /dev/null
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URL:
+<A HREF="%U">%U</A>
+<P>
+Âèíèêëà íàñòóïíà ïîìèëêà:
+<UL>
+<LI>
+<STRONG>
+FTP äîñòóï çàáîðîíåíèé.
+</STRONG>
+</UL>
+
+<P>
+Öåé êåø íå ï³äòðèìóº ïðîòîêîë FTP.
+<P>Âàøèì àäì³í³ñòðàòîðîì êåøó º <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-1251/ERR_FTP_FAILURE b/errors/Ukrainian-1251/ERR_FTP_FAILURE
new file mode 100644 (file)
index 0000000..6a5e576
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URL
+âèíèêëà ïîìèëêà ïðîòîêîëó FTP:
+<A HREF="%U">%U</A>
+<P>
+Squid ïîñëàâ íàñòóïíó êîìàíäó FTP:
+<blockquote><strong><pre>%f</pre></strong></blockquote>
+³ ïîò³ì îòðèìàâ òàêó â³äïîâ³äü
+<blockquote><strong><pre>%F</pre></strong></blockquote>
+<blockquote><strong><pre>%g</pre></strong></blockquote>
+<P>Âàøèì àäì³í³ñòðàòîðîì êåøó º <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-1251/ERR_FTP_FORBIDDEN b/errors/Ukrainian-1251/ERR_FTP_FORBIDDEN
new file mode 100644 (file)
index 0000000..01f4435
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URL:
+<A HREF="%U">%U</A>
+Ñòàëàñü íåâäàëà FTP àóòåíòèô³êàö³ÿ
+<P>
+Squid ïîñëàâ íàñòóïíó FTP êîìàíäó:
+<blockquote><strong><pre>%f</pre></strong></blockquote>
+³ ïîò³ì îòðèìàâ òàêó â³äïîâ³äü
+<blockquote><strong><pre>%F</pre></strong></blockquote>
+<blockquote><strong><pre>%g</pre></strong></blockquote>
+<P>Âàøèì àäì³í³ñòðàòîðîì êåøó º <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-1251/ERR_FTP_NOT_FOUND b/errors/Ukrainian-1251/ERR_FTP_NOT_FOUND
new file mode 100644 (file)
index 0000000..e288d45
--- /dev/null
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+Äàíèé URL íå ìîæå áóòè äîñòàâëåíèé:
+<A HREF="%U">%U</A>
+<P>
+Squid ïîñëàâ íàñòóïíó FTP êîìàíäó:
+<blockquote><strong><pre>%f</pre></strong></blockquote>
+³ ïîò³ì îòðèìàâ òàêó â³äïîâ³äü
+<blockquote><strong><pre>%F</pre></strong></blockquote>
+<blockquote><strong><pre>%g</pre></strong></blockquote>
+<P>
+Öå ìîæå áóòè âèêëèêàíî FTP àäðåñîþ ç àáñîëþòíèì øëÿõîì (ÿêèé íå  
+â³äïîâ³äຠñòàíäàðòó RFC 1738). Â òàêîìó âèïàäêó, ôàéë ìîæå áóòè 
+çíàéäåíèé çà àäðåñîþ <A HREF="%B">%B</A>.
+<P>Âàøèì àäì³í³ñòðàòîðîì êåøó º <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-1251/ERR_FTP_PUT_CREATED b/errors/Ukrainian-1251/ERR_FTP_PUT_CREATED
new file mode 100644 (file)
index 0000000..7e180cd
--- /dev/null
@@ -0,0 +1,9 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>Êîìàíäà FTP PUT çàâåðøèëàñü óñï³øíî: Ôàéë ñòâîðåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>Îïåðàö³ÿ çàâåðøèëàñü óñï³øíî</H1>
+<H2>Ôàéë ñòâîðåíèé</H2>
+<HR noshade size="1px">
+
diff --git a/errors/Ukrainian-1251/ERR_FTP_PUT_ERROR b/errors/Ukrainian-1251/ERR_FTP_PUT_ERROR
new file mode 100644 (file)
index 0000000..97e4610
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Êîìàíäà FTP PUT/upload çàâåðøèëàñü íåâäàëî</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>FTP PUT/upload çàâåðøèëàñü íåâäàëî</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè ôàéëà çà àäðåñîþ:
+<A HREF="%U">%U</A>
+<P>
+Squid ïîñëàâ íàñòóïíó FTP êîìàíäó:
+<PRE><STRONG>
+        %f
+</STRONG></PRE>
+³ ïîò³ì îòðèìàâ òàêó â³äïîâ³äü
+<PRE><STRONG>
+        %F
+</STRONG></PRE>
+<P>
+Öå îçíà÷ຠùî:
+<PRE>
+Âàì ñë³ä ïåðåâ³ðèòè øëÿõ, ïðàâà äîñòóïó, â³ëüíå ì³ñöå ³ ï³ñëÿ öüîãî ñïðîáóâàòè çíîâó.
+</PRE>
+<P>Âàøèì àäì³í³ñòðàòîðîì êåøó º <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-1251/ERR_FTP_PUT_MODIFIED b/errors/Ukrainian-1251/ERR_FTP_PUT_MODIFIED
new file mode 100644 (file)
index 0000000..ef8286d
--- /dev/null
@@ -0,0 +1,11 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>Êîìàíäà FTP PUT çàâåðøèëàñü óñï³øíî: Ôàéë îíîâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>Îïåðàö³ÿ çàâåðøèëàñü óñï³øíî.</H1>
+<H2>Ôàéë îíîâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+</P>
+
diff --git a/errors/Ukrainian-1251/ERR_FTP_UNAVAILABLE b/errors/Ukrainian-1251/ERR_FTP_UNAVAILABLE
new file mode 100644 (file)
index 0000000..b602401
--- /dev/null
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URL:
+<A HREF="%U">%U</A>
+FTP ñåðâåð áóâ ïåðåãðóæåíèé
+<P>
+Squid ïîñëàâ íàñòóïíó FTP êîìàíäó:
+<blockquote><strong><pre>%f</pre></strong></blockquote>
+³ ïîò³ì îòðèìàâ òàêó â³äïîâ³äü
+<blockquote><strong><pre>%F</pre></strong></blockquote>
+<blockquote><strong><pre>%g</pre></strong></blockquote>
+<P>Âàøèì àäì³í³ñòðàòîðîì êåøó º <A HREF="mailto:%w">%w</A>.
+
diff --git a/errors/Ukrainian-1251/ERR_ICAP_FAILURE b/errors/Ukrainian-1251/ERR_ICAP_FAILURE
new file mode 100644 (file)
index 0000000..82b8b63
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff; font-family:verdana,sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URL:
+<A HREF="%U">%U</A>
+<P>
+Âèíèêëà íàñòóïíà ïîìèëêà:
+<UL>
+<LI>
+<STRONG>
+Ïîìèëêà ïðîòîêîëó ICAP.
+</STRONG>
+</UL>
+
+<P>
+Ñèñòåìà ïîâ³äîìèëà:
+<PRE><I>    %E</I></PRE>
+
+<P>
+Öå ìîæå îçíà÷àòè:
+Äåÿê³ àñïåêòè ICAP ç'ºäíàííÿ íåñïðàâí³. Ìîæëèâ³ ïðîáëåìè:
+<UL>
+<LI>Äîñòóï äî ICAP ñåðâåðó íåìîæëèâèé.
+<LI>Íåâ³ðíà â³äïîâ³äü â³ä ICAP ñåðâåðó.
+</UL>
+</P>
+
diff --git a/errors/Ukrainian-1251/ERR_INVALID_REQ b/errors/Ukrainian-1251/ERR_INVALID_REQ
new file mode 100644 (file)
index 0000000..028da1d
--- /dev/null
@@ -0,0 +1,31 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URL:
+<A HREF="%U">%U</A>
+<P>
+Âèíèêëà íàñòóïíà ïîìèëêà:
+<UL>
+<LI>
+<STRONG>
+Íåâ³ðíèé çàïèò
+</STRONG>
+</UL>
+
+<P>
+Äåÿê³ àñïåêòè HTTP çàïèòó íåâ³ðí³. Ìîæëèâ³ ïðîáëåìè:
+<UL>
+<LI>³äñóòí³é àáî íåâ³äîìèé ìåòîä çàïèòó (GET, POST)
+<LI>³äñóòí³é URL
+<LI>³äñóòí³é HTTP ³äåíòèô³êàòîð (HTTP/1.0)
+<LI>Çàïèò íàäòî âåëèêèé
+<LI>Íå âêàçàíèé Content-Length äëÿ çàïèò³â POST ÷è PUT
+<LI>Íåäîïóñòèìèé ñèìâîë â ³ìåí³ ñåðâåðà; ï³ä÷åðêóâàííÿ íåäîïóñòèì³
+</UL>
+<P>Âàøèì àäì³í³ñòðàòîðîì êåøó º <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-1251/ERR_INVALID_RESP b/errors/Ukrainian-1251/ERR_INVALID_RESP
new file mode 100644 (file)
index 0000000..0d3b17f
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URL:
+<A HREF="%U">%U</A>
+<P>
+Âèíèêëà íàñòóïíà ïîìèëêà:
+<UL>
+<LI>
+<STRONG>
+Íåâ³ðíèé çàïèò
+</STRONG>
+</UL>
+
+<P>
+The HTTP â³äïîâ³äíå ïîâ³äîìëåííÿ, îòðèìàíå â³ä ñåðâåðà
+íå ìîæå áóòè âèçíà÷åíå àáî º íåïðàâèëüíî çôîðìîâàíèì.
+Áóäü-ëàñêà, êîíòàêòóéòå ç àäì³í³ñòðàòîðîì ñàéòó. Âàø àäì³í³ñòðàòîð
+êåøó ìîæå íàäàòè Âàì á³ëüø äåòàëüíó ³íôîðìàö³þ ïðî 
+äàíó ïîìèëêó, ÿêùî öå íåîáõ³äíî.
+<P>Âàøèì àäì³í³ñòðàòîðîì êåøó º <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-1251/ERR_INVALID_URL b/errors/Ukrainian-1251/ERR_INVALID_URL
new file mode 100644 (file)
index 0000000..dcb19b4
--- /dev/null
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URL:
+<A HREF="%U">%U</A>
+<P>
+Âèíèêëà íàñòóïíà ïîìèëêà:
+<UL>
+<LI>
+<STRONG>
+Íåïðàâèëüíèé URL
+</STRONG>
+</UL>
+
+<P>
+Äåÿê³ àñïåêòè çàïðîøåíîãî URL º íåïðàâèëüíèìè. Ìîæëèâ³ ïðîáëåìè:
+<UL>
+<LI>³äñóòí³é ÷è íåâ³ðíèé ïðîòîêîë äîñòóïó (ïîâèíåí áóòè `http://'' àáî
+ñõîæèé)
+<LI>³äñóòíº ³ì'ÿ ñåðâåðà
+<LI>Íåäîïóñòèìèé ïîäâ³éíèé êåðóþ÷èé ñèìâîë â URL-øëÿõó
+<LI>Íåäîïóñòèìèé ñèìâîë â ³ìåí³ ñåðâåðà; ï³ä÷åðêóâàííÿ íåäîïóñòèì³
+</UL>
+<P>Âàøèì àäì³í³ñòðàòîðîì êåøó º <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-1251/ERR_LIFETIME_EXP b/errors/Ukrainian-1251/ERR_LIFETIME_EXP
new file mode 100644 (file)
index 0000000..87e8cfe
--- /dev/null
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URL:
+<A HREF="%U">%U</A>
+<P>
+Âèíèêëà íàñòóïíà ïîìèëêà:
+<UL>
+<LI>
+<STRONG>
+×àñ ç'ºäíàííÿ çàê³í÷èâñÿ
+</STRONG>
+</UL>
+
+<P>
+Squid çàâåðøèâ Âàø çàïèò ó çâ'ÿçêó ç ïåðåâèùåííÿì
+ìàêñèìàëüíîãî ÷àñó ç'ºäíàííÿ.
+<P>Âàøèì àäì³í³ñòðàòîðîì êåøó º <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-1251/ERR_NO_RELAY b/errors/Ukrainian-1251/ERR_NO_RELAY
new file mode 100644 (file)
index 0000000..cac818c
--- /dev/null
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URL:
+<A HREF="%U">%U</A>
+<P>
+Âèíèêëà íàñòóïíà ïîìèëêà:
+<UL>
+<LI>
+<STRONG>
+Wais Relay íå âèçíà÷åíèé
+</STRONG>
+</UL>
+
+<P>
+Äëÿ öüîãî êåøó íå âèçíà÷åíèé WAIS Relay host!  Çâåðí³òüñÿ äî àäì³í³ñòðàòîðà.
+<P>Âàøèì àäì³í³ñòðàòîðîì êåøó º <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-1251/ERR_ONLY_IF_CACHED_MISS b/errors/Ukrainian-1251/ERR_ONLY_IF_CACHED_MISS
new file mode 100644 (file)
index 0000000..4bf4cb0
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URL:
+<A HREF="%U">%U</A>
+<P>
+Âèíèêëà íàñòóïíà ïîìèëêà:
+<UL>
+<LI>
+<STRONG>
+³äïîâ³äíèé îá'ºêò íå áóâ çíàéäåíèé â êåø³, â ðåçóëüòàò³ ÷îãî áóëà
+âèçíà÷åíà äèðåêòèâà <code>only-if-cached</code>.
+</STRONG>
+</UL>
+
+<P>
+Âû ïîñëàëè çàïèò ç äèðåêòèâîþ êåø-êîíòðîëþ <code>only-if-cached</code>.
+Îá'ºêò íå áóâ çíàéäåíèé â êåø³, <em>àáî</em> â³í âèìàãຠîíîâëåííÿ,
+ÿêå çàáîðîíåíî <code>only-if-cached</code> äèðåêòèâîþ.
+<P>Âàøèì àäì³í³ñòðàòîðîì êåøó º <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-1251/ERR_READ_ERROR b/errors/Ukrainian-1251/ERR_READ_ERROR
new file mode 100644 (file)
index 0000000..6fea0d5
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URL:
+<A HREF="%U">%U</A>
+<P>
+Âèíèêëà íàñòóïíà ïîìèëêà:
+<UL>
+<LI>
+<STRONG>
+Ïîìèëêà ÷èòàííÿ
+</STRONG>
+</UL>
+
+<P>
+Ñèñòåìà ïîâ³äîìèëà:
+<PRE><I>    %E</I></PRE>
+
+<P>
+ϳä ÷àñ ÷èòàííÿ äàíèõ ç ìåðåæ³ âèíèêëà ïîìèëêà. Áóäü-ëàñêà, ïîâòîð³òü
+Âàø çàïèò.
+<P>Âàøèì àäì³í³ñòðàòîðîì êåøó º <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-1251/ERR_READ_TIMEOUT b/errors/Ukrainian-1251/ERR_READ_TIMEOUT
new file mode 100644 (file)
index 0000000..3348572
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URL:
+<A HREF="%U">%U</A>
+<P>
+Âèíèêëà íàñòóïíà ïîìèëêà:
+<UL>
+<LI>
+<STRONG>
+Ïåðåâèùåíèé ÷àñ î÷³êóâàííÿ â³äïîâ³ä³.
+</STRONG>
+</UL>
+
+<P>
+Ñèñòåìà ïîâ³äîìèëà:
+<PRE><I>    %E</I></PRE>
+
+<P>
+Ïåðåâèùåíèé ÷àñ î÷³êóâàííÿ â³äïîâ³ä³ ï³ä ÷àñ ÷èòàííÿ äàíèõ ç ìåðåæ³. Ìåðåæà
+÷è ñåðâåð ìîæóòü íå ïðàöþâàòè ÷è áóòè ïåðåãðóæåíèìè. Áóäü-ëàñêà, ïîâòîð³òü Âàø çàïèò.
+<P>Âàøèì àäì³í³ñòðàòîðîì êåøó º <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-1251/ERR_SECURE_CONNECT_FAIL b/errors/Ukrainian-1251/ERR_SECURE_CONNECT_FAIL
new file mode 100644 (file)
index 0000000..0cbbe67
--- /dev/null
@@ -0,0 +1,31 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+<TITLE>ERROR: The requested URL could not be retrieved</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ERROR</H1>
+<H2>The requested URL could not be retrieved</H2>
+<HR noshade size="1px">
+<P>
+While trying to retrieve the URL:
+<A HREF="%U">%U</A>
+<P>
+The following error was encountered:
+<UL>
+<LI>
+<STRONG>
+Failed to establish a secure connection to %I
+</STRONG>
+</UL>
+
+<P>
+The system returned:
+<PRE><I>    %E</I></PRE>
+
+<P>
+This proxy and the remote host failed to negotiate a mutually acceptable
+security settings for handling your request. It is possible that the remote
+host does not support secure connections, or the proxy is not satisfied with
+the host security credentials.
+
+<P>Your cache administrator is <A HREF="mailto:%w%W">%w</A>. 
diff --git a/errors/Ukrainian-1251/ERR_SHUTTING_DOWN b/errors/Ukrainian-1251/ERR_SHUTTING_DOWN
new file mode 100644 (file)
index 0000000..35ea961
--- /dev/null
@@ -0,0 +1,17 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URL:
+<A HREF="%U">%U</A>
+<P>
+Âèíèêëà íàñòóïíà ïîìèëêà:
+<P>
+Öåé êåø â äàíèé ìîìåíò ÷àñó çíàõîäèòüñÿ â ïðîöåñ³ çóïèíêè ³ íå ìîæå îáñëóæèòè
+âàø çàïèò. Áóäü-ëàñêà, ïîâòîð³òü Âàø çàïèò ÷åðåç äåÿêèé ÷àñ çíîâó.
+<P>Âàøèì àäì³í³ñòðàòîðîì êåøó º <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-1251/ERR_SOCKET_FAILURE b/errors/Ukrainian-1251/ERR_SOCKET_FAILURE
new file mode 100644 (file)
index 0000000..11b1bfc
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URL:
+<A HREF="%U">%U</A>
+<P>
+Âèíèêëà íàñòóïíà ïîìèëêà:
+<UL>
+<LI>
+<STRONG>
+Ïîìèëêà TCP socket.
+</STRONG>
+</UL>
+
+<P>
+Ñèñòåìà ïîâ³äîìèëà:
+<PRE><I>    %E</I></PRE>
+
+<P>
+Squid íå ìîæå ñòâîðèòè TCP socket, ñêîð³ø çà âñå ÷åðåç äóæå âèñîêó çàãðóçêó ñåðâåðà.
+Áóäü-ëàñêà, ïîâòîð³òü Âàø çàïèò.
+<P>Âàøèì àäì³í³ñòðàòîðîì êåøó º <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-1251/ERR_TOO_BIG b/errors/Ukrainian-1251/ERR_TOO_BIG
new file mode 100644 (file)
index 0000000..72de80b
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URL:
+<A HREF="%U">%U</A>
+<P>
+Âèíèêëà íàñòóïíà ïîìèëêà:
+<UL>
+<LI>
+<STRONG>
+Çàïèò ÷è â³äïîâ³äü íàäòî âåëèêà.
+</STRONG>
+
+<P>
+Ó âèïàäêó, ÿêùî Âè çä³éñíþâàëè POST ÷è PUT çàïèò, òîä³ Âàø çàïèò
+(òå, ùî Âè íàìàãàëèñü çàêà÷àòè) º íàäòî âåëèêèì. ßêùî Âè 
+çä³éñíþâàëè GET çàïèò, òîä³ â³äêëèê (òå, ùî Âè íàìàãàëèñü âèêà÷àòè
+) º íàäòî âåëèêèì. Ö³ îáìåæåííÿ áóëè âñòàíîâëåí³
+Âàøèì ²íòåðíåò Ïðîâàéäåðîì, ÿêèé êåðóº êåøîì. Áóäü-ëàñêà,
+ïîâ³äîìòå éîãî, ÿêùî Âè ââàæàºòå äàíå ïîâ³äîìëåííÿ ïîìèëêîþ.
+</UL>
+<P>Âàøèì àäì³í³ñòðàòîðîì êåøó º <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-1251/ERR_UNSUP_REQ b/errors/Ukrainian-1251/ERR_UNSUP_REQ
new file mode 100644 (file)
index 0000000..dfb8800
--- /dev/null
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URL:
+<A HREF="%U">%U</A>
+<P>
+Âèíèêëà íàñòóïíà ïîìèëêà:
+<UL>
+<LI>
+<STRONG>
+Ìåòîä ÷è ïðîòîêîë çàïèòó íå ï³äòðèìóþòüñÿ
+</STRONG>
+</UL>
+
+<P>
+Squid íå ï³äòðèìóº âñ³ ìåòîäè çàïèò³â äëÿ óñ³õ ïðîòîêîë³â.
+Íàïðèêëàä, äëÿ ïðîòîêîëó Gopher Âè íå ìîæåòå âèêîíàòè çàïèò POST.
+<P>Âàøèì àäì³í³ñòðàòîðîì êåøó º <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-1251/ERR_URN_RESOLVE b/errors/Ukrainian-1251/ERR_URN_RESOLVE
new file mode 100644 (file)
index 0000000..8e0ec33
--- /dev/null
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Çàïðîøåíèé URN íå ìîæå áóòè äîñòàâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>URL äëÿ çàïðîøåíîãî URN íå ìîæå áóòè äîñòàâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URN:
+<A HREF="%U">%U</A>
+<P>
+Âèíèêëà íàñòóïíà ïîìèëêà:
+<UL>
+<LI>
+<STRONG>
+Íåìîæëèâî âèçíà÷èòè URN <br>
+(Cannot Resolve URN)
+</STRONG>
+</UL>
+
+<P>
+Íå âàðòî áàãàòî ÷îãî î÷³êóâàòè â³ä ö³º¿ òåõíîëî㳿 URNs íà %T :)
+<P>Âàøèì àäì³í³ñòðàòîðîì êåøó º <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-1251/ERR_WRITE_ERROR b/errors/Ukrainian-1251/ERR_WRITE_ERROR
new file mode 100644 (file)
index 0000000..1ad3f4b
--- /dev/null
@@ -0,0 +1,32 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URL:
+<A HREF="%U">%U</A>
+<P>
+Âèíèêëà íàñòóïíà ïîìèëêà:
+<UL>
+<LI>
+<STRONG>
+Ïîìèëêà çàïèñó
+</STRONG>
+</UL>
+
+<P>
+Ñèñòåìà ïîâ³äîìèëà:
+<PRE><I>    %E</I></PRE>
+
+<P>
+ϳä ÷àñ â³äïðàâëåííÿ ³íôîðìàö³¿ â ìåðåæó âèíèêëà ïîìèëêà. Áóäü-ëàñêà, ïîâòîð³òü
+Âàø çàïèò
+<P>Âàøèì àäì³í³ñòðàòîðîì êåøó º <A HREF="mailto:%w">%w</A>.
+
+
+
+
diff --git a/errors/Ukrainian-1251/ERR_ZERO_SIZE_OBJECT b/errors/Ukrainian-1251/ERR_ZERO_SIZE_OBJECT
new file mode 100644 (file)
index 0000000..73ef10b
--- /dev/null
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
+<TITLE>ÏÎÌÈËÊÀ: Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ÏÎÌÈËÊÀ</H1>
+<H2>Çàïðîøåíèé URL íå ìîæå áóòè äîñòàâëåíèé</H2>
+<HR noshade size="1px">
+<P>
+ϳä ÷àñ äîñòàâêè URL:
+<A HREF="%U">%U</A>
+<P>
+Âèíèêëà íàñòóïíà ïîìèëêà:
+<UL>
+<LI>
+<STRONG>
+³äïîâ³äü íóëüîâî¿ äîâæèíè
+</STRONG>
+</UL>
+
+<P>
+Squid íå îòðèìàâ áóäü-ÿêèõ äàíèõ äëÿ öüîãî çàïèòó.
+<P>Âàøèì àäì³í³ñòðàòîðîì êåøó º <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-1251/README b/errors/Ukrainian-1251/README
new file mode 100644 (file)
index 0000000..8dafd52
--- /dev/null
@@ -0,0 +1,4 @@
+Thank you to
+       Ïåòðî Íåê <mr.petruccio@gmail.com>
+       Vitaliy Matytsyn (main) <vm@if.bank.gov.ua>
+for creating these error pages in Ukrainian!
diff --git a/errors/Ukrainian-koi8-u/ERR_ACCESS_DENIED b/errors/Ukrainian-koi8-u/ERR_ACCESS_DENIED
new file mode 100644 (file)
index 0000000..49f382a
--- /dev/null
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ðïíéìëá</H1>
+<H2>úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URL:
+<A HREF="%U">%U</A>
+<P>
+÷ÉÎÉËÌÁ ÎÁÓÔÕÐÎÁ ÐÏÍÉÌËÁ:
+<UL>
+<LI>
+<STRONG>
+äÏÓÔÕРÚÁÂÏÒÏÎÅÎÉÊ.
+</STRONG>
+<P>
+îÁÓÔÒÏÊËÁ ËÏÎÔÒÏÌÀ ÄÏÓÔÕÐÕ ÎÅ ÄÏÚ×ÏÌѤ ×ÉËÏÎÁÔÉ ÷ÁÛ 
+ÚÁÐÉÔ × ÄÁÎÉÊ ÞÁÓ. ñËÝÏ ÷É ××ÁÖÁ¤ÔÅ ÃÅ ÎÅÐÒÁ×ÉÌØÎÉÍ, ÔÏ,
+ÂÕÄØ-ÌÁÓËÁ, ËÏÎÔÁËÔÕÊÔÅ Ú ÷ÁÛÉÍ ¶ÎÔÅÒÎÅÔ ÐÒÏ×ÁÊÄÅÒÏÍ.
+</UL>
+<P>÷ÁÛÉÍ ÁÄͦΦÓÔÒÁÔÏÒÏÍ ËÅÛÕ ¤ <A HREF="mailto:%w">%w</A>.
+
diff --git a/errors/Ukrainian-koi8-u/ERR_CACHE_ACCESS_DENIED b/errors/Ukrainian-koi8-u/ERR_CACHE_ACCESS_DENIED
new file mode 100644 (file)
index 0000000..88b76c6
--- /dev/null
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: äÏÓÔÕРÄÏ ËÅÛÕ ÚÁÂÏÒÏÎÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD>
+<BODY>
+<H1>ðïíéìëá</H1>
+<H2>äÏÓÔÕРÄÏ ËÅÛÕ ÚÁÂÏÒÏÎÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URL:
+<A HREF="%U">%U</A>
+<P>
+÷ÉÎÉËÌÁ ÎÁÓÔÕÐÎÁ ÐÏÍÉÌËÁ:
+<UL>
+<LI>
+<STRONG>
+äÏÓÔÕРÄÏ ËÅÛÕ ÚÁÂÏÒÏÎÅÎÉÊ
+</STRONG>
+</UL>
+</P>
+
+<P>÷ÉÂÁÞÔÅ, ÁÌÅ ÷É ÎÅ ÍÏÖÅÔÅ ÚÁÐÒÏÓÉÔÉ:
+<PRE>    %U</PRE>
+Ú ÃØÏÇÏ ËÅÛÕ ÄÏ ÔÉȠЦÒ, ÐÏËÉ ÎÅ ÐÒÏÊÄÅÔÅ ÁÕÔÅÎÔÉÆ¦ËÁæÀ.
+</P>
+
+<P>
+÷ÁÍ ÐÏÔÒ¦ÂÎÏ ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ Netscape ×ÅÒÓ¦§ 2.0 ÞÉ ×ÉÝÅ, ÁÂÏ Microsoft Internet
+Explorer 3.0, ÁÂÏ HTTP/1.1 ÓÕͦÓÎÉÊ ÂÒÏÕÚÅÒ. âÕÄØ-ÌÁÓËÁ, Ú×'ÑÖ¦ÔØÓÑ
+Ú <A HREF="mailto:%w">ÁÄͦΦÓÔÒÁÔÏÒÏÍ ËÅÛÕ</a>, ÑËÝÏ Õ ÷ÁÓ ×ÉÎÉËÌÉ ÔÒÕÄÎÏݦ 
+Ú ÁÕÔÅÎÔÉÆ¦ËÁæ¤À, ÁÂÏ <A HREF="http://%h/cgi-bin/chpasswd.cgi">ÚÍ¦Î¦ÔØ</a> 
+÷ÁÛ ÐÁÒÏÌØ ÐÏ ÚÁÍÏ×ÞÕ×ÁÎÎÀ.
+</P>
diff --git a/errors/Ukrainian-koi8-u/ERR_CACHE_MGR_ACCESS_DENIED b/errors/Ukrainian-koi8-u/ERR_CACHE_MGR_ACCESS_DENIED
new file mode 100644 (file)
index 0000000..eac1a26
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: äÏÓÔÕРÄÏ ËÅÒÕ×ÁÎÎÑ ËÅÛÏÍ ÚÁÂÏÒÏÎÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD>
+<BODY>
+<H1>ðïíéìëá</H1>
+<H2>äÏÓÔÕРÄÏ ËÅÒÕ×ÁÎÎÑ ËÅÛÏÍ ÚÁÂÏÒÏÎÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URL:
+<A HREF="%U">%U</A>
+<P>
+÷ÉÎÉËÌÁ ÎÁÓÔÕÐÎÁ ÐÏÍÉÌËÁ:
+<UL>
+<LI>
+<STRONG>
+äÏÓÔÕРÄÏ ËÅÒÕ×ÁÎÎÑ ËÅÛÏÍ ÚÁÂÏÒÏÎÅÎÉÊ
+</STRONG>
+</UL>
+</P>
+
+<P>÷ÉÂÁÞÔÅ, ÷É ÎÅ ÍÏÖÅÔÅ ÚÁÐÒÏÓÉÔÉ:
+<PRE>    %U</PRE>
+Ú ÃØÏÇÏ ËÅÛ ÍÅÎÅÄÖÅÒÁ ÄÏ ÔÉȠЦÒ, ÐÏËÉ ÎÅ ÐÒÏÊÄÅÔÅ ÁÕÔÅÎÔÉÆ¦ËÁæÀ.
+</P>
+<P>
+÷ÁÍ ÐÏÔÒ¦ÂÎÏ ×ÉËÏÒÉÓÔÏ×Õ×ÁÔÉ Netscape ×ÅÒÓ¦§ 2.0 ÞÉ ×ÉÝÅ, ÁÂÏ Microsoft Internet
+Explorer 3.0, ÁÂÏ HTTP/1.1 ÓÕͦÓÎÉÊ ÂÒÏÕÚÅÒ. âÕÄØ-ÌÁÓËÁ, Ú×'ÑÖ¦ÔØÓÑ
+Ú <A HREF="mailto:%w">ÁÄͦΦÓÔÒÁÔÏÒÏÍ ËÅÛÕ</a>, ÑËÝÏ Õ ÷ÁÓ ×ÉÎÉËÌÉ ÔÒÕÄÎÏݦ 
+Ú ÁÕÔÅÎÔÉÆ¦ËÁæ¤À, Á ÑËÝÏ <em>÷É</em> ¤ ÁÄͦΦÓÔÒÁÔÏÒÏÍ,
+ÐÒÏÞÉÔÁÊÔÅ ÄÏËÕÍÅÎÔÁæÀ Squid ÐÏ ¦ÎÔÅÒÆÅÊÓÕ ËÅÒÕ×ÁÎÎÑ ËÅÛÏÍ ¦ ÐÅÒÅצÒÔÅ
+ÖÕÒÎÁÌ ËÅÛÕ (cache log) ÎÁ ÐÒÅÄÍÅÔ Â¦ÌØÛ ÄÅÔÁÌØÎÉÈ ÐÏצÄÏÍÌÅÎØ ÐÒÏ ÐÏÍÉÌËÉ.</P>
diff --git a/errors/Ukrainian-koi8-u/ERR_CANNOT_FORWARD b/errors/Ukrainian-koi8-u/ERR_CANNOT_FORWARD
new file mode 100644 (file)
index 0000000..710f492
--- /dev/null
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ðïíéìëá</H1>
+<H2>úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URL:
+<A HREF="%U">%U</A>
+<P>
+÷ÉÎÉËÌÁ ÎÁÓÔÕÐÎÁ ÐÏÍÉÌËÁ:
+<UL>
+<LI>
+<STRONG>
+÷ ÄÁÎÉÊ ÍÏÍÅÎÔ ÎÅÍÏÖÌÉ×Ï ÐÅÒÅÓÌÁÔÉ ÃÅÊ ÚÁÐÉÔ
+</STRONG>
+</UL>
+
+<P>
+äÁÎÉÊ ÚÁÐÉÔ ÎÅ ÍÏÖÅ ÂÕÔÉ ÐÅÒÅÓÌÁÎÉÊ ÄÏ ÓÅÒ×ÅÒÁ-ÄÖÅÒÅÌÁ, ÞÉ ÄÏ ÂÕÄØ-ÑËÏÇÏ
+Ú ×ÉÝÅÓÔÏÑÞÉÈ ËÅÛ¦×.  îÁÊÂ¦ÌØÛ ×¦ÒÏǦÄÎÁ ÐÒÉÞÉÎÁ ÐÏÍÉÌËÉ:
+<UL>
+<LI>áÄͦΦÓÔÒÁÔÏÒ ËÅÛÕ ÚÁÂÏÒÏÎÉ× ×ÉËÏÎÕ×ÁÔÉ ÐÒÑͦ Ú'¤ÄÎÁÎÎÑ 
+Ú ÓÅÒ×ÅÒÁÍÉ-ÄÖÅÒÅÌÁÍÉ (origin servers) ¦
+<LI>ÕÓ¦ ×ÉÝÅÓÔÏÑÞ¦ ËÅÛ-ÓÅÒ×ÅÒÁ (parent caches) × ÄÁÎÉÊ ÍÏÍÅÎÔ ÎÅÄÏÓÔÕÐΦ.
+</UL>
+<P>÷ÁÛÉÍ ËÅÛ ÁÄͦΦÓÔÒÁÔÏÒÏÍ ¤ <A HREF="mailto:%w">%w</A>. 
+
diff --git a/errors/Ukrainian-koi8-u/ERR_CONNECT_FAIL b/errors/Ukrainian-koi8-u/ERR_CONNECT_FAIL
new file mode 100644 (file)
index 0000000..a79d254
--- /dev/null
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ðïíéìëá</H1>
+<H2>úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URL:
+<A HREF="%U">%U</A>
+<P>
+÷ÉÎÉËÌÁ ÎÁÓÔÕÐÎÁ ÐÏÍÉÌËÁ:
+<UL>
+<LI>
+<STRONG>
+îÅ ×ÄÁÌÏÓØ ×ÓÔÁÎÏ×ÉÔÉ Ú'¤ÄÎÁÎÎÑ
+</STRONG>
+</UL>
+
+<P>
+óÉÓÔÅÍÁ ÐÏצÄÏÍÌѤ:
+<PRE><I>    %E</I></PRE>
+
+<P>
+÷¦ÄÄÁÌÅΦ ÈÏÓÔ ÞÉ ÍÅÒÅÖÁ ÎŠצÄÐÏצÄÁÀÔØ. âÕÄØ-ÌÁÓËÁ, ÐÏ×ÔÏÒ¦ÔØ ÓצʠÚÁÐÉÔ ÝÅ ÒÁÚ.
+<P>÷ÁÛÉÍ ÁÄͦΦÓÔÒÁÔÏÒÏÍ ËÅÛÕ ¤ <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-koi8-u/ERR_DNS_FAIL b/errors/Ukrainian-koi8-u/ERR_DNS_FAIL
new file mode 100644 (file)
index 0000000..9946e27
--- /dev/null
@@ -0,0 +1,32 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ðïíéìëá</H1>
+<H2>úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URL:
+<A HREF="%U">%U</A>
+<P>
+÷ÉÎÉËÌÁ ÎÁÓÔÕÐÎÁ ÐÏÍÉÌËÁ:
+<BLOCKQUOTE>
+îÅÍÏÖÌÉ×Ï ×ÉÚÎÁÞÉÔÉ IP ÁÄÒÅÓÕ ×ÕÚÌÁ
+<I>%H</I>
+</BLOCKQUOTE>
+
+<P>
+DNS ÓÅÒ×ÅÒ ÐÏצÄÏÍÌѤ:
+<BLOCKQUOTE>
+%z
+</BLOCKQUOTE>
+
+<P>
+ãÅ ÏÚÎÁÞÁ¤:
+<PRE>
+ ëÅÛÕ ÎÅ ×ÄÁÌÏÓÑ ×ÉÚÎÁÞÉÔÉ ¦Í'Ñ ÓÅÒ×ÅÒÁ, ×ËÁÚÁÎÅ × URL.
+ ðÅÒÅצÒÔÅ ÐÒÁ×ÉÌØÎ¦ÓÔØ ÎÁÐÉÓÁÎÎÑ ÁÄÒÅÓÕ.
+</PRE>
+<P>÷ÁÛÉÍ ÁÄͦΦÓÔÒÁÔÏÒÏÍ ËÅÛÕ ¤ <A HREF="mailto:%w">%w</A>.
+
diff --git a/errors/Ukrainian-koi8-u/ERR_ESI b/errors/Ukrainian-koi8-u/ERR_ESI
new file mode 100644 (file)
index 0000000..9f0e64b
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H2>úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URL:
+<A HREF="%U">%U</A>
+<P>
+÷ÉÎÉËÌÁ ÎÁÓÔÕÐÎÁ ÐÏÍÉÌËÁ:
+<BLOCKQUOTE>
+ïÂÒÏÂËÁ ESI ÚÁ×ÅÒÛÉÌÁÓØ ÎÅ×ÄÁÌÏ.
+</BLOCKQUOTE>
+
+<P>
+ESI ÐÒÏÃÅÓÏÒ ÐÏצÄÏÍÉ×:
+<BLOCKQUOTE>
+%Z
+</BLOCKQUOTE>
+
+<P>
+ãÅ ÏÚÎÁÞÁ¤ ÝÏ:
+<PRE>
+ úÁͦÎÎÉË ÎÅ ÚͦǠÏÂÒÏÂÉÔÉ ESI ÔÅÍÐÌÅÊÔ. âÕÄØ-ÌÁÓËÁ ÐÏצÄÏÍÔÅ ÐÒÏ ÃÀ ÐÏÍÉÌËÕ ×ÅÂÍÁÊÓÔÒÁ. 
+</PRE>
+<P>÷ÁÛÉÍ ×ÅÂÍÁÊÓÔÒÏÍ ¤ <A HREF="mailto:%w">%w</A>. 
diff --git a/errors/Ukrainian-koi8-u/ERR_FORWARDING_DENIED b/errors/Ukrainian-koi8-u/ERR_FORWARDING_DENIED
new file mode 100644 (file)
index 0000000..16c27ee
--- /dev/null
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ðïíéìëá</H1>
+<H2>úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URL:
+<A HREF="%U">%U</A>
+<P>
+÷ÉÎÉËÌÁ ÎÁÓÔÕÐÎÁ ÐÏÍÉÌËÁ:
+<UL>
+<LI>
+<STRONG>
+ðÅÒÅÓÉÌËÁ ÚÁÂÏÒÏÎÅÎÁ
+</STRONG>
+</UL>
+
+<P>
+ãÅÊ ËÅÛ ÎÅ ÐÅÒÅÓÉÌÁÔÉÍÅ ÷ÁÛ ÚÁÐÉÔ, ÔÏÍÕ ÝϠצΠÎÁÍÁÇÁ¤ÔØÓÑ ×ÓÔÁÎÏ×ÉÔÉ ÂÒÁÔΦ ×¦ÄÎÏÓÉÎÉ (sibling relationship).
+íÏÖÌÉ×Ï, Ë̦¤ÎÔ %i - ÎÅצÒÎÏ ÓËÏÎÆ¦ÇÕÒÏ×ÁÎÉÊ ËÅÛ.
+<P>÷ÁÛÉÍ ÁÄͦΦÓÔÒÁÔÏÒÏÍ ËÅÛÕ ¤ <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-koi8-u/ERR_FTP_DISABLED b/errors/Ukrainian-koi8-u/ERR_FTP_DISABLED
new file mode 100644 (file)
index 0000000..79d79d5
--- /dev/null
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ðïíéìëá</H1>
+<H2>úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URL:
+<A HREF="%U">%U</A>
+<P>
+÷ÉÎÉËÌÁ ÎÁÓÔÕÐÎÁ ÐÏÍÉÌËÁ:
+<UL>
+<LI>
+<STRONG>
+FTP ÄÏÓÔÕРÚÁÂÏÒÏÎÅÎÉÊ.
+</STRONG>
+</UL>
+
+<P>
+ãÅÊ ËÅ۠ΊЦÄÔÒÉÍÕ¤ ÐÒÏÔÏËÏÌ FTP.
+<P>÷ÁÛÉÍ ÁÄͦΦÓÔÒÁÔÏÒÏÍ ËÅÛÕ ¤ <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-koi8-u/ERR_FTP_FAILURE b/errors/Ukrainian-koi8-u/ERR_FTP_FAILURE
new file mode 100644 (file)
index 0000000..39d6e98
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ðïíéìëá</H1>
+<H2>úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URL
+×ÉÎÉËÌÁ ÐÏÍÉÌËÁ ÐÒÏÔÏËÏÌÕ FTP:
+<A HREF="%U">%U</A>
+<P>
+Squid ÐÏÓÌÁ× ÎÁÓÔÕÐÎÕ ËÏÍÁÎÄÕ FTP:
+<blockquote><strong><pre>%f</pre></strong></blockquote>
+¦ ÐÏԦ͠ÏÔÒÉÍÁ× ÔÁËՠצÄÐÏצĨ
+<blockquote><strong><pre>%F</pre></strong></blockquote>
+<blockquote><strong><pre>%g</pre></strong></blockquote>
+<P>÷ÁÛÉÍ ÁÄͦΦÓÔÒÁÔÏÒÏÍ ËÅÛÕ ¤ <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-koi8-u/ERR_FTP_FORBIDDEN b/errors/Ukrainian-koi8-u/ERR_FTP_FORBIDDEN
new file mode 100644 (file)
index 0000000..404ebcb
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ðïíéìëá</H1>
+<H2>úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URL:
+<A HREF="%U">%U</A>
+óÔÁÌÁÓØ ÎÅ×ÄÁÌÁ FTP ÁÕÔÅÎÔÉÆ¦ËÁæÑ
+<P>
+Squid ÐÏÓÌÁ× ÎÁÓÔÕÐÎÕ FTP ËÏÍÁÎÄÕ:
+<blockquote><strong><pre>%f</pre></strong></blockquote>
+¦ ÐÏԦ͠ÏÔÒÉÍÁ× ÔÁËՠצÄÐÏצĨ
+<blockquote><strong><pre>%F</pre></strong></blockquote>
+<blockquote><strong><pre>%g</pre></strong></blockquote>
+<P>÷ÁÛÉÍ ÁÄͦΦÓÔÒÁÔÏÒÏÍ ËÅÛÕ ¤ <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-koi8-u/ERR_FTP_NOT_FOUND b/errors/Ukrainian-koi8-u/ERR_FTP_NOT_FOUND
new file mode 100644 (file)
index 0000000..c4d1b09
--- /dev/null
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ðïíéìëá</H1>
+<H2>úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+äÁÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ:
+<A HREF="%U">%U</A>
+<P>
+Squid ÐÏÓÌÁ× ÎÁÓÔÕÐÎÕ FTP ËÏÍÁÎÄÕ:
+<blockquote><strong><pre>%f</pre></strong></blockquote>
+¦ ÐÏԦ͠ÏÔÒÉÍÁ× ÔÁËՠצÄÐÏצĨ
+<blockquote><strong><pre>%F</pre></strong></blockquote>
+<blockquote><strong><pre>%g</pre></strong></blockquote>
+<P>
+ãÅ ÍÏÖÅ ÂÕÔÉ ×ÉËÌÉËÁÎÏ FTP ÁÄÒÅÓÏÀ Ú ÁÂÓÏÌÀÔÎÉÍ ÛÌÑÈÏÍ (ÑËÉÊ ÎÅ  
+צÄÐÏצÄÁ¤ ÓÔÁÎÄÁÒÔÕ RFC 1738). ÷ ÔÁËÏÍÕ ×ÉÐÁÄËÕ, ÆÁÊÌ ÍÏÖÅ ÂÕÔÉ 
+ÚÎÁÊÄÅÎÉÊ ÚÁ ÁÄÒÅÓÏÀ <A HREF="%B">%B</A>.
+<P>÷ÁÛÉÍ ÁÄͦΦÓÔÒÁÔÏÒÏÍ ËÅÛÕ ¤ <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-koi8-u/ERR_FTP_PUT_CREATED b/errors/Ukrainian-koi8-u/ERR_FTP_PUT_CREATED
new file mode 100644 (file)
index 0000000..9ff1f04
--- /dev/null
@@ -0,0 +1,9 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ëÏÍÁÎÄÁ FTP PUT ÚÁ×ÅÒÛÉÌÁÓØ ÕÓЦÛÎÏ: æÁÊÌ ÓÔ×ÏÒÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ïÐÅÒÁæѠÚÁ×ÅÒÛÉÌÁÓØ ÕÓЦÛÎÏ</H1>
+<H2>æÁÊÌ ÓÔ×ÏÒÅÎÉÊ</H2>
+<HR noshade size="1px">
+
diff --git a/errors/Ukrainian-koi8-u/ERR_FTP_PUT_ERROR b/errors/Ukrainian-koi8-u/ERR_FTP_PUT_ERROR
new file mode 100644 (file)
index 0000000..4cf9a77
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: ëÏÍÁÎÄÁ FTP PUT/upload ÚÁ×ÅÒÛÉÌÁÓØ ÎÅ×ÄÁÌÏ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ðïíéìëá</H1>
+<H2>FTP PUT/upload ÚÁ×ÅÒÛÉÌÁÓØ ÎÅ×ÄÁÌÏ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ ÆÁÊÌÁ ÚÁ ÁÄÒÅÓÏÀ:
+<A HREF="%U">%U</A>
+<P>
+Squid ÐÏÓÌÁ× ÎÁÓÔÕÐÎÕ FTP ËÏÍÁÎÄÕ:
+<PRE><STRONG>
+        %f
+</STRONG></PRE>
+¦ ÐÏԦ͠ÏÔÒÉÍÁ× ÔÁËՠצÄÐÏצĨ
+<PRE><STRONG>
+        %F
+</STRONG></PRE>
+<P>
+ãÅ ÏÚÎÁÞÁ¤ ÝÏ:
+<PRE>
+÷ÁÍ Ó̦ĠÐÅÒÅצÒÉÔÉ ÛÌÑÈ, ÐÒÁ×Á ÄÏÓÔÕÐÕ, ×¦ÌØÎŠͦÓÃÅ ¦ Ð¦ÓÌÑ ÃØÏÇÏ ÓÐÒÏÂÕ×ÁÔÉ ÚÎÏ×Õ.
+</PRE>
+<P>÷ÁÛÉÍ ÁÄͦΦÓÔÒÁÔÏÒÏÍ ËÅÛÕ ¤ <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-koi8-u/ERR_FTP_PUT_MODIFIED b/errors/Ukrainian-koi8-u/ERR_FTP_PUT_MODIFIED
new file mode 100644 (file)
index 0000000..e0d35b7
--- /dev/null
@@ -0,0 +1,11 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ëÏÍÁÎÄÁ FTP PUT ÚÁ×ÅÒÛÉÌÁÓØ ÕÓЦÛÎÏ: æÁÊÌ ÏÎÏ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ïÐÅÒÁæѠÚÁ×ÅÒÛÉÌÁÓØ ÕÓЦÛÎÏ.</H1>
+<H2>æÁÊÌ ÏÎÏ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+</P>
+
diff --git a/errors/Ukrainian-koi8-u/ERR_FTP_UNAVAILABLE b/errors/Ukrainian-koi8-u/ERR_FTP_UNAVAILABLE
new file mode 100644 (file)
index 0000000..60d6eb0
--- /dev/null
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ðïíéìëá</H1>
+<H2>úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URL:
+<A HREF="%U">%U</A>
+FTP ÓÅÒ×ÅÒ ÂÕ× ÐÅÒÅÇÒÕÖÅÎÉÊ
+<P>
+Squid ÐÏÓÌÁ× ÎÁÓÔÕÐÎÕ FTP ËÏÍÁÎÄÕ:
+<blockquote><strong><pre>%f</pre></strong></blockquote>
+¦ ÐÏԦ͠ÏÔÒÉÍÁ× ÔÁËՠצÄÐÏצĨ
+<blockquote><strong><pre>%F</pre></strong></blockquote>
+<blockquote><strong><pre>%g</pre></strong></blockquote>
+<P>÷ÁÛÉÍ ÁÄͦΦÓÔÒÁÔÏÒÏÍ ËÅÛÕ ¤ <A HREF="mailto:%w">%w</A>.
+
diff --git a/errors/Ukrainian-koi8-u/ERR_ICAP_FAILURE b/errors/Ukrainian-koi8-u/ERR_ICAP_FAILURE
new file mode 100644 (file)
index 0000000..2871186
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff; font-family:verdana,sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ðïíéìëá</H1>
+<H2>úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URL:
+<A HREF="%U">%U</A>
+<P>
+÷ÉÎÉËÌÁ ÎÁÓÔÕÐÎÁ ÐÏÍÉÌËÁ:
+<UL>
+<LI>
+<STRONG>
+ðÏÍÉÌËÁ ÐÒÏÔÏËÏÌÕ ICAP.
+</STRONG>
+</UL>
+
+<P>
+óÉÓÔÅÍÁ ÐÏצÄÏÍÉÌÁ:
+<PRE><I>    %E</I></PRE>
+
+<P>
+ãÅ ÍÏÖÅ ÏÚÎÁÞÁÔÉ:
+äÅÑ˦ ÁÓÐÅËÔÉ ICAP Ú'¤ÄÎÁÎÎÑ ÎÅÓÐÒÁ×Φ. íÏÖÌÉצ ÐÒÏÂÌÅÍÉ:
+<UL>
+<LI>äÏÓÔÕРÄÏ ICAP ÓÅÒ×ÅÒÕ ÎÅÍÏÖÌÉ×ÉÊ.
+<LI>îÅצÒÎÁ ×¦ÄÐÏצĨ ×¦Ä ICAP ÓÅÒ×ÅÒÕ.
+</UL>
+</P>
+
diff --git a/errors/Ukrainian-koi8-u/ERR_INVALID_REQ b/errors/Ukrainian-koi8-u/ERR_INVALID_REQ
new file mode 100644 (file)
index 0000000..cd58aaa
--- /dev/null
@@ -0,0 +1,31 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ðïíéìëá</H1>
+<H2>úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URL:
+<A HREF="%U">%U</A>
+<P>
+÷ÉÎÉËÌÁ ÎÁÓÔÕÐÎÁ ÐÏÍÉÌËÁ:
+<UL>
+<LI>
+<STRONG>
+îÅצÒÎÉÊ ÚÁÐÉÔ
+</STRONG>
+</UL>
+
+<P>
+äÅÑ˦ ÁÓÐÅËÔÉ HTTP ÚÁÐÉÔÕ ÎÅצÒΦ. íÏÖÌÉצ ÐÒÏÂÌÅÍÉ:
+<UL>
+<LI>÷¦ÄÓÕÔΦʠÁÂÏ ÎÅצÄÏÍÉÊ ÍÅÔÏÄ ÚÁÐÉÔÕ (GET, POST)
+<LI>÷¦ÄÓÕÔΦʠURL
+<LI>÷¦ÄÓÕÔΦʠHTTP ¦ÄÅÎÔÉÆ¦ËÁÔÏÒ (HTTP/1.0)
+<LI>úÁÐÉÔ ÎÁÄÔÏ ×ÅÌÉËÉÊ
+<LI>îÅ ×ËÁÚÁÎÉÊ Content-Length ÄÌÑ ÚÁÐÉԦנPOST ÞÉ PUT
+<LI>îÅÄÏÐÕÓÔÉÍÉÊ ÓÉÍ×ÏÌ × ¦ÍÅΦ ÓÅÒ×ÅÒÁ; Ð¦ÄÞÅÒËÕ×ÁÎÎÑ ÎÅÄÏÐÕÓÔÉͦ
+</UL>
+<P>÷ÁÛÉÍ ÁÄͦΦÓÔÒÁÔÏÒÏÍ ËÅÛÕ ¤ <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-koi8-u/ERR_INVALID_RESP b/errors/Ukrainian-koi8-u/ERR_INVALID_RESP
new file mode 100644 (file)
index 0000000..05fb477
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ðïíéìëá</H1>
+<H2>úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URL:
+<A HREF="%U">%U</A>
+<P>
+÷ÉÎÉËÌÁ ÎÁÓÔÕÐÎÁ ÐÏÍÉÌËÁ:
+<UL>
+<LI>
+<STRONG>
+îÅצÒÎÉÊ ÚÁÐÉÔ
+</STRONG>
+</UL>
+
+<P>
+The HTTP ×¦ÄÐÏצÄÎÅ ÐÏצÄÏÍÌÅÎÎÑ, ÏÔÒÉÍÁΊצĠÓÅÒ×ÅÒÁ
+ÎÅ ÍÏÖÅ ÂÕÔÉ ×ÉÚÎÁÞÅÎÅ ÁÂÏ ¤ ÎÅÐÒÁ×ÉÌØÎÏ ÚÆÏÒÍÏ×ÁÎÉÍ.
+âÕÄØ-ÌÁÓËÁ, ËÏÎÔÁËÔÕÊÔÅ Ú ÁÄͦΦÓÔÒÁÔÏÒÏÍ ÓÁÊÔÕ. ÷ÁÛ ÁÄͦΦÓÔÒÁÔÏÒ
+ËÅÛÕ ÍÏÖÅ ÎÁÄÁÔÉ ÷ÁÍ Â¦ÌØÛ ÄÅÔÁÌØÎÕ ¦ÎÆÏÒÍÁæÀ ÐÒÏ 
+ÄÁÎÕ ÐÏÍÉÌËÕ, ÑËÝÏ ÃÅ ÎÅÏÂȦÄÎÏ.
+<P>÷ÁÛÉÍ ÁÄͦΦÓÔÒÁÔÏÒÏÍ ËÅÛÕ ¤ <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-koi8-u/ERR_INVALID_URL b/errors/Ukrainian-koi8-u/ERR_INVALID_URL
new file mode 100644 (file)
index 0000000..9980014
--- /dev/null
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ðïíéìëá</H1>
+<H2>úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URL:
+<A HREF="%U">%U</A>
+<P>
+÷ÉÎÉËÌÁ ÎÁÓÔÕÐÎÁ ÐÏÍÉÌËÁ:
+<UL>
+<LI>
+<STRONG>
+îÅÐÒÁ×ÉÌØÎÉÊ URL
+</STRONG>
+</UL>
+
+<P>
+äÅÑ˦ ÁÓÐÅËÔÉ ÚÁÐÒÏÛÅÎÏÇÏ URL ¤ ÎÅÐÒÁ×ÉÌØÎÉÍÉ. íÏÖÌÉצ ÐÒÏÂÌÅÍÉ:
+<UL>
+<LI>÷¦ÄÓÕÔΦʠÞÉ ÎÅצÒÎÉÊ ÐÒÏÔÏËÏÌ ÄÏÓÔÕÐÕ (ÐÏ×ÉÎÅΠÂÕÔÉ `http://'' ÁÂÏ
+ÓÈÏÖÉÊ)
+<LI>÷¦ÄÓÕÔΤ ¦Í'Ñ ÓÅÒ×ÅÒÁ
+<LI>îÅÄÏÐÕÓÔÉÍÉÊ ÐÏÄצÊÎÉÊ ËÅÒÕÀÞÉÊ ÓÉÍ×ÏÌ × URL-ÛÌÑÈÕ
+<LI>îÅÄÏÐÕÓÔÉÍÉÊ ÓÉÍ×ÏÌ × ¦ÍÅΦ ÓÅÒ×ÅÒÁ; Ð¦ÄÞÅÒËÕ×ÁÎÎÑ ÎÅÄÏÐÕÓÔÉͦ
+</UL>
+<P>÷ÁÛÉÍ ÁÄͦΦÓÔÒÁÔÏÒÏÍ ËÅÛÕ ¤ <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-koi8-u/ERR_LIFETIME_EXP b/errors/Ukrainian-koi8-u/ERR_LIFETIME_EXP
new file mode 100644 (file)
index 0000000..a4bacf9
--- /dev/null
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ðïíéìëá</H1>
+<H2>úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URL:
+<A HREF="%U">%U</A>
+<P>
+÷ÉÎÉËÌÁ ÎÁÓÔÕÐÎÁ ÐÏÍÉÌËÁ:
+<UL>
+<LI>
+<STRONG>
+þÁÓ Ú'¤ÄÎÁÎÎÑ ÚÁ˦ÎÞÉ×ÓÑ
+</STRONG>
+</UL>
+
+<P>
+Squid ÚÁ×ÅÒÛÉ× ÷ÁÛ ÚÁÐÉÔ Õ Ú×'ÑÚËÕ Ú ÐÅÒÅ×ÉÝÅÎÎÑÍ
+ÍÁËÓÉÍÁÌØÎÏÇÏ ÞÁÓÕ Ú'¤ÄÎÁÎÎÑ.
+<P>÷ÁÛÉÍ ÁÄͦΦÓÔÒÁÔÏÒÏÍ ËÅÛÕ ¤ <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-koi8-u/ERR_NO_RELAY b/errors/Ukrainian-koi8-u/ERR_NO_RELAY
new file mode 100644 (file)
index 0000000..603391b
--- /dev/null
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ðïíéìëá</H1>
+<H2>úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URL:
+<A HREF="%U">%U</A>
+<P>
+÷ÉÎÉËÌÁ ÎÁÓÔÕÐÎÁ ÐÏÍÉÌËÁ:
+<UL>
+<LI>
+<STRONG>
+Wais Relay ÎÅ ×ÉÚÎÁÞÅÎÉÊ
+</STRONG>
+</UL>
+
+<P>
+äÌÑ ÃØÏÇÏ ËÅÛÕ ÎÅ ×ÉÚÎÁÞÅÎÉÊ WAIS Relay host!  ú×ÅÒÎ¦ÔØÓÑ ÄÏ ÁÄͦΦÓÔÒÁÔÏÒÁ.
+<P>÷ÁÛÉÍ ÁÄͦΦÓÔÒÁÔÏÒÏÍ ËÅÛÕ ¤ <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-koi8-u/ERR_ONLY_IF_CACHED_MISS b/errors/Ukrainian-koi8-u/ERR_ONLY_IF_CACHED_MISS
new file mode 100644 (file)
index 0000000..9bc794a
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ðïíéìëá</H1>
+<H2>úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URL:
+<A HREF="%U">%U</A>
+<P>
+÷ÉÎÉËÌÁ ÎÁÓÔÕÐÎÁ ÐÏÍÉÌËÁ:
+<UL>
+<LI>
+<STRONG>
+÷¦ÄÐÏצÄÎÉÊ ÏÂ'¤ËÔ ÎÅ ÂÕ× ÚÎÁÊÄÅÎÉÊ × ËÅÛ¦, × ÒÅÚÕÌØÔÁÔ¦ ÞÏÇÏ ÂÕÌÁ
+×ÉÚÎÁÞÅÎÁ ÄÉÒÅËÔÉ×Á <code>only-if-cached</code>.
+</STRONG>
+</UL>
+
+<P>
+÷Ù ÐÏÓÌÁÌÉ ÚÁÐÉÔ Ú ÄÉÒÅËÔÉ×ÏÀ ËÅÛ-ËÏÎÔÒÏÌÀ <code>only-if-cached</code>.
+ïÂ'¤ËÔ ÎÅ ÂÕ× ÚÎÁÊÄÅÎÉÊ × ËÅÛ¦, <em>ÁÂÏ</em> ×¦Î ×ÉÍÁÇÁ¤ ÏÎÏ×ÌÅÎÎÑ,
+ÑËÅ ÚÁÂÏÒÏÎÅÎÏ <code>only-if-cached</code> ÄÉÒÅËÔÉ×ÏÀ.
+<P>÷ÁÛÉÍ ÁÄͦΦÓÔÒÁÔÏÒÏÍ ËÅÛÕ ¤ <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-koi8-u/ERR_READ_ERROR b/errors/Ukrainian-koi8-u/ERR_READ_ERROR
new file mode 100644 (file)
index 0000000..f70f36f
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ðïíéìëá</H1>
+<H2>úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URL:
+<A HREF="%U">%U</A>
+<P>
+÷ÉÎÉËÌÁ ÎÁÓÔÕÐÎÁ ÐÏÍÉÌËÁ:
+<UL>
+<LI>
+<STRONG>
+ðÏÍÉÌËÁ ÞÉÔÁÎÎÑ
+</STRONG>
+</UL>
+
+<P>
+óÉÓÔÅÍÁ ÐÏצÄÏÍÉÌÁ:
+<PRE><I>    %E</I></PRE>
+
+<P>
+ð¦Ä ÞÁÓ ÞÉÔÁÎÎÑ ÄÁÎÉÈ Ú ÍÅÒÅÖ¦ ×ÉÎÉËÌÁ ÐÏÍÉÌËÁ. âÕÄØ-ÌÁÓËÁ, ÐÏ×ÔÏÒ¦ÔØ
+÷ÁÛ ÚÁÐÉÔ.
+<P>÷ÁÛÉÍ ÁÄͦΦÓÔÒÁÔÏÒÏÍ ËÅÛÕ ¤ <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-koi8-u/ERR_READ_TIMEOUT b/errors/Ukrainian-koi8-u/ERR_READ_TIMEOUT
new file mode 100644 (file)
index 0000000..76b7759
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ðïíéìëá</H1>
+<H2>úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URL:
+<A HREF="%U">%U</A>
+<P>
+÷ÉÎÉËÌÁ ÎÁÓÔÕÐÎÁ ÐÏÍÉÌËÁ:
+<UL>
+<LI>
+<STRONG>
+ðÅÒÅ×ÉÝÅÎÉÊ ÞÁÓ ÏÞ¦ËÕ×ÁÎÎѠצÄÐÏצĦ.
+</STRONG>
+</UL>
+
+<P>
+óÉÓÔÅÍÁ ÐÏצÄÏÍÉÌÁ:
+<PRE><I>    %E</I></PRE>
+
+<P>
+ðÅÒÅ×ÉÝÅÎÉÊ ÞÁÓ ÏÞ¦ËÕ×ÁÎÎѠצÄÐÏצĦ Ð¦Ä ÞÁÓ ÞÉÔÁÎÎÑ ÄÁÎÉÈ Ú ÍÅÒÅÖ¦. íÅÒÅÖÁ
+ÞÉ ÓÅÒ×ÅÒ ÍÏÖÕÔØ ÎÅ ÐÒÁÃÀ×ÁÔÉ ÞÉ ÂÕÔÉ ÐÅÒÅÇÒÕÖÅÎÉÍÉ. âÕÄØ-ÌÁÓËÁ, ÐÏ×ÔÏÒ¦ÔØ ÷ÁÛ ÚÁÐÉÔ.
+<P>÷ÁÛÉÍ ÁÄͦΦÓÔÒÁÔÏÒÏÍ ËÅÛÕ ¤ <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-koi8-u/ERR_SECURE_CONNECT_FAIL b/errors/Ukrainian-koi8-u/ERR_SECURE_CONNECT_FAIL
new file mode 100644 (file)
index 0000000..0cbbe67
--- /dev/null
@@ -0,0 +1,31 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+<TITLE>ERROR: The requested URL could not be retrieved</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ERROR</H1>
+<H2>The requested URL could not be retrieved</H2>
+<HR noshade size="1px">
+<P>
+While trying to retrieve the URL:
+<A HREF="%U">%U</A>
+<P>
+The following error was encountered:
+<UL>
+<LI>
+<STRONG>
+Failed to establish a secure connection to %I
+</STRONG>
+</UL>
+
+<P>
+The system returned:
+<PRE><I>    %E</I></PRE>
+
+<P>
+This proxy and the remote host failed to negotiate a mutually acceptable
+security settings for handling your request. It is possible that the remote
+host does not support secure connections, or the proxy is not satisfied with
+the host security credentials.
+
+<P>Your cache administrator is <A HREF="mailto:%w%W">%w</A>. 
diff --git a/errors/Ukrainian-koi8-u/ERR_SHUTTING_DOWN b/errors/Ukrainian-koi8-u/ERR_SHUTTING_DOWN
new file mode 100644 (file)
index 0000000..3e9461a
--- /dev/null
@@ -0,0 +1,17 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ðïíéìëá</H1>
+<H2>úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URL:
+<A HREF="%U">%U</A>
+<P>
+÷ÉÎÉËÌÁ ÎÁÓÔÕÐÎÁ ÐÏÍÉÌËÁ:
+<P>
+ãÅÊ ËÅÛ × ÄÁÎÉÊ ÍÏÍÅÎÔ ÞÁÓÕ ÚÎÁÈÏÄÉÔØÓÑ × ÐÒÏÃÅÓ¦ ÚÕÐÉÎËÉ ¦ ÎÅ ÍÏÖÅ ÏÂÓÌÕÖÉÔÉ
+×ÁÛ ÚÁÐÉÔ. âÕÄØ-ÌÁÓËÁ, ÐÏ×ÔÏÒ¦ÔØ ÷ÁÛ ÚÁÐÉÔ ÞÅÒÅÚ ÄÅÑËÉÊ ÞÁÓ ÚÎÏ×Õ.
+<P>÷ÁÛÉÍ ÁÄͦΦÓÔÒÁÔÏÒÏÍ ËÅÛÕ ¤ <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-koi8-u/ERR_SOCKET_FAILURE b/errors/Ukrainian-koi8-u/ERR_SOCKET_FAILURE
new file mode 100644 (file)
index 0000000..1777b76
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ðïíéìëá</H1>
+<H2>úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URL:
+<A HREF="%U">%U</A>
+<P>
+÷ÉÎÉËÌÁ ÎÁÓÔÕÐÎÁ ÐÏÍÉÌËÁ:
+<UL>
+<LI>
+<STRONG>
+ðÏÍÉÌËÁ TCP socket.
+</STRONG>
+</UL>
+
+<P>
+óÉÓÔÅÍÁ ÐÏצÄÏÍÉÌÁ:
+<PRE><I>    %E</I></PRE>
+
+<P>
+Squid ÎÅ ÍÏÖÅ ÓÔ×ÏÒÉÔÉ TCP socket, ÓËÏÒ¦Û ÚÁ ×ÓÅ ÞÅÒÅÚ ÄÕÖÅ ×ÉÓÏËÕ ÚÁÇÒÕÚËÕ ÓÅÒ×ÅÒÁ.
+âÕÄØ-ÌÁÓËÁ, ÐÏ×ÔÏÒ¦ÔØ ÷ÁÛ ÚÁÐÉÔ.
+<P>÷ÁÛÉÍ ÁÄͦΦÓÔÒÁÔÏÒÏÍ ËÅÛÕ ¤ <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-koi8-u/ERR_TOO_BIG b/errors/Ukrainian-koi8-u/ERR_TOO_BIG
new file mode 100644 (file)
index 0000000..f4ae4d0
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ðïíéìëá</H1>
+<H2>úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URL:
+<A HREF="%U">%U</A>
+<P>
+÷ÉÎÉËÌÁ ÎÁÓÔÕÐÎÁ ÐÏÍÉÌËÁ:
+<UL>
+<LI>
+<STRONG>
+úÁÐÉÔ ÞɠצÄÐÏצĨ ÎÁÄÔÏ ×ÅÌÉËÁ.
+</STRONG>
+
+<P>
+õ ×ÉÐÁÄËÕ, ÑËÝÏ ÷É ÚĦÊÓÎÀ×ÁÌÉ POST ÞÉ PUT ÚÁÐÉÔ, ÔÏĦ ÷ÁÛ ÚÁÐÉÔ
+(ÔÅ, ÝÏ ÷É ÎÁÍÁÇÁÌÉÓØ ÚÁËÁÞÁÔÉ) ¤ ÎÁÄÔÏ ×ÅÌÉËÉÍ. ñËÝÏ ÷É 
+ÚĦÊÓÎÀ×ÁÌÉ GET ÚÁÐÉÔ, ÔÏĦ ×¦ÄËÌÉË (ÔÅ, ÝÏ ÷É ÎÁÍÁÇÁÌÉÓØ ×ÉËÁÞÁÔÉ
+) ¤ ÎÁÄÔÏ ×ÅÌÉËÉÍ. ã¦ ÏÂÍÅÖÅÎÎÑ ÂÕÌÉ ×ÓÔÁÎÏ×ÌÅΦ
+÷ÁÛÉÍ ¶ÎÔÅÒÎÅÔ ðÒÏ×ÁÊÄÅÒÏÍ, ÑËÉÊ ËÅÒÕ¤ ËÅÛÏÍ. âÕÄØ-ÌÁÓËÁ,
+ÐÏצÄÏÍÔÅ ÊÏÇÏ, ÑËÝÏ ÷É ××ÁÖÁ¤ÔÅ ÄÁÎÅ ÐÏצÄÏÍÌÅÎÎÑ ÐÏÍÉÌËÏÀ.
+</UL>
+<P>÷ÁÛÉÍ ÁÄͦΦÓÔÒÁÔÏÒÏÍ ËÅÛÕ ¤ <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-koi8-u/ERR_UNSUP_REQ b/errors/Ukrainian-koi8-u/ERR_UNSUP_REQ
new file mode 100644 (file)
index 0000000..e8e2576
--- /dev/null
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ðïíéìëá</H1>
+<H2>úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URL:
+<A HREF="%U">%U</A>
+<P>
+÷ÉÎÉËÌÁ ÎÁÓÔÕÐÎÁ ÐÏÍÉÌËÁ:
+<UL>
+<LI>
+<STRONG>
+íÅÔÏÄ ÞÉ ÐÒÏÔÏËÏÌ ÚÁÐÉÔՠΊЦÄÔÒÉÍÕÀÔØÓÑ
+</STRONG>
+</UL>
+
+<P>
+Squid ÎŠЦÄÔÒÉÍÕ¤ ×Ó¦ ÍÅÔÏÄÉ ÚÁÐÉԦנÄÌÑ ÕӦȠÐÒÏÔÏËÏ̦×.
+îÁÐÒÉËÌÁÄ, ÄÌÑ ÐÒÏÔÏËÏÌÕ Gopher ÷É ÎÅ ÍÏÖÅÔÅ ×ÉËÏÎÁÔÉ ÚÁÐÉÔ POST.
+<P>÷ÁÛÉÍ ÁÄͦΦÓÔÒÁÔÏÒÏÍ ËÅÛÕ ¤ <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-koi8-u/ERR_URN_RESOLVE b/errors/Ukrainian-koi8-u/ERR_URN_RESOLVE
new file mode 100644 (file)
index 0000000..42a6922
--- /dev/null
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: úÁÐÒÏÛÅÎÉÊ URN ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ðïíéìëá</H1>
+<H2>URL ÄÌÑ ÚÁÐÒÏÛÅÎÏÇÏ URN ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URN:
+<A HREF="%U">%U</A>
+<P>
+÷ÉÎÉËÌÁ ÎÁÓÔÕÐÎÁ ÐÏÍÉÌËÁ:
+<UL>
+<LI>
+<STRONG>
+îÅÍÏÖÌÉ×Ï ×ÉÚÎÁÞÉÔÉ URN <br>
+(Cannot Resolve URN)
+</STRONG>
+</UL>
+
+<P>
+îÅ ×ÁÒÔÏ ÂÁÇÁÔÏ ÞÏÇÏ ÏÞ¦ËÕ×ÁÔɠצĠ椧 ÔÅÈÎÏÌÏǦ§ URNs ÎÁ %T :)
+<P>÷ÁÛÉÍ ÁÄͦΦÓÔÒÁÔÏÒÏÍ ËÅÛÕ ¤ <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-koi8-u/ERR_WRITE_ERROR b/errors/Ukrainian-koi8-u/ERR_WRITE_ERROR
new file mode 100644 (file)
index 0000000..ebcad88
--- /dev/null
@@ -0,0 +1,32 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ðïíéìëá</H1>
+<H2>úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URL:
+<A HREF="%U">%U</A>
+<P>
+÷ÉÎÉËÌÁ ÎÁÓÔÕÐÎÁ ÐÏÍÉÌËÁ:
+<UL>
+<LI>
+<STRONG>
+ðÏÍÉÌËÁ ÚÁÐÉÓÕ
+</STRONG>
+</UL>
+
+<P>
+óÉÓÔÅÍÁ ÐÏצÄÏÍÉÌÁ:
+<PRE><I>    %E</I></PRE>
+
+<P>
+ð¦Ä ÞÁӠצÄÐÒÁ×ÌÅÎÎÑ ¦ÎÆÏÒÍÁæ§ × ÍÅÒÅÖÕ ×ÉÎÉËÌÁ ÐÏÍÉÌËÁ. âÕÄØ-ÌÁÓËÁ, ÐÏ×ÔÏÒ¦ÔØ
+÷ÁÛ ÚÁÐÉÔ
+<P>÷ÁÛÉÍ ÁÄͦΦÓÔÒÁÔÏÒÏÍ ËÅÛÕ ¤ <A HREF="mailto:%w">%w</A>.
+
+
+
+
diff --git a/errors/Ukrainian-koi8-u/ERR_ZERO_SIZE_OBJECT b/errors/Ukrainian-koi8-u/ERR_ZERO_SIZE_OBJECT
new file mode 100644 (file)
index 0000000..2556a63
--- /dev/null
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=koi8-u">
+<TITLE>ðïíéìëá: úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ðïíéìëá</H1>
+<H2>úÁÐÒÏÛÅÎÉÊ URL ÎÅ ÍÏÖÅ ÂÕÔÉ ÄÏÓÔÁ×ÌÅÎÉÊ</H2>
+<HR noshade size="1px">
+<P>
+ð¦Ä ÞÁÓ ÄÏÓÔÁ×ËÉ URL:
+<A HREF="%U">%U</A>
+<P>
+÷ÉÎÉËÌÁ ÎÁÓÔÕÐÎÁ ÐÏÍÉÌËÁ:
+<UL>
+<LI>
+<STRONG>
+÷¦ÄÐÏצĨ ÎÕÌØÏ×ϧ ÄÏ×ÖÉÎÉ
+</STRONG>
+</UL>
+
+<P>
+Squid ÎÅ ÏÔÒÉÍÁ× ÂÕÄØ-ÑËÉÈ ÄÁÎÉÈ ÄÌÑ ÃØÏÇÏ ÚÁÐÉÔÕ.
+<P>÷ÁÛÉÍ ÁÄͦΦÓÔÒÁÔÏÒÏÍ ËÅÛÕ ¤ <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-koi8-u/README b/errors/Ukrainian-koi8-u/README
new file mode 100644 (file)
index 0000000..0568e85
--- /dev/null
@@ -0,0 +1,4 @@
+Thank you to
+       ðÅÔÒÏ îÅË <mr.petruccio@gmail.com>
+       Vitaliy Matytsyn (main) <vm@if.bank.gov.ua>
+for creating these error pages in Ukrainian!
diff --git a/errors/Ukrainian-utf8/ERR_ACCESS_DENIED b/errors/Ukrainian-utf8/ERR_ACCESS_DENIED
new file mode 100644 (file)
index 0000000..e113691
--- /dev/null
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Запрошений URL не може бути доставлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ПОМИЛКА</H1>
+<H2>Запрошений URL не може бути доставлений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URL:
+<A HREF="%U">%U</A>
+<P>
+Виникла наступна помилка:
+<UL>
+<LI>
+<STRONG>
+Доступ заборонений.
+</STRONG>
+<P>
+Настройка контролю доступу не дозволяє виконати Ваш 
+запит в даний час. Якщо Ви вважаєте це неправильним, то,
+будь-ласка, контактуйте з Вашим Інтернет провайдером.
+</UL>
+<P>Вашим адміністратором кешу є <A HREF="mailto:%w">%w</A>.
+
diff --git a/errors/Ukrainian-utf8/ERR_CACHE_ACCESS_DENIED b/errors/Ukrainian-utf8/ERR_CACHE_ACCESS_DENIED
new file mode 100644 (file)
index 0000000..30f0b8e
--- /dev/null
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Доступ до кешу заборонений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD>
+<BODY>
+<H1>ПОМИЛКА</H1>
+<H2>Доступ до кешу заборонений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URL:
+<A HREF="%U">%U</A>
+<P>
+Виникла наступна помилка:
+<UL>
+<LI>
+<STRONG>
+Доступ до кешу заборонений
+</STRONG>
+</UL>
+</P>
+
+<P>Вибачте, але Ви не можете запросити:
+<PRE>    %U</PRE>
+з цього кешу до тих пір, поки не пройдете аутентифікацію.
+</P>
+
+<P>
+Вам потрібно використовувати Netscape версії 2.0 чи вище, або Microsoft Internet
+Explorer 3.0, або HTTP/1.1 сумісний броузер. Будь-ласка, зв'яжіться
+з <A HREF="mailto:%w">адміністратором кешу</a>, якщо у Вас виникли труднощі 
+з аутентифікацією, або <A HREF="http://%h/cgi-bin/chpasswd.cgi">змініть</a> 
+Ваш пароль по замовчуванню.
+</P>
diff --git a/errors/Ukrainian-utf8/ERR_CACHE_MGR_ACCESS_DENIED b/errors/Ukrainian-utf8/ERR_CACHE_MGR_ACCESS_DENIED
new file mode 100644 (file)
index 0000000..3195ebd
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Доступ до керування кешом заборонений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD>
+<BODY>
+<H1>ПОМИЛКА</H1>
+<H2>Доступ до керування кешом заборонений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URL:
+<A HREF="%U">%U</A>
+<P>
+Виникла наступна помилка:
+<UL>
+<LI>
+<STRONG>
+Доступ до керування кешом заборонений
+</STRONG>
+</UL>
+</P>
+
+<P>Вибачте, Ви не можете запросити:
+<PRE>    %U</PRE>
+з цього кеш менеджера до тих пір, поки не пройдете аутентифікацію.
+</P>
+<P>
+Вам потрібно використовувати Netscape версії 2.0 чи вище, або Microsoft Internet
+Explorer 3.0, або HTTP/1.1 сумісний броузер. Будь-ласка, зв'яжіться
+з <A HREF="mailto:%w">адміністратором кешу</a>, якщо у Вас виникли труднощі 
+з аутентифікацією, а якщо <em>Ви</em> є адміністратором,
+прочитайте документацію Squid по інтерфейсу керування кешом і перевірте
+журнал кешу (cache log) на предмет більш детальних повідомлень про помилки.</P>
diff --git a/errors/Ukrainian-utf8/ERR_CANNOT_FORWARD b/errors/Ukrainian-utf8/ERR_CANNOT_FORWARD
new file mode 100644 (file)
index 0000000..b8d3b4d
--- /dev/null
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Запрошений URL не може бути доставлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ПОМИЛКА</H1>
+<H2>Запрошений URL не може бути доставлений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URL:
+<A HREF="%U">%U</A>
+<P>
+Виникла наступна помилка:
+<UL>
+<LI>
+<STRONG>
+В даний момент неможливо переслати цей запит
+</STRONG>
+</UL>
+
+<P>
+Даний запит не може бути пересланий до сервера-джерела, чи до будь-якого
+з вищестоячих кешів.  Найбільш вірогідна причина помилки:
+<UL>
+<LI>Адміністратор кешу заборонив виконувати прямі з'єднання 
+з серверами-джерелами (origin servers) і
+<LI>усі вищестоячі кеш-сервера (parent caches) в даний момент недоступні.
+</UL>
+<P>Вашим кеш адміністратором є <A HREF="mailto:%w">%w</A>. 
+
diff --git a/errors/Ukrainian-utf8/ERR_CONNECT_FAIL b/errors/Ukrainian-utf8/ERR_CONNECT_FAIL
new file mode 100644 (file)
index 0000000..9b0abbb
--- /dev/null
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Запрошений URL не може бути доставлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ПОМИЛКА</H1>
+<H2>Запрошений URL не може бути доставлений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URL:
+<A HREF="%U">%U</A>
+<P>
+Виникла наступна помилка:
+<UL>
+<LI>
+<STRONG>
+Не вдалось встановити з'єднання
+</STRONG>
+</UL>
+
+<P>
+Система повідомляє:
+<PRE><I>    %E</I></PRE>
+
+<P>
+Віддалені хост чи мережа не відповідають. Будь-ласка, повторіть свій запит ще раз.
+<P>Вашим адміністратором кешу є <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-utf8/ERR_DNS_FAIL b/errors/Ukrainian-utf8/ERR_DNS_FAIL
new file mode 100644 (file)
index 0000000..f4290aa
--- /dev/null
@@ -0,0 +1,32 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Запрошений URL не може бути доставлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ПОМИЛКА</H1>
+<H2>Запрошений URL не може бути доставлений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URL:
+<A HREF="%U">%U</A>
+<P>
+Виникла наступна помилка:
+<BLOCKQUOTE>
+Неможливо визначити IP адресу вузла
+<I>%H</I>
+</BLOCKQUOTE>
+
+<P>
+DNS сервер повідомляє:
+<BLOCKQUOTE>
+%z
+</BLOCKQUOTE>
+
+<P>
+Це означає:
+<PRE>
+ Кешу не вдалося визначити ім'я сервера, вказане в URL.
+ Перевірте правильність написання адресу.
+</PRE>
+<P>Вашим адміністратором кешу є <A HREF="mailto:%w">%w</A>.
+
diff --git a/errors/Ukrainian-utf8/ERR_ESI b/errors/Ukrainian-utf8/ERR_ESI
new file mode 100644 (file)
index 0000000..74006de
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Запрошений URL не може бути доставлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H2>Запрошений URL не може бути доставлений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URL:
+<A HREF="%U">%U</A>
+<P>
+Виникла наступна помилка:
+<BLOCKQUOTE>
+Обробка ESI завершилась невдало.
+</BLOCKQUOTE>
+
+<P>
+ESI процесор повідомив:
+<BLOCKQUOTE>
+%Z
+</BLOCKQUOTE>
+
+<P>
+Це означає що:
+<PRE>
+ Замінник не зміг обробити ESI темплейт. Будь-ласка повідомте про цю помилку вебмайстра. 
+</PRE>
+<P>Вашим вебмайстром є <A HREF="mailto:%w">%w</A>. 
diff --git a/errors/Ukrainian-utf8/ERR_FORWARDING_DENIED b/errors/Ukrainian-utf8/ERR_FORWARDING_DENIED
new file mode 100644 (file)
index 0000000..329c6bf
--- /dev/null
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Запрошений URL не може бути доставлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ПОМИЛКА</H1>
+<H2>Запрошений URL не може бути доставлений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URL:
+<A HREF="%U">%U</A>
+<P>
+Виникла наступна помилка:
+<UL>
+<LI>
+<STRONG>
+Пересилка заборонена
+</STRONG>
+</UL>
+
+<P>
+Цей кеш не пересилатиме Ваш запит, тому що він намагається встановити братні відносини (sibling relationship).
+Можливо, клієнт %i - невірно сконфігурований кеш.
+<P>Вашим адміністратором кешу є <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-utf8/ERR_FTP_DISABLED b/errors/Ukrainian-utf8/ERR_FTP_DISABLED
new file mode 100644 (file)
index 0000000..26234ba
--- /dev/null
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Запрошений URL не може бути доставлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ПОМИЛКА</H1>
+<H2>Запрошений URL не може бути доставлений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URL:
+<A HREF="%U">%U</A>
+<P>
+Виникла наступна помилка:
+<UL>
+<LI>
+<STRONG>
+FTP доступ заборонений.
+</STRONG>
+</UL>
+
+<P>
+Цей кеш не підтримує протокол FTP.
+<P>Вашим адміністратором кешу є <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-utf8/ERR_FTP_FAILURE b/errors/Ukrainian-utf8/ERR_FTP_FAILURE
new file mode 100644 (file)
index 0000000..63568a1
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Запрошений URL не може бути доставлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ПОМИЛКА</H1>
+<H2>Запрошений URL не може бути доставлений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URL
+виникла помилка протоколу FTP:
+<A HREF="%U">%U</A>
+<P>
+Squid послав наступну команду FTP:
+<blockquote><strong><pre>%f</pre></strong></blockquote>
+і потім отримав таку відповідь
+<blockquote><strong><pre>%F</pre></strong></blockquote>
+<blockquote><strong><pre>%g</pre></strong></blockquote>
+<P>Вашим адміністратором кешу є <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-utf8/ERR_FTP_FORBIDDEN b/errors/Ukrainian-utf8/ERR_FTP_FORBIDDEN
new file mode 100644 (file)
index 0000000..d79a8c6
--- /dev/null
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Запрошений URL не може бути доставлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ПОМИЛКА</H1>
+<H2>Запрошений URL не може бути доставлений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URL:
+<A HREF="%U">%U</A>
+Сталась невдала FTP аутентифікація
+<P>
+Squid послав наступну FTP команду:
+<blockquote><strong><pre>%f</pre></strong></blockquote>
+і потім отримав таку відповідь
+<blockquote><strong><pre>%F</pre></strong></blockquote>
+<blockquote><strong><pre>%g</pre></strong></blockquote>
+<P>Вашим адміністратором кешу є <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-utf8/ERR_FTP_NOT_FOUND b/errors/Ukrainian-utf8/ERR_FTP_NOT_FOUND
new file mode 100644 (file)
index 0000000..f5488db
--- /dev/null
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Запрошений URL не може бути доставлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ПОМИЛКА</H1>
+<H2>Запрошений URL не може бути доставлений</H2>
+<HR noshade size="1px">
+<P>
+Даний URL не може бути доставлений:
+<A HREF="%U">%U</A>
+<P>
+Squid послав наступну FTP команду:
+<blockquote><strong><pre>%f</pre></strong></blockquote>
+і потім отримав таку відповідь
+<blockquote><strong><pre>%F</pre></strong></blockquote>
+<blockquote><strong><pre>%g</pre></strong></blockquote>
+<P>
+Це може бути викликано FTP адресою з абсолютним шляхом (який не  
+відповідає стандарту RFC 1738). В такому випадку, файл може бути 
+знайдений за адресою <A HREF="%B">%B</A>.
+<P>Вашим адміністратором кешу є <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-utf8/ERR_FTP_PUT_CREATED b/errors/Ukrainian-utf8/ERR_FTP_PUT_CREATED
new file mode 100644 (file)
index 0000000..9af5f98
--- /dev/null
@@ -0,0 +1,9 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>Команда FTP PUT завершилась успішно: Файл створений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>Операція завершилась успішно</H1>
+<H2>Файл створений</H2>
+<HR noshade size="1px">
+
diff --git a/errors/Ukrainian-utf8/ERR_FTP_PUT_ERROR b/errors/Ukrainian-utf8/ERR_FTP_PUT_ERROR
new file mode 100644 (file)
index 0000000..fc5feec
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Команда FTP PUT/upload завершилась невдало</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ПОМИЛКА</H1>
+<H2>FTP PUT/upload завершилась невдало</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки файла за адресою:
+<A HREF="%U">%U</A>
+<P>
+Squid послав наступну FTP команду:
+<PRE><STRONG>
+        %f
+</STRONG></PRE>
+і потім отримав таку відповідь
+<PRE><STRONG>
+        %F
+</STRONG></PRE>
+<P>
+Це означає що:
+<PRE>
+Вам слід перевірити шлях, права доступу, вільне місце і після цього спробувати знову.
+</PRE>
+<P>Вашим адміністратором кешу є <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-utf8/ERR_FTP_PUT_MODIFIED b/errors/Ukrainian-utf8/ERR_FTP_PUT_MODIFIED
new file mode 100644 (file)
index 0000000..66e9f6e
--- /dev/null
@@ -0,0 +1,11 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>Команда FTP PUT завершилась успішно: Файл оновлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>Операція завершилась успішно.</H1>
+<H2>Файл оновлений</H2>
+<HR noshade size="1px">
+<P>
+</P>
+
diff --git a/errors/Ukrainian-utf8/ERR_FTP_UNAVAILABLE b/errors/Ukrainian-utf8/ERR_FTP_UNAVAILABLE
new file mode 100644 (file)
index 0000000..7fc7693
--- /dev/null
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Запрошений URL не може бути доставлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ПОМИЛКА</H1>
+<H2>Запрошений URL не може бути доставлений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URL:
+<A HREF="%U">%U</A>
+FTP сервер був перегружений
+<P>
+Squid послав наступну FTP команду:
+<blockquote><strong><pre>%f</pre></strong></blockquote>
+і потім отримав таку відповідь
+<blockquote><strong><pre>%F</pre></strong></blockquote>
+<blockquote><strong><pre>%g</pre></strong></blockquote>
+<P>Вашим адміністратором кешу є <A HREF="mailto:%w">%w</A>.
+
diff --git a/errors/Ukrainian-utf8/ERR_ICAP_FAILURE b/errors/Ukrainian-utf8/ERR_ICAP_FAILURE
new file mode 100644 (file)
index 0000000..b93029d
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Запрошений URL не може бути доставлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff; font-family:verdana,sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ПОМИЛКА</H1>
+<H2>Запрошений URL не може бути доставлений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URL:
+<A HREF="%U">%U</A>
+<P>
+Виникла наступна помилка:
+<UL>
+<LI>
+<STRONG>
+Помилка протоколу ICAP.
+</STRONG>
+</UL>
+
+<P>
+Система повідомила:
+<PRE><I>    %E</I></PRE>
+
+<P>
+Це може означати:
+Деякі аспекти ICAP з'єднання несправні. Можливі проблеми:
+<UL>
+<LI>Доступ до ICAP серверу неможливий.
+<LI>Невірна відповідь від ICAP серверу.
+</UL>
+</P>
+
diff --git a/errors/Ukrainian-utf8/ERR_INVALID_REQ b/errors/Ukrainian-utf8/ERR_INVALID_REQ
new file mode 100644 (file)
index 0000000..10f21d8
--- /dev/null
@@ -0,0 +1,31 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Запрошений URL не може бути доставлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ПОМИЛКА</H1>
+<H2>Запрошений URL не може бути доставлений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URL:
+<A HREF="%U">%U</A>
+<P>
+Виникла наступна помилка:
+<UL>
+<LI>
+<STRONG>
+Невірний запит
+</STRONG>
+</UL>
+
+<P>
+Деякі аспекти HTTP запиту невірні. Можливі проблеми:
+<UL>
+<LI>Відсутній або невідомий метод запиту (GET, POST)
+<LI>Відсутній URL
+<LI>Відсутній HTTP ідентифікатор (HTTP/1.0)
+<LI>Запит надто великий
+<LI>Не вказаний Content-Length для запитів POST чи PUT
+<LI>Недопустимий символ в імені сервера; підчеркування недопустимі
+</UL>
+<P>Вашим адміністратором кешу є <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-utf8/ERR_INVALID_RESP b/errors/Ukrainian-utf8/ERR_INVALID_RESP
new file mode 100644 (file)
index 0000000..3067790
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Запрошений URL не може бути доставлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ПОМИЛКА</H1>
+<H2>Запрошений URL не може бути доставлений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URL:
+<A HREF="%U">%U</A>
+<P>
+Виникла наступна помилка:
+<UL>
+<LI>
+<STRONG>
+Невірний запит
+</STRONG>
+</UL>
+
+<P>
+The HTTP відповідне повідомлення, отримане від сервера
+не може бути визначене або є неправильно зформованим.
+Будь-ласка, контактуйте з адміністратором сайту. Ваш адміністратор
+кешу може надати Вам більш детальну інформацію про 
+дану помилку, якщо це необхідно.
+<P>Вашим адміністратором кешу є <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-utf8/ERR_INVALID_URL b/errors/Ukrainian-utf8/ERR_INVALID_URL
new file mode 100644 (file)
index 0000000..898c6af
--- /dev/null
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Запрошений URL не може бути доставлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ПОМИЛКА</H1>
+<H2>Запрошений URL не може бути доставлений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URL:
+<A HREF="%U">%U</A>
+<P>
+Виникла наступна помилка:
+<UL>
+<LI>
+<STRONG>
+Неправильний URL
+</STRONG>
+</UL>
+
+<P>
+Деякі аспекти запрошеного URL є неправильними. Можливі проблеми:
+<UL>
+<LI>Відсутній чи невірний протокол доступу (повинен бути `http://'' або
+схожий)
+<LI>Відсутнє ім'я сервера
+<LI>Недопустимий подвійний керуючий символ в URL-шляху
+<LI>Недопустимий символ в імені сервера; підчеркування недопустимі
+</UL>
+<P>Вашим адміністратором кешу є <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-utf8/ERR_LIFETIME_EXP b/errors/Ukrainian-utf8/ERR_LIFETIME_EXP
new file mode 100644 (file)
index 0000000..df7f880
--- /dev/null
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Запрошений URL не може бути доставлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ПОМИЛКА</H1>
+<H2>Запрошений URL не може бути доставлений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URL:
+<A HREF="%U">%U</A>
+<P>
+Виникла наступна помилка:
+<UL>
+<LI>
+<STRONG>
+Час з'єднання закінчився
+</STRONG>
+</UL>
+
+<P>
+Squid завершив Ваш запит у зв'язку з перевищенням
+максимального часу з'єднання.
+<P>Вашим адміністратором кешу є <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-utf8/ERR_NO_RELAY b/errors/Ukrainian-utf8/ERR_NO_RELAY
new file mode 100644 (file)
index 0000000..0127520
--- /dev/null
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Запрошений URL не може бути доставлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ПОМИЛКА</H1>
+<H2>Запрошений URL не може бути доставлений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URL:
+<A HREF="%U">%U</A>
+<P>
+Виникла наступна помилка:
+<UL>
+<LI>
+<STRONG>
+Wais Relay не визначений
+</STRONG>
+</UL>
+
+<P>
+Для цього кешу не визначений WAIS Relay host!  Зверніться до адміністратора.
+<P>Вашим адміністратором кешу є <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-utf8/ERR_ONLY_IF_CACHED_MISS b/errors/Ukrainian-utf8/ERR_ONLY_IF_CACHED_MISS
new file mode 100644 (file)
index 0000000..bf14046
--- /dev/null
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Запрошений URL не може бути доставлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ПОМИЛКА</H1>
+<H2>Запрошений URL не може бути доставлений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URL:
+<A HREF="%U">%U</A>
+<P>
+Виникла наступна помилка:
+<UL>
+<LI>
+<STRONG>
+Відповідний об'єкт не був знайдений в кеші, в результаті чого була
+визначена директива <code>only-if-cached</code>.
+</STRONG>
+</UL>
+
+<P>
+Вы послали запит з директивою кеш-контролю <code>only-if-cached</code>.
+Об'єкт не був знайдений в кеші, <em>або</em> він вимагає оновлення,
+яке заборонено <code>only-if-cached</code> директивою.
+<P>Вашим адміністратором кешу є <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-utf8/ERR_READ_ERROR b/errors/Ukrainian-utf8/ERR_READ_ERROR
new file mode 100644 (file)
index 0000000..d761a31
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Запрошений URL не може бути доставлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ПОМИЛКА</H1>
+<H2>Запрошений URL не може бути доставлений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URL:
+<A HREF="%U">%U</A>
+<P>
+Виникла наступна помилка:
+<UL>
+<LI>
+<STRONG>
+Помилка читання
+</STRONG>
+</UL>
+
+<P>
+Система повідомила:
+<PRE><I>    %E</I></PRE>
+
+<P>
+Під час читання даних з мережі виникла помилка. Будь-ласка, повторіть
+Ваш запит.
+<P>Вашим адміністратором кешу є <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-utf8/ERR_READ_TIMEOUT b/errors/Ukrainian-utf8/ERR_READ_TIMEOUT
new file mode 100644 (file)
index 0000000..d909be7
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Запрошений URL не може бути доставлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ПОМИЛКА</H1>
+<H2>Запрошений URL не може бути доставлений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URL:
+<A HREF="%U">%U</A>
+<P>
+Виникла наступна помилка:
+<UL>
+<LI>
+<STRONG>
+Перевищений час очікування відповіді.
+</STRONG>
+</UL>
+
+<P>
+Система повідомила:
+<PRE><I>    %E</I></PRE>
+
+<P>
+Перевищений час очікування відповіді під час читання даних з мережі. Мережа
+чи сервер можуть не працювати чи бути перегруженими. Будь-ласка, повторіть Ваш запит.
+<P>Вашим адміністратором кешу є <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-utf8/ERR_SECURE_CONNECT_FAIL b/errors/Ukrainian-utf8/ERR_SECURE_CONNECT_FAIL
new file mode 100644 (file)
index 0000000..0cbbe67
--- /dev/null
@@ -0,0 +1,31 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+<TITLE>ERROR: The requested URL could not be retrieved</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ERROR</H1>
+<H2>The requested URL could not be retrieved</H2>
+<HR noshade size="1px">
+<P>
+While trying to retrieve the URL:
+<A HREF="%U">%U</A>
+<P>
+The following error was encountered:
+<UL>
+<LI>
+<STRONG>
+Failed to establish a secure connection to %I
+</STRONG>
+</UL>
+
+<P>
+The system returned:
+<PRE><I>    %E</I></PRE>
+
+<P>
+This proxy and the remote host failed to negotiate a mutually acceptable
+security settings for handling your request. It is possible that the remote
+host does not support secure connections, or the proxy is not satisfied with
+the host security credentials.
+
+<P>Your cache administrator is <A HREF="mailto:%w%W">%w</A>. 
diff --git a/errors/Ukrainian-utf8/ERR_SHUTTING_DOWN b/errors/Ukrainian-utf8/ERR_SHUTTING_DOWN
new file mode 100644 (file)
index 0000000..90c9259
--- /dev/null
@@ -0,0 +1,17 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Запрошений URL не може бути доставлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ПОМИЛКА</H1>
+<H2>Запрошений URL не може бути доставлений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URL:
+<A HREF="%U">%U</A>
+<P>
+Виникла наступна помилка:
+<P>
+Цей кеш в даний момент часу знаходиться в процесі зупинки і не може обслужити
+ваш запит. Будь-ласка, повторіть Ваш запит через деякий час знову.
+<P>Вашим адміністратором кешу є <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-utf8/ERR_SOCKET_FAILURE b/errors/Ukrainian-utf8/ERR_SOCKET_FAILURE
new file mode 100644 (file)
index 0000000..a8dc0f0
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Запрошений URL не може бути доставлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ПОМИЛКА</H1>
+<H2>Запрошений URL не може бути доставлений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URL:
+<A HREF="%U">%U</A>
+<P>
+Виникла наступна помилка:
+<UL>
+<LI>
+<STRONG>
+Помилка TCP socket.
+</STRONG>
+</UL>
+
+<P>
+Система повідомила:
+<PRE><I>    %E</I></PRE>
+
+<P>
+Squid не може створити TCP socket, скоріш за все через дуже високу загрузку сервера.
+Будь-ласка, повторіть Ваш запит.
+<P>Вашим адміністратором кешу є <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-utf8/ERR_TOO_BIG b/errors/Ukrainian-utf8/ERR_TOO_BIG
new file mode 100644 (file)
index 0000000..0ac5a85
--- /dev/null
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Запрошений URL не може бути доставлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ПОМИЛКА</H1>
+<H2>Запрошений URL не може бути доставлений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URL:
+<A HREF="%U">%U</A>
+<P>
+Виникла наступна помилка:
+<UL>
+<LI>
+<STRONG>
+Запит чи відповідь надто велика.
+</STRONG>
+
+<P>
+У випадку, якщо Ви здійснювали POST чи PUT запит, тоді Ваш запит
+(те, що Ви намагались закачати) є надто великим. Якщо Ви 
+здійснювали GET запит, тоді відклик (те, що Ви намагались викачати
+) є надто великим. Ці обмеження були встановлені
+Вашим Інтернет Провайдером, який керує кешом. Будь-ласка,
+повідомте його, якщо Ви вважаєте дане повідомлення помилкою.
+</UL>
+<P>Вашим адміністратором кешу є <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-utf8/ERR_UNSUP_REQ b/errors/Ukrainian-utf8/ERR_UNSUP_REQ
new file mode 100644 (file)
index 0000000..6453b69
--- /dev/null
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Запрошений URL не може бути доставлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ПОМИЛКА</H1>
+<H2>Запрошений URL не може бути доставлений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URL:
+<A HREF="%U">%U</A>
+<P>
+Виникла наступна помилка:
+<UL>
+<LI>
+<STRONG>
+Метод чи протокол запиту не підтримуються
+</STRONG>
+</UL>
+
+<P>
+Squid не підтримує всі методи запитів для усіх протоколів.
+Наприклад, для протоколу Gopher Ви не можете виконати запит POST.
+<P>Вашим адміністратором кешу є <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-utf8/ERR_URN_RESOLVE b/errors/Ukrainian-utf8/ERR_URN_RESOLVE
new file mode 100644 (file)
index 0000000..43acf32
--- /dev/null
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Запрошений URN не може бути доставлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ПОМИЛКА</H1>
+<H2>URL для запрошеного URN не може бути доставлений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URN:
+<A HREF="%U">%U</A>
+<P>
+Виникла наступна помилка:
+<UL>
+<LI>
+<STRONG>
+Неможливо визначити URN <br>
+(Cannot Resolve URN)
+</STRONG>
+</UL>
+
+<P>
+Не варто багато чого очікувати від цієї технології URNs на %T :)
+<P>Вашим адміністратором кешу є <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-utf8/ERR_WRITE_ERROR b/errors/Ukrainian-utf8/ERR_WRITE_ERROR
new file mode 100644 (file)
index 0000000..5e88d5c
--- /dev/null
@@ -0,0 +1,32 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Запрошений URL не може бути доставлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ПОМИЛКА</H1>
+<H2>Запрошений URL не може бути доставлений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URL:
+<A HREF="%U">%U</A>
+<P>
+Виникла наступна помилка:
+<UL>
+<LI>
+<STRONG>
+Помилка запису
+</STRONG>
+</UL>
+
+<P>
+Система повідомила:
+<PRE><I>    %E</I></PRE>
+
+<P>
+Під час відправлення інформації в мережу виникла помилка. Будь-ласка, повторіть
+Ваш запит
+<P>Вашим адміністратором кешу є <A HREF="mailto:%w">%w</A>.
+
+
+
+
diff --git a/errors/Ukrainian-utf8/ERR_ZERO_SIZE_OBJECT b/errors/Ukrainian-utf8/ERR_ZERO_SIZE_OBJECT
new file mode 100644 (file)
index 0000000..118ed2d
--- /dev/null
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
+<TITLE>ПОМИЛКА: Запрошений URL не може бути доставлений</TITLE>
+<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
+</HEAD><BODY>
+<H1>ПОМИЛКА</H1>
+<H2>Запрошений URL не може бути доставлений</H2>
+<HR noshade size="1px">
+<P>
+Під час доставки URL:
+<A HREF="%U">%U</A>
+<P>
+Виникла наступна помилка:
+<UL>
+<LI>
+<STRONG>
+Відповідь нульової довжини
+</STRONG>
+</UL>
+
+<P>
+Squid не отримав будь-яких даних для цього запиту.
+<P>Вашим адміністратором кешу є <A HREF="mailto:%w">%w</A>.
diff --git a/errors/Ukrainian-utf8/README b/errors/Ukrainian-utf8/README
new file mode 100644 (file)
index 0000000..c8c92cb
--- /dev/null
@@ -0,0 +1,4 @@
+Thank you to
+       Петро Нек <mr.petruccio@gmail.com>
+       Vitaliy Matytsyn (main) <vm@if.bank.gov.ua>
+for creating these error pages in Ukrainian!
index 7232a1456cff07219c7158a916b81a067f077311..ccde6aa4e401e378a7f6ee69a7dc07006bfcc387 100644 (file)
@@ -2,23 +2,30 @@ ERR_ACCESS_DENIED
 ERR_CACHE_ACCESS_DENIED
 ERR_CACHE_MGR_ACCESS_DENIED
 ERR_CANNOT_FORWARD
-ERR_CLIENT_ABORT
 ERR_CONNECT_FAIL
 ERR_DNS_FAIL
+ERR_ESI
 ERR_FORWARDING_DENIED
 ERR_FTP_DISABLED
 ERR_FTP_FAILURE
+ERR_FTP_FORBIDDEN
+ERR_FTP_NOT_FOUND
 ERR_FTP_PUT_CREATED
 ERR_FTP_PUT_ERROR
 ERR_FTP_PUT_MODIFIED
+ERR_FTP_UNAVAILABLE
+ERR_ICAP_FAILURE
 ERR_INVALID_REQ
+ERR_INVALID_RESP
 ERR_INVALID_URL
 ERR_LIFETIME_EXP
 ERR_NO_RELAY
 ERR_ONLY_IF_CACHED_MISS
 ERR_READ_ERROR
 ERR_READ_TIMEOUT
+ERR_SHUTTING_DOWN
 ERR_SOCKET_FAILURE
+ERR_TOO_BIG
 ERR_UNSUP_REQ
 ERR_URN_RESOLVE
 ERR_WRITE_ERROR
index fa4b4836cea83d73a64dd5797d4cbed054c822db..08acc269ee70799a3063eead5886fed65ba634a8 100755 (executable)
@@ -37,6 +37,9 @@
 #include "spnegohelp.h"
 #endif
 
+#ifndef HOST_NAME_MAX
+#define HOST_NAME_MAX 256
+#endif
 #ifndef MAXHOSTNAMELEN
 #define MAXHOSTNAMELEN HOST_NAME_MAX
 #endif
index 5a54db1b5e4d8bda97f404b54426cd9bba68c981..0dd1013063837ef272c8c8dc05d6affcbcc374b9 100644 (file)
 /* Define to 1 if you have the <glib.h> header file. */
 #undef HAVE_GLIB_H
 
+/* Define to 1 if you have the `glob' function. */
+#undef HAVE_GLOB
+
+/* Define to 1 if you have the <glob.h> header file. */
+#undef HAVE_GLOB_H
+
 /* Define to 1 if you have the <gnumalloc.h> header file. */
 #undef HAVE_GNUMALLOC_H
 
index c4683203103aca25cf59ebc2601605ab4ba10fbf..d4bcd88acad4a36a1f1b233ccab5a665efb95a37 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: config.h,v 1.25 2007/09/20 11:07:53 amosjeffries Exp $
+ * $Id: config.h,v 1.25.4.1 2008/02/29 18:30:01 serassio Exp $
  *
  * AUTHOR: Duane Wessels
  *
@@ -440,12 +440,22 @@ typedef union {
  */
 #if WITH_VALGRIND
 #include <valgrind/memcheck.h>
+#undef VALGRIND_MAKE_NOACCESS
+#undef VALGRIND_MAKE_WRITABLE
+#undef VALGRIND_MAKE_READABLE
+/* A little glue for older valgrind version prior to 3.2.0 */
+#ifndef VALGRIND_MAKE_MEM_NOACCESS
+#define VALGRIND_MAKE_MEM_NOACCESS VALGRIND_MAKE_NOACCESS
+#define VALGRIND_MAKE_MEM_UNDEFINED VALGRIND_MAKE_WRITABLE
+#define VALGRIND_MAKE_MEM_DEFINED VALGRIND_MAKE_READABLE
+#define VALGRIND_CHECK_MEM_IS_ADDRESSABLE VALGRIND_CHECK_WRITABLE
+#endif
 #else
-#define VALGRIND_MAKE_NOACCESS(a,b) (0)
-#define VALGRIND_MAKE_WRITABLE(a,b) (0)
-#define VALGRIND_MAKE_READABLE(a,b) (0)
-#define VALGRIND_CHECK_WRITABLE(a,b) (0)
-#define VALGRIND_CHECK_READABLE(a,b) (0)
+#define VALGRIND_MAKE_MEM_NOACCESS(a,b) (0)
+#define VALGRIND_MAKE_MEM_UNDEFINED(a,b) (0)
+#define VALGRIND_MAKE_MEM_DEFINED(a,b) (0)
+#define VALGRIND_CHECK_MEM_IS_ADDRESSABLE(a,b) (0)
+#define VALGRIND_CHECK_MEM_IS_DEFINED(a,b) (0)
 #define VALGRIND_MALLOCLIKE_BLOCK(a,b,c,d)
 #define VALGRIND_FREELIKE_BLOCK(a,b)
 #define RUNNING_ON_VALGRIND 0
index 2c660f71daea6790255773ee83d84cc335ac1b42..a7a0ba822b52e1bea0f07cd8e9b2c18986fb08ed 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: MemPool.cc,v 1.10 2007/11/13 23:25:33 rousskov Exp $
+ * $Id: MemPool.cc,v 1.10.4.1 2008/02/29 18:30:02 serassio Exp $
  *
  * DEBUG: section 63    Low Level Memory Pool Management
  * AUTHOR: Alex Rousskov, Andres Kroonmaa, Robert Collins
@@ -211,7 +211,7 @@ MemChunk::MemChunk(MemPool *aPool)
     for (int i = 1; i < pool->chunk_capacity; i++) {
        *Free = (void *) ((char *) Free + pool->obj_size);
        void **nextFree = (void **)*Free;
-       (void) VALGRIND_MAKE_NOACCESS(Free, pool->obj_size);
+       (void) VALGRIND_MAKE_MEM_NOACCESS(Free, pool->obj_size);
        Free = nextFree;
     }
     nextFreeChunk = pool->nextFreeChunk;
@@ -277,7 +277,7 @@ MemPool::push(void *obj)
     Free = (void **)obj;
     *Free = freeCache;
     freeCache = obj;
-    (void) VALGRIND_MAKE_NOACCESS(obj, obj_size);
+    (void) VALGRIND_MAKE_MEM_NOACCESS(obj, obj_size);
 }
 
 /*
@@ -294,7 +294,7 @@ MemPool::get()
     /* first, try cache */
     if (freeCache) {
        Free = (void **)freeCache;
-       (void) VALGRIND_MAKE_READABLE(Free, obj_size);
+       (void) VALGRIND_MAKE_MEM_DEFINED(Free, obj_size);
        freeCache = *Free;
        *Free = NULL;
        return Free;
@@ -317,7 +317,7 @@ MemPool::get()
        /* last free in this chunk, so remove us from perchunk freelist chain */
        nextFreeChunk = chunk->nextFreeChunk;
     }
-    (void) VALGRIND_MAKE_READABLE(Free, obj_size);
+    (void) VALGRIND_MAKE_MEM_DEFINED(Free, obj_size);
     return Free;
 }
 
@@ -557,7 +557,7 @@ void
 MemImplementingAllocator::free(void *obj)
 {
     assert(obj != NULL);
-    (void) VALGRIND_CHECK_WRITABLE(obj, obj_size);
+    (void) VALGRIND_CHECK_MEM_IS_ADDRESSABLE(obj, obj_size);
     deallocate(obj);
     ++free_calls;
 }
@@ -602,10 +602,10 @@ MemPool::convertFreeCacheToChunkFreeCache()
        assert(splayLastResult == 0);
        assert(chunk->inuse_count > 0);
        chunk->inuse_count--;
-       (void) VALGRIND_MAKE_READABLE(Free, sizeof(void *));
+       (void) VALGRIND_MAKE_MEM_DEFINED(Free, sizeof(void *));
        freeCache = *(void **)Free;     /* remove from global cache */
        *(void **)Free = chunk->freeList;       /* stuff into chunks freelist */
-       (void) VALGRIND_MAKE_NOACCESS(Free, sizeof(void *));
+       (void) VALGRIND_MAKE_MEM_NOACCESS(Free, sizeof(void *));
        chunk->freeList = Free;
        chunk->lastref = squid_curtime;
     }
index 024787953210ffadc148617b3d6441a1f9330705..ba7bd9095afcf610a85e5e214dda0421f272c0f8 100644 (file)
@@ -13,7 +13,7 @@
 
 
 /*
- * $Id: rfc2617.c,v 1.12 2007/11/15 16:47:34 wessels Exp $
+ * $Id: rfc2617.c,v 1.12.4.1 2008/02/29 18:30:02 serassio Exp $
  *
  * DEBUG:
  * AUTHOR: RFC 2617 & Robert Collins
@@ -94,7 +94,7 @@ CvtBin(const HASHHEX Hex, HASH Bin)
        else
            Bin[i / 2] |= n;
     }
-    for (; i <= HASHHEXLEN; i++) {
+    for (i = i / 2; i < HASHLEN; i++) {
        Bin[i] = '\0';
     }
 }
index f5d018194962ba6d2fd00bf363b66c6423c8bccc..5a472f13a1ec5ce2772886bb75d11ca08950cead 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: ACLChecklist.cc,v 1.42 2007/09/01 05:56:37 amosjeffries Exp $
+ * $Id: ACLChecklist.cc,v 1.42.4.1 2008/02/29 18:30:02 serassio Exp $
  *
  * DEBUG: section 28    Access Control
  * AUTHOR: Duane Wessels
@@ -394,12 +394,9 @@ ACLChecklist::~ACLChecklist()
 
     HTTPMSGUNLOCK(reply);
 
-    /*
-     * DPW 2007-05-08
-     * If this fails, then we'll need a backup UNLOCK call in the
-     * destructor.
-     */
-    assert(auth_user_request == NULL);
+    // no auth_user_request in builds without any Authentication configured
+    if (auth_user_request)
+        AUTHUSERREQUESTUNLOCK(auth_user_request, "ACLChecklist destructor");
 
     conn_ = NULL;
 
index 68739f53bbda71594b82338e08025c8e38b07f44..a25d1521d9240bdb1cc91e5f3adf20bdfe6f5a12 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: ACLDestinationDomain.cc,v 1.15 2007/11/03 04:49:53 wessels Exp $
+ * $Id: ACLDestinationDomain.cc,v 1.15.4.1 2008/02/29 18:30:02 serassio Exp $
  *
  * DEBUG: section 28    Access Control
  * AUTHOR: Duane Wessels
@@ -76,6 +76,8 @@ ACLStrategised<char const *> ACLDestinationDomain::RegexRegistryEntry_(new ACLRe
 int
 ACLDestinationDomainStrategy::match (ACLData<MatchType> * &data, ACLChecklist *checklist)
 {
+    assert(checklist != NULL && checklist->request != NULL);
+
     const ipcache_addrs *ia = NULL;
     const char *fqdn = NULL;
 
diff --git a/src/ACLMyPortName.cc b/src/ACLMyPortName.cc
new file mode 100644 (file)
index 0000000..094d290
--- /dev/null
@@ -0,0 +1,63 @@
+
+/*
+ * $Id: ACLMyPortName.cc,v 1.2.6.1 2008/02/29 18:30:02 serassio Exp $
+ *
+ *
+ * SQUID Web Proxy Cache          http://www.squid-cache.org/
+ * ----------------------------------------------------------
+ *
+ *  Squid is the result of efforts by numerous individuals from
+ *  the Internet community; see the CONTRIBUTORS file for full
+ *  details.   Many organizations have provided support for Squid's
+ *  development; see the SPONSORS file for full details.  Squid is
+ *  Copyrighted (C) 2001 by the Regents of the University of
+ *  California; see the COPYRIGHT file for full details.  Squid
+ *  incorporates software developed and/or copyrighted by other
+ *  sources; see the CREDITS file for full details.
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *  
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *  
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+ *
+ *
+ * Copyright (c) 2003, Robert Collins <robertc@squid-cache.org>
+ */
+
+#include "squid.h"
+#include "ACLMyPortName.h"
+#include "ACLStringData.h"
+#include "ACLChecklist.h"
+
+/* explicit template instantiation required for some systems */
+
+template class ACLStrategised<const char *>;
+
+ACL::Prototype ACLMyPortName::RegistryProtoype(&ACLMyPortName::RegistryEntry_, "myportname");
+
+ACLStrategised<const char *> ACLMyPortName::RegistryEntry_(new ACLStringData, ACLMyPortNameStrategy::Instance(), "myportname");
+
+int
+ACLMyPortNameStrategy::match (ACLData<MatchType> * &data, ACLChecklist *checklist)
+{
+    if (checklist->conn() != NULL)
+       return data->match (checklist->conn()->port->name);
+    return 0;
+}
+
+ACLMyPortNameStrategy *
+ACLMyPortNameStrategy::Instance()
+{
+    return &Instance_;
+}
+
+ACLMyPortNameStrategy ACLMyPortNameStrategy::Instance_;
diff --git a/src/ACLMyPortName.h b/src/ACLMyPortName.h
new file mode 100644 (file)
index 0000000..1743e5c
--- /dev/null
@@ -0,0 +1,67 @@
+
+/*
+ * $Id: ACLMyPortName.h,v 1.1.6.1 2008/02/29 18:30:02 serassio Exp $
+ *
+ *
+ * SQUID Web Proxy Cache          http://www.squid-cache.org/
+ * ----------------------------------------------------------
+ *
+ *  Squid is the result of efforts by numerous individuals from
+ *  the Internet community; see the CONTRIBUTORS file for full
+ *  details.   Many organizations have provided support for Squid's
+ *  development; see the SPONSORS file for full details.  Squid is
+ *  Copyrighted (C) 2001 by the Regents of the University of
+ *  California; see the COPYRIGHT file for full details.  Squid
+ *  incorporates software developed and/or copyrighted by other
+ *  sources; see the CREDITS file for full details.
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *  
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *  
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
+ *
+ *
+ * Copyright (c) 2003, Robert Collins <robertc@squid-cache.org>
+ */
+
+#ifndef SQUID_ACLMYPORTNAME_H
+#define SQUID_ACLMYPORTNAME_H
+#include "ACLStrategy.h"
+#include "ACLStrategised.h"
+
+class ACLMyPortNameStrategy : public ACLStrategy<const char *>
+{
+
+public:
+    virtual int match (ACLData<MatchType> * &, ACLChecklist *);
+    static ACLMyPortNameStrategy *Instance();
+    /* Not implemented to prevent copies of the instance. */
+    /* Not private to prevent brain dead g+++ warnings about
+     * private constructors with no friends */
+    ACLMyPortNameStrategy(ACLMyPortNameStrategy const &);
+
+private:
+    static ACLMyPortNameStrategy Instance_;
+    ACLMyPortNameStrategy(){}
+
+    ACLMyPortNameStrategy&operator=(ACLMyPortNameStrategy const &);
+};
+
+class ACLMyPortName
+{
+
+private:
+    static ACL::Prototype RegistryProtoype;
+    static ACLStrategised<const char *> RegistryEntry_;
+};
+
+#endif /* SQUID_ACLMYPORTNAME_H */
index c008d847624511ebb7ab0944b85d4430548cf5ad..09003a5918e434d5179bdb21a76c60c7468f73e6 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: ESI.cc,v 1.26.4.2 2008/01/20 19:39:26 serassio Exp $
+ * $Id: ESI.cc,v 1.26.4.3 2008/02/29 18:30:02 serassio Exp $
  *
  * DEBUG: section 86    ESI processing
  * AUTHOR: Robert Collins
@@ -1566,7 +1566,7 @@ esiLiteral::esiLiteral(ESIContext *context, const char *s, int numberOfCharacter
     assert (s);
     buffer = new ESISegment;
     ESISegment::Pointer local = buffer;
-    off_t start = 0;
+    size_t start = 0;
     int remainingCharacters = numberOfCharacters;
 
     while (remainingCharacters > 0) {
index 240ab3af819c5cf12949ca32dd6efe92090b29e3..d96a46caef4d540234daf41f6d895f49a156635e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: ESIContext.h,v 1.4 2003/08/04 22:14:40 robertc Exp $
+ * $Id: ESIContext.h,v 1.4.6.1 2008/02/29 18:30:02 serassio Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -133,8 +133,8 @@ int detached:
      * for some reason 
      */
     size_t outbound_offset;
-    off_t readpos; /* the logical position we are reading from */
-    off_t pos; /* the logical position of outbound_offset in the data stream */
+    int64_t readpos; /* the logical position we are reading from */
+    int64_t pos; /* the logical position of outbound_offset in the data stream */
 
     class ParserState
     {
index e32a9e8cb9d00b1b6fd7c3ecb5ff1015d46b5b8a..373c24d5ad2d49e52e510b5d5b637f15f1e6804e 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: ESIInclude.cc,v 1.14.4.2 2008/01/20 19:39:26 serassio Exp $
+ * $Id: ESIInclude.cc,v 1.14.4.3 2008/02/29 18:30:02 serassio Exp $
  *
  * DEBUG: section 86    ESI processing
  * AUTHOR: Robert Collins
@@ -320,7 +320,7 @@ void
 ESIInclude::prepareRequestHeaders(HttpHeader &tempheaders, ESIVarState *vars)
 {
     tempheaders.update (&vars->header(), NULL);
-    tempheaders.removeConnectionHeaderEntries();
+    tempheaders.removeHopByHopEntries();
 }
 
 
index 9e5b8867065c6d4aa4e226969a0bc2b75dae9f71..c0beafa35a8408b95532a65070fdb3023cb07497 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: HttpHeader.cc,v 1.138 2007/11/26 13:09:55 hno Exp $
+ * $Id: HttpHeader.cc,v 1.138.4.1 2008/02/29 18:30:02 serassio Exp $
  *
  * DEBUG: section 55    HTTP Header
  * AUTHOR: Alex Rousskov
@@ -236,6 +236,12 @@ static http_hdr_type RequestHeadersArr[] =
         HDR_USER_AGENT, HDR_X_FORWARDED_FOR, HDR_SURROGATE_CAPABILITY
     };
 
+static http_hdr_type HopByHopHeadersArr[] =
+    {
+        HDR_CONNECTION, HDR_KEEP_ALIVE, HDR_PROXY_AUTHENTICATE, HDR_PROXY_AUTHORIZATION,
+        HDR_TE, HDR_TRAILERS, HDR_TRANSFER_ENCODING, HDR_UPGRADE
+    };
+
 /* header accounting */
 static HttpHeaderStat HttpHeaderStats[] =
     {
@@ -1762,6 +1768,18 @@ HttpHeader::hasByNameListMember(const char *name, const char *member, const char
     return result;
 }
 
+void
+HttpHeader::removeHopByHopEntries()
+{
+    removeConnectionHeaderEntries();
+    
+    int count = countof(HopByHopHeadersArr);
+    
+    for (int i=0; i<count; i++)
+        delById(HopByHopHeadersArr[i]);    
+    
+}
+
 void
 HttpHeader::removeConnectionHeaderEntries()
 {
@@ -1788,7 +1806,5 @@ HttpHeader::removeConnectionHeaderEntries()
         }
         if (headers_deleted)
             refreshMask();
-
-        delById(HDR_CONNECTION);
     }
 }
index 2f67953654a6a0723c4468485cc886f49a27e65c..0331a5014207f95d1e0dde4b1af39ea4bc68e22b 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: HttpHeader.h,v 1.24 2007/11/26 13:09:55 hno Exp $
+ * $Id: HttpHeader.h,v 1.24.4.1 2008/02/29 18:30:02 serassio Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -246,13 +246,16 @@ public:
     TimeOrTag getTimeOrTag(http_hdr_type id) const;
     int hasListMember(http_hdr_type id, const char *member, const char separator) const;
     int hasByNameListMember(const char *name, const char *member, const char separator) const;
-    void removeConnectionHeaderEntries();
+    void removeHopByHopEntries();
     /* protected, do not use these, use interface functions instead */
     Vector<HttpHeaderEntry *> entries;         /* parsed fields in raw format */
     HttpHeaderMask mask;       /* bit set <=> entry present */
     http_hdr_owner_type owner; /* request or reply */
     int len;                   /* length when packed, not counting terminating '\0' */
 
+protected:
+    void removeConnectionHeaderEntries();
+    
 private:
     HttpHeaderEntry *findLastEntry(http_hdr_type id) const;
     // Make it non-copyable. Our destructor is a bit nasty...
index 90622d11eb9a78fd3d1dc3abb6026f4ae7fa5e7f..b06cecb8de8a0dace16d59902733644dc28abdba 100644 (file)
@@ -1085,6 +1085,16 @@ void ICAPModXact::makeRequestHeaders(MemBuf &buf)
     if (!TheICAPConfig.reuse_connections)
         buf.Printf("Connection: close\r\n");
 
+    // we must forward "Proxy-Authenticate" and "Proxy-Authorization"
+    // as ICAP headers.
+    if (virgin.header->header.has(HDR_PROXY_AUTHENTICATE)) 
+        buf.Printf("Proxy-Authenticate: %s\r\n", 
+                virgin.header->header.getByName("Proxy-Authenticate").buf());    
+    
+    if (virgin.header->header.has(HDR_PROXY_AUTHORIZATION)) 
+        buf.Printf("Proxy-Authorization: %s\r\n", 
+                virgin.header->header.getByName("Proxy-Authorization").buf());
+
     buf.Printf("Encapsulated: ");
 
     MemBuf httpBuf;
@@ -1173,8 +1183,38 @@ void ICAPModXact::encapsulateHead(MemBuf &icapBuf, const char *section, MemBuf &
     // update ICAP header
     icapBuf.Printf("%s=%d, ", section, (int) httpBuf.contentSize());
 
-    // pack HTTP head
-    packHead(httpBuf, head);
+    // begin cloning
+    HttpMsg *headClone = NULL;
+    
+    if (const HttpRequest* old_request = dynamic_cast<const HttpRequest*>(head)) {
+        HttpRequest* new_request = new HttpRequest;
+        urlParse(old_request->method, old_request->canonical,new_request);
+        new_request->http_ver = old_request->http_ver;
+        inheritVirginProperties(*new_request, *old_request);
+        headClone = new_request;
+    } 
+    else if (const HttpReply *old_reply = dynamic_cast<const HttpReply*>(head)) {
+        HttpReply* new_reply = new HttpReply;
+        new_reply->sline = old_reply->sline;
+        headClone = new_reply;
+    }
+    
+    Must(headClone);
+    
+    HttpHeaderPos pos = HttpHeaderInitPos;
+    HttpHeaderEntry* p_head_entry = NULL;
+    while (NULL != (p_head_entry = head->header.getEntry(&pos)) )
+        headClone->header.addEntry(p_head_entry->clone());
+
+    // end cloning
+        
+    // remove all hop-by-hop headers from the clone
+    headClone->header.removeHopByHopEntries();
+
+    // pack polished HTTP header
+    packHead(httpBuf, headClone);
+
+    delete headClone;
 }
 
 void ICAPModXact::packHead(MemBuf &httpBuf, const HttpMsg *head)
index d4775064a9513753034e1a81d62cc76dc31b89d7..e0132c0ee51aac5193550c2069c60ff87cc850b5 100644 (file)
@@ -1,7 +1,7 @@
 #
 #  Makefile for the Squid Object Cache server
 #
-#  $Id: Makefile.am,v 1.193 2007/10/31 04:52:15 amosjeffries Exp $
+#  $Id: Makefile.am,v 1.193.4.1 2008/02/29 18:30:02 serassio Exp $
 #
 #  Uncomment and customize the following to suit your needs:
 #
@@ -329,6 +329,8 @@ squid_ACLSOURCES = \
        ACLMyIP.h \
        ACLMyPort.cc \
        ACLMyPort.h \
+       ACLMyPortName.cc \
+       ACLMyPortName.h \
        ACLProtocol.cc \
        ACLProtocol.h \
        ACLProtocolData.cc \
index 860bc4467053fe08b18c19e29a4a122ba66dd7b4..ef84d85402fe97a583b5d3dc8e1270052604ad49 100644 (file)
@@ -17,7 +17,7 @@
 #
 #  Makefile for the Squid Object Cache server
 #
-#  $Id: Makefile.in,v 1.447.4.2 2007/12/27 20:37:46 serassio Exp $
+#  $Id: Makefile.in,v 1.447.4.3 2008/02/29 18:30:03 serassio Exp $
 #
 #  Uncomment and customize the following to suit your needs:
 #
@@ -186,10 +186,10 @@ am__squid_SOURCES_DIST = access_log.cc AccessLogEntry.h acl.cc \
        ACLMaxConnection.cc ACLMaxConnection.h ACLMaxUserIP.cc \
        ACLMaxUserIP.h ACLMethod.cc ACLMethod.h ACLMethodData.cc \
        ACLMethodData.h ACLMyIP.cc ACLMyIP.h ACLMyPort.cc ACLMyPort.h \
-       ACLProtocol.cc ACLProtocol.h ACLProtocolData.cc \
-       ACLProtocolData.h ACLProxyAuth.cc ACLProxyAuth.h ACLReferer.cc \
-       ACLReferer.h ACLRegexData.cc ACLRegexData.h \
-       ACLReplyHeaderStrategy.h ACLReplyMIMEType.cc \
+       ACLMyPortName.cc ACLMyPortName.h ACLProtocol.cc ACLProtocol.h \
+       ACLProtocolData.cc ACLProtocolData.h ACLProxyAuth.cc \
+       ACLProxyAuth.h ACLReferer.cc ACLReferer.h ACLRegexData.cc \
+       ACLRegexData.h ACLReplyHeaderStrategy.h ACLReplyMIMEType.cc \
        ACLReplyMIMEType.h ACLHTTPRepHeader.cc ACLHTTPRepHeader.h \
        ACLHTTPReqHeader.cc ACLHTTPReqHeader.h \
        ACLRequestHeaderStrategy.h ACLRequestMIMEType.cc \
@@ -277,16 +277,16 @@ am__objects_6 = $(am__objects_5) ACLASN.$(OBJEXT) ACLBrowser.$(OBJEXT) \
        ACLIntRange.$(OBJEXT) ACLIP.$(OBJEXT) \
        ACLMaxConnection.$(OBJEXT) ACLMaxUserIP.$(OBJEXT) \
        ACLMethod.$(OBJEXT) ACLMethodData.$(OBJEXT) ACLMyIP.$(OBJEXT) \
-       ACLMyPort.$(OBJEXT) ACLProtocol.$(OBJEXT) \
-       ACLProtocolData.$(OBJEXT) ACLProxyAuth.$(OBJEXT) \
-       ACLReferer.$(OBJEXT) ACLRegexData.$(OBJEXT) \
-       ACLReplyMIMEType.$(OBJEXT) ACLHTTPRepHeader.$(OBJEXT) \
-       ACLHTTPReqHeader.$(OBJEXT) ACLRequestMIMEType.$(OBJEXT) \
-       ACLSourceDomain.$(OBJEXT) ACLSourceIP.$(OBJEXT) \
-       ACLStrategised.$(OBJEXT) ACLStringData.$(OBJEXT) \
-       ACLTime.$(OBJEXT) ACLTimeData.$(OBJEXT) ACLUrl.$(OBJEXT) \
-       ACLUrlPath.$(OBJEXT) ACLUrlPort.$(OBJEXT) \
-       ACLUserData.$(OBJEXT)
+       ACLMyPort.$(OBJEXT) ACLMyPortName.$(OBJEXT) \
+       ACLProtocol.$(OBJEXT) ACLProtocolData.$(OBJEXT) \
+       ACLProxyAuth.$(OBJEXT) ACLReferer.$(OBJEXT) \
+       ACLRegexData.$(OBJEXT) ACLReplyMIMEType.$(OBJEXT) \
+       ACLHTTPRepHeader.$(OBJEXT) ACLHTTPReqHeader.$(OBJEXT) \
+       ACLRequestMIMEType.$(OBJEXT) ACLSourceDomain.$(OBJEXT) \
+       ACLSourceIP.$(OBJEXT) ACLStrategised.$(OBJEXT) \
+       ACLStringData.$(OBJEXT) ACLTime.$(OBJEXT) \
+       ACLTimeData.$(OBJEXT) ACLUrl.$(OBJEXT) ACLUrlPath.$(OBJEXT) \
+       ACLUrlPort.$(OBJEXT) ACLUserData.$(OBJEXT)
 am__objects_7 = comm_select.$(OBJEXT) comm_select_win32.$(OBJEXT) \
        comm_poll.$(OBJEXT) comm_epoll.$(OBJEXT) comm_kqueue.$(OBJEXT)
 am__objects_8 = delay_pools.$(OBJEXT) DelayId.$(OBJEXT) \
@@ -1968,6 +1968,8 @@ squid_ACLSOURCES = \
        ACLMyIP.h \
        ACLMyPort.cc \
        ACLMyPort.h \
+       ACLMyPortName.cc \
+       ACLMyPortName.h \
        ACLProtocol.cc \
        ACLProtocol.h \
        ACLProtocolData.cc \
@@ -4628,6 +4630,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ACLMethodData.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ACLMyIP.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ACLMyPort.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ACLMyPortName.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ACLProtocol.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ACLProtocolData.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ACLProxyAuth.Po@am__quote@
index 22f7d44c7bd478105259bd0c8f9b031c1880b536..76cc02879c7a4c8a8007b93a16c4e00c3f7845c0 100644 (file)
--- a/src/Mem.h
+++ b/src/Mem.h
@@ -1,6 +1,6 @@
 
 /*
- * $Id: Mem.h,v 1.4 2006/05/29 00:15:01 robertc Exp $
+ * $Id: Mem.h,v 1.4.6.1 2008/02/29 18:30:03 serassio Exp $
  *
  * DEBUG: section 13    High Level Memory Pool Management
  * AUTHOR: Harvest Derived
@@ -47,6 +47,7 @@ class Mem
 
 public:
     static void Init();
+    static void Report();
     static void RegisterWithCacheManager(CacheManager & manager);
     static void Stats(StoreEntry *);
     static void CleanIdlePools(void *unused);
index eef3f5d2b8acf98cf7a912afeccad6e263727beb..a9bc2800b0903c662485318e1e8c1179c7d947a8 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: Server.h,v 1.10 2007/09/27 14:34:06 rousskov Exp $
+ * $Id: Server.h,v 1.10.4.1 2008/02/29 18:30:03 serassio Exp $
  *
  * AUTHOR: Duane Wessels
  *
@@ -163,7 +163,7 @@ protected:
     size_t replyBodySpace(size_t space = 4096 * 10);
 
     // These should be private
-    off_t currentOffset;       // Our current offset in the StoreEntry
+    int64_t currentOffset;     // Our current offset in the StoreEntry
     MemBuf *responseBodyBuffer;        // Data temporarily buffered for ICAP
 
 public: // should not be
index c2f371d2b2eaeade77b0772686782007ccb77e50..bd704f96e71a02953d184b55c687fa13d4d935d7 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: SquidString.h,v 1.12 2007/11/04 23:59:51 amosjeffries Exp $
+ * $Id: SquidString.h,v 1.12.4.1 2008/02/29 18:30:03 serassio Exp $
  *
  * DEBUG: section 67    String
  * AUTHOR: Duane Wessels
@@ -36,6 +36,8 @@
 #ifndef SQUID_STRING_H
 #define SQUID_STRING_H
 
+#include "config.h"
+
 /* forward decls */
 
 class CacheManager;
index 4f363d211af933159e6cdb76eef8075e93a09027..bfffa1d0f61be8cf53a6d9d67c0048f698c10d05 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: Store.h,v 1.40 2007/11/18 17:19:35 serassio Exp $
+ * $Id: Store.h,v 1.40.4.1 2008/02/29 18:30:03 serassio Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -301,9 +301,6 @@ private:
 typedef RefCount<Store> StorePointer;
 
 SQUIDCEXTERN size_t storeEntryInUse();
-#if UNUSED_CODE_20070420
-SQUIDCEXTERN off_t storeLowestMemReaderOffset(const StoreEntry * entry);
-#endif
 SQUIDCEXTERN const char *storeEntryFlags(const StoreEntry *);
 extern void storeEntryReplaceObject(StoreEntry *, HttpReply *);
 
index d0d77cf5ecffdc63162bfb1c894b47d8826add6b..b9abf6b8f8949b015b772381f64e79013583cd6e 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: StoreMetaUnpacker.cc,v 1.5.6.1 2008/02/24 12:41:29 serassio Exp $
+ * $Id: StoreMetaUnpacker.cc,v 1.5.6.2 2008/02/29 18:30:03 serassio Exp $
  *
  * DEBUG: section 20    Storage Manager Swapfile Unpacker
  * AUTHOR: Robert Collins
@@ -37,7 +37,7 @@
 #include "StoreMetaUnpacker.h"
 #include "StoreMeta.h"
 
-off_t const StoreMetaUnpacker::MinimumBufferLength = sizeof(char) + sizeof(int);
+int const StoreMetaUnpacker::MinimumBufferLength = sizeof(char) + sizeof(int);
 
 bool
 StoreMetaUnpacker::isBufferSane()
index 8cc261e82c350e00cafba47ae8fc7d4cb30a96cc..c8db344497f2249614510e0024d7357e1bdd761b 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: StoreMetaUnpacker.h,v 1.2 2003/02/21 22:50:06 robertc Exp $
+ * $Id: StoreMetaUnpacker.h,v 1.2.6.1 2008/02/29 18:30:03 serassio Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -45,7 +45,7 @@ public:
     bool isBufferSane();
 
 private:
-    static off_t const MinimumBufferLength;
+    static int const MinimumBufferLength;
 
     void getBufferLength();
     void getType();
@@ -57,7 +57,7 @@ private:
     char const * const buf;
     ssize_t buflen;
     int *hdr_len;
-    off_t position;
+    int position;
     char type;
     int length;
     StoreMeta **tail;
index ccc48f4ac0b076ed7634b5bc2b9499b712393bd1..c65b70b15c32c1472a2a7182ca6e6b6ca302434c 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: String.cci,v 1.10 2007/11/04 23:59:52 amosjeffries Exp $
+ * $Id: String.cci,v 1.10.4.1 2008/02/29 18:30:03 serassio Exp $
  *
  * DEBUG: section 67    String
  * AUTHOR: Duane Wessels
@@ -33,6 +33,8 @@
  *
  */
 
+#include "assert.h"
+
 String::String() : size_(0), len_(0), buf_ (NULL)
 {
 #if DEBUGSTRINGS
@@ -150,6 +152,8 @@ String::cut(size_t newLength)
     if(newLength < 0 || newLength > len_) return;
 
     len_ = newLength;
+
+    if(len_ == 0 && buf_ == NULL) return; // buf_ may be NULL on zero-length strings.
     buf_[newLength] = '\0';
 }
 
index a533f2dd112498927ecca745a07b17792e64ceb6..8e79947715b068045e8bd444da33ebd394e4af8e 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: asn.cc,v 1.115 2007/09/21 11:41:52 amosjeffries Exp $
+ * $Id: asn.cc,v 1.115.4.1 2008/02/29 18:30:03 serassio Exp $
  *
  * DEBUG: section 53    AS Number handling
  * AUTHOR: Duane Wessels, Kostas Anagnostakis
@@ -89,7 +89,7 @@ struct ASState
     store_client *sc;
     HttpRequest *request;
     int as_number;
-    off_t offset;
+    int64_t offset;
     int reqofs;
     char reqbuf[AS_REQBUF_SZ];
     bool dataRead;
@@ -299,7 +299,7 @@ asHandleReply(void *data, StoreIOBuffer result)
      */
     s = buf;
 
-    while (s - buf < (off_t)(result.length + asState->reqofs) && *s != '\0') {
+    while ((size_t)(s - buf) < result.length + asState->reqofs && *s != '\0') {
         while (*s && xisspace(*s))
             s++;
 
index 8e6a93148e2661c61434f61d11e48ef0b2ac9082..b20d9375621cef6c46e4439069825bd082fcd5e5 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: auth_digest.cc,v 1.59 2007/08/27 12:50:45 hno Exp $
+ * $Id: auth_digest.cc,v 1.59.4.1 2008/02/29 18:30:05 serassio Exp $
  *
  * DEBUG: section 29    Authenticator
  * AUTHOR: Robert Collins
@@ -666,6 +666,7 @@ AuthDigestUserRequest::authenticate(HttpRequest * request, ConnStateData::Pointe
             }
         } else {
             credentials(Failed);
+            digest_request->flags.invalid_password = 1;
             digest_request->setDenyMessage("Incorrect password");
             return;
         }
@@ -673,7 +674,6 @@ AuthDigestUserRequest::authenticate(HttpRequest * request, ConnStateData::Pointe
         /* check for stale nonce */
         if (!authDigestNonceIsValid(digest_request->nonce, digest_request->nc)) {
             debugs(29, 3, "authenticateDigestAuthenticateuser: user '" << digest_user->username() << "' validated OK but nonce stale");
-            digest_request->flags.nonce_stale = 1;
             credentials(Failed);
             digest_request->setDenyMessage("Stale nonce");
             return;
@@ -708,11 +708,8 @@ AuthDigestUserRequest::module_direction()
 
     case Failed:
 
-        if (flags.nonce_stale)
-            /* nonce is stale, send new challenge */
-            return 1;
-
-        return -2;
+         /* send new challenge */
+         return 1;
     }
 
     return -2;
@@ -783,14 +780,14 @@ AuthDigestConfig::fixHeader(AuthUserRequest *auth_user_request, HttpReply *rep,
     if (!authenticate)
         return;
 
-    int stale = 0;
+    int stale = 1;
 
     if (auth_user_request) {
         AuthDigestUserRequest *digest_request;
         digest_request = dynamic_cast < AuthDigestUserRequest * >(auth_user_request);
         assert (digest_request != NULL);
 
-        stale = digest_request->flags.nonce_stale;
+        stale = !digest_request->flags.invalid_password;
     }
 
     /* on a 407 or 401 we always use a new nonce */
@@ -850,6 +847,7 @@ authenticateDigestHandleReply(void *data, char *reply)
 
     if (reply && (strncasecmp(reply, "ERR", 3) == 0)) {
         digest_request->credentials(AuthDigestUserRequest::Failed);
+       digest_request->flags.invalid_password = 1;
 
         if (t && *t)
             digest_request->setDenyMessage(t);
@@ -1047,9 +1045,8 @@ authDigestUserLinkNonce(DigestUser * user, digest_nonce_h * nonce)
 
 /* setup the necessary info to log the username */
 static AuthUserRequest *
-authDigestLogUsername(char *username)
+authDigestLogUsername(char *username, AuthDigestUserRequest *auth_user_request)
 {
-    AuthDigestUserRequest *auth_user_request = new AuthDigestUserRequest();
     assert(auth_user_request != NULL);
 
     /* log the username */
@@ -1228,7 +1225,7 @@ AuthDigestConfig::decode(char const *proxy_auth)
     if (digest_request->cnonce && strlen(digest_request->nc) != 8) {
         debugs(29, 4, "authenticateDigestDecode: nonce count length invalid");
         delete digest_request;
-        return authDigestLogUsername(username);
+        return authDigestLogUsername(username, digest_request);
     }
 
     /* now the nonce */
@@ -1237,8 +1234,7 @@ AuthDigestConfig::decode(char const *proxy_auth)
     if (!nonce) {
         /* we couldn't find a matching nonce! */
         debugs(29, 4, "authenticateDigestDecode: Unexpected or invalid nonce received");
-        delete digest_request;
-        return authDigestLogUsername(username);
+        return authDigestLogUsername(username, digest_request);
     }
 
     digest_request->nonce = nonce;
@@ -1247,11 +1243,11 @@ AuthDigestConfig::decode(char const *proxy_auth)
     /* check the qop is what we expected. Note that for compatability with
      * RFC 2069 we should support a missing qop. Tough. */
 
-    if (!digest_request->qop || strcmp(digest_request->qop, QOP_AUTH)) {
+    if (digest_request->qop && strcmp(digest_request->qop, QOP_AUTH) != 0) {
         /* we received a qop option we didn't send */
         debugs(29, 4, "authenticateDigestDecode: Invalid qop option received");
         delete digest_request;
-        return authDigestLogUsername(username);
+        return authDigestLogUsername(username, digest_request);
     }
 
     /* we can't check the URI just yet. We'll check it in the
@@ -1262,21 +1258,21 @@ AuthDigestConfig::decode(char const *proxy_auth)
     if (!digest_request->response || strlen(digest_request->response) != 32) {
         debugs(29, 4, "authenticateDigestDecode: Response length invalid");
         delete digest_request;
-        return authDigestLogUsername(username);
+        return authDigestLogUsername(username, digest_request);
     }
 
     /* do we have a username ? */
     if (!username || username[0] == '\0') {
         debugs(29, 4, "authenticateDigestDecode: Empty or not present username");
         delete digest_request;
-        return authDigestLogUsername(username);
+        return authDigestLogUsername(username, digest_request);
     }
 
     /* check that we're not being hacked / the username hasn't changed */
     if (nonce->user && strcmp(username, nonce->user->username())) {
         debugs(29, 4, "authenticateDigestDecode: Username for the nonce does not equal the username for the request");
         delete digest_request;
-        return authDigestLogUsername(username);
+        return authDigestLogUsername(username, digest_request);
     }
 
     /* if we got a qop, did we get a cnonce or did we get a cnonce wihtout a qop? */
@@ -1284,7 +1280,7 @@ AuthDigestConfig::decode(char const *proxy_auth)
             || (!digest_request->qop && digest_request->cnonce)) {
         debugs(29, 4, "authenticateDigestDecode: qop without cnonce, or vice versa!");
         delete digest_request;
-        return authDigestLogUsername(username);
+        return authDigestLogUsername(username, digest_request);
     }
 
     /* check the algorithm is present and supported */
@@ -1294,7 +1290,7 @@ AuthDigestConfig::decode(char const *proxy_auth)
              && strcmp(digest_request->algorithm, "MD5-sess")) {
         debugs(29, 4, "authenticateDigestDecode: invalid algorithm specified!");
         delete digest_request;
-        return authDigestLogUsername(username);
+        return authDigestLogUsername(username, digest_request);
     }
 
     /* the method we'll check at the authenticate step as well */
index 302ef9ec80dca6327b2742205e7a6abe186e8711..72178a64901d5ad6567be3e0f97f4c1e2bee649d 100644 (file)
@@ -99,8 +99,7 @@ public:
 unsigned int authinfo_sent:
         1;
 
-unsigned int nonce_stale:
-        1;
+       unsigned int invalid_password:1;
 
 unsigned int helper_queried:
         1;
index 0420478e07dffe51e5ca5b652bdd05aecbb8b526..b7ba0f24c14ee64948ca9bc4a916e3b9a3beaf54 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: cache_cf.cc,v 1.528 2007/11/15 23:33:05 wessels Exp $
+ * $Id: cache_cf.cc,v 1.528.4.1 2008/02/29 18:30:03 serassio Exp $
  *
  * DEBUG: section 3     Configuration File Parsing
  * AUTHOR: Harvest Derived
@@ -46,6 +46,9 @@
 #include "Parsing.h"
 #include "MemBuf.h"
 #include "wordlist.h"
+#if HAVE_GLOB_H
+#include <glob.h>
+#endif
 
 #if SQUID_SNMP
 #include "snmp.h"
@@ -151,6 +154,8 @@ static int check_null_https_port_list(const https_port_list *);
 static void parse_b_size_t(size_t * var);
 static void parse_b_int64_t(int64_t * var);
 
+static int parseOneConfigFile(const char *file_name, unsigned int depth);
+
 /*
  * LegacyParser is a parser for legacy code that uses the global
  * approach.  This is static so that it is only exposed to cache_cf.
@@ -203,17 +208,53 @@ skip_ws(const char* s)
     return s;
 }
 
-int
-parseConfigFile(const char *file_name, CacheManager & manager)
+static int
+parseManyConfigFiles(char* files, int depth)
+{
+    int error_count = 0;
+    char* saveptr = NULL;
+#if HAVE_GLOB
+    char *path;
+    glob_t globbuf;
+    int i;
+    memset(&globbuf, 0, sizeof(globbuf));
+    for (path = strwordtok(files, &saveptr); path; path = strwordtok(NULL, &saveptr)) {
+       if (glob(path, globbuf.gl_pathc ? GLOB_APPEND : 0, NULL, &globbuf) != 0) {
+           fatalf("Unable to find configuration file: %s: %s",
+               path, xstrerror());
+       }
+     }
+    for (i = 0; i < (int)globbuf.gl_pathc; i++) {
+       error_count += parseOneConfigFile(globbuf.gl_pathv[i], depth);
+    }
+    globfree(&globbuf);
+#else
+    char* file = strwordtok(files, &saveptr);
+    while (file != NULL) {
+       error_count += parseOneConfigFile(file, depth);
+       file = strwordtok(NULL, &saveptr);
+    }
+#endif /* HAVE_GLOB */
+    return error_count;
+}
+
+static int
+parseOneConfigFile(const char *file_name, unsigned int depth)
 {
     FILE *fp = NULL;
+    const char *orig_cfg_filename = cfg_filename;
+    const int orig_config_lineno = config_lineno;
     char *token = NULL;
     char *tmp_line = NULL;
     int tmp_line_len = 0;
     int err_count = 0;
     int is_pipe = 0;
-    configFreeMemory();
-    default_all();
+
+    debugs(3, 1, "Processing Configuration File: " << file_name << " (depth " << depth << ")");
+    if (depth > 16) {
+        fatalf("WARNING: can't include %s: includes are nested too deeply (>16)!\n", file_name);
+        return 1;
+    }
 
     if (file_name[0] == '!' || file_name[0] == '|') {
         fp = popen(file_name + 1, "r");
@@ -223,8 +264,7 @@ parseConfigFile(const char *file_name, CacheManager & manager)
     }
 
     if (fp == NULL)
-        fatalf("Unable to open configuration file: %s: %s",
-               file_name, xstrerror());
+        fatalf("Unable to open configuration file: %s: %s", file_name, xstrerror());
 
 #ifdef _SQUID_WIN32_
 
@@ -270,13 +310,6 @@ parseConfigFile(const char *file_name, CacheManager & manager)
                     *token = '\0';
 
                 cfg_filename = new_file_name;
-
-#if PROBABLY_NOT_WANTED_HERE
-
-                SetConfigFilename(cfg_filename, false);
-
-#endif
-
             }
 
             config_lineno = new_lineno;
@@ -306,11 +339,13 @@ parseConfigFile(const char *file_name, CacheManager & manager)
 
         debugs(3, 5, "Processing: '" << tmp_line << "'");
 
-        if (!parse_line(tmp_line)) {
-            debugs(3, 0, "parseConfigFile: '" << cfg_filename << "' line " <<
-                   config_lineno << " unrecognized: '" << config_input_line << "'");
-            err_count++;
-        }
+       /* Handle includes here */
+        if (tmp_line_len >= 9 && strncmp(tmp_line, "include", 7) == 0 && xisspace(tmp_line[7])) {
+            err_count += parseManyConfigFiles(tmp_line + 8, depth + 1);
+       } else if (!parse_line(tmp_line)) {
+            debugs(3, 0, HERE << cfg_filename << ":" << config_lineno << " unrecognized: '" << tmp_line << "'");
+           err_count++;
+       }
 
         safe_free(tmp_line);
         tmp_line_len = 0;
@@ -326,6 +361,23 @@ parseConfigFile(const char *file_name, CacheManager & manager)
         fclose(fp);
     }
 
+    cfg_filename = orig_cfg_filename;
+    config_lineno = orig_config_lineno;
+
+    return err_count;
+}
+
+int
+parseConfigFile(const char *file_name, CacheManager & manager)
+{
+    int err_count = 0;
+
+    configFreeMemory();
+
+    default_all();
+
+    err_count = parseOneConfigFile(file_name, 0);
+
     defaults_if_none();
 
     /*
@@ -351,6 +403,7 @@ parseConfigFile(const char *file_name, CacheManager & manager)
     return err_count;
 }
 
+
 static void
 configDoConfigure(void)
 {
@@ -2364,18 +2417,6 @@ parse_eol(char *volatile *var)
 #define dump_eol dump_string
 #define free_eol free_string
 
-void
-parse_debug(char *volatile *var)
-{
-    parse_eol(var);
-    safe_free(debug_options)
-    debug_options = xstrdup(Config.debugOptions);
-    Debug::parseOptions(Config.debugOptions);
-}
-
-#define dump_debug dump_string
-#define free_debug free_string
-
 static void
 dump_time_t(StoreEntry * entry, const char *name, time_t var)
 {
@@ -2769,6 +2810,7 @@ parse_http_port_specification(http_port_list * s, char *token)
     char *t;
 
     s->disable_pmtu_discovery = DISABLE_PMTU_OFF;
+    s->name = strdup(token);
 
     if ((t = strchr(token, ':'))) {
         /* host:port */
index 56e95e1b08ce0ed5d762ccde94a22fe8bcb4e0fd..85e8257d0e167316ae3ae08b00d6b1c30802321e 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: carp.cc,v 1.26 2007/04/28 22:26:37 hno Exp $
+ * $Id: carp.cc,v 1.26.6.1 2008/02/29 18:30:03 serassio Exp $
  *
  * DEBUG: section 39    Cache Array Routing Protocol
  * AUTHOR: Henrik Nordstrom
@@ -104,7 +104,7 @@ carpInit(void)
         /* calculate this peers hash */
         p->carp.hash = 0;
 
-        for (t = p->host; *t != 0; t++)
+        for (t = p->name; *t != 0; t++)
             p->carp.hash += ROTATE_LEFT(p->carp.hash, 19) + (unsigned int) *t;
 
         p->carp.hash += p->carp.hash * 0x62531965;
@@ -189,7 +189,7 @@ carpSelectParent(HttpRequest * request)
         combined_hash += combined_hash * 0x62531965;
         combined_hash = ROTATE_LEFT(combined_hash, 21);
         score = combined_hash * tp->carp.load_multiplier;
-        debugs(39, 3, "carpSelectParent: " << tp->host << " combined_hash " << combined_hash  << 
+        debugs(39, 3, "carpSelectParent: " << tp->name << " combined_hash " << combined_hash  << 
                " score " << std::setprecision(0) << score);
 
         if ((score > high_score) && peerHTTPOkay(tp, request)) {
@@ -199,7 +199,7 @@ carpSelectParent(HttpRequest * request)
     }
 
     if (p)
-        debugs(39, 2, "carpSelectParent: selected " << p->host);
+        debugs(39, 2, "carpSelectParent: selected " << p->name);
 
     return p;
 }
@@ -221,7 +221,7 @@ carpCachemgr(StoreEntry * sentry)
 
     for (p = Config.peers; p; p = p->next) {
         storeAppendPrintf(sentry, "%24s %10x %10f %10f %10f\n",
-                          p->host, p->carp.hash,
+                          p->name, p->carp.hash,
                           p->carp.load_multiplier,
                           p->carp.load_factor,
                           sumfetches ? (double) p->stats.fetches / sumfetches : -1.0);
index 165c2dd439bad0eca4dd8becc88df7a57c5cca57..8f450e1cc81507e69ffc6a38c8d99eff9df02f34 100644 (file)
@@ -1,6 +1,6 @@
 
 #
-# $Id: cf.data.pre,v 1.488.4.2 2008/02/10 10:07:53 serassio Exp $
+# $Id: cf.data.pre,v 1.488.4.3 2008/02/29 18:30:03 serassio Exp $
 #
 # SQUID Web Proxy Cache                http://www.squid-cache.org/
 # ----------------------------------------------------------
@@ -47,6 +47,21 @@ COMMENT_START
 
 COMMENT_END
 
+COMMENT_START
+  Configuration options can be included using the "include" directive.
+  Include takes a list of files to include. Quoting and wildcards is
+  supported.
+
+  For example,
+
+  include /path/to/included/file/squid.acl.config
+
+  Includes can be nested up to a hard-coded depth of 16 levels.
+  This arbitrary restriction is to prevent recursive include references
+  from causing Squid entering an infinite loop whilst trying to load
+  configuration files.
+COMMENT_END
+
 COMMENT_START
  OPTIONS FOR AUTHENTICATION
  -----------------------------------------------------------------------------
@@ -488,6 +503,7 @@ DOC_START
        acl aclname port     80 70 21 ...
        acl aclname port     0-1024 ...         # ranges allowed
        acl aclname myport   3128 ...           # (local socket TCP port)
+       acl aclname myportname 3128 ...         # http(s)_port name
        acl aclname proto    HTTP FTP ...
        acl aclname method   GET POST ...
        acl aclname browser  [-i] regexp ...
@@ -920,6 +936,9 @@ DOC_START
                        sporadically hang or never complete requests set
                        disable-pmtu-discovery option to 'transparent'.
 
+          name=        Specifies a internal name for the port. Defaults to
+                       the port specification (port or addr:port)
+
        If you run Squid on a dual-homed machine with an internal
        and an external interface we recommend you to specify the
        internal address:port in http_port. This way Squid will only be
@@ -1032,6 +1051,9 @@ DOC_START
           vport=NN     As above, but uses specified port number rather
                        than the https_port number. Implies accel.
 
+          name=        Specifies a internal name for the port. Defaults to
+                       the port specification (port or addr:port)
+
 DOC_END
 
 NAME: tcp_outgoing_tos tcp_outgoing_ds tcp_outgoing_dscp
@@ -2178,7 +2200,7 @@ DOC_START
 DOC_END
 
 NAME: debug_options
-TYPE: debug
+TYPE: eol
 DEFAULT: ALL,1
 LOC: Config.debugOptions
 DOC_START
index 5f40f37e1e23b972c1921798a6fbd2a8ca514c3d..88eff3552856c019669541524100abbd3086a4d0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: client_side.h,v 1.26 2007/10/31 04:52:16 amosjeffries Exp $
+ * $Id: client_side.h,v 1.26.4.1 2008/02/29 18:30:03 serassio Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -95,7 +95,7 @@ unsigned parsed_ok: 1; /* Was this parsed correctly? */
     };
 
     DeferredParams deferredparams;
-    off_t writtenToSocket;
+    int64_t writtenToSocket;
     void pullData();
     int64_t getNextRangeOffset() const;
     bool canPackMoreRanges() const;
index 9d238973e7c5be57354d84abff644c0e1431bd05..58306df55250a5f9165a8b2ad87c7b1aea554604 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: client_side_reply.cc,v 1.144.4.1 2008/02/24 12:41:29 serassio Exp $
+ * $Id: client_side_reply.cc,v 1.144.4.2 2008/02/29 18:30:03 serassio Exp $
  *
  * DEBUG: section 88    Client-side Reply Routines
  * AUTHOR: Robert Collins (Originally Duane Wessels in client_side.c)
@@ -1214,10 +1214,7 @@ clientReplyContext::buildReplyHeader()
     if (is_hit)
         hdr->delById(HDR_SET_COOKIE);
 
-    /*
-     * Be sure to obey the Connection header 
-     */
-    reply->header.removeConnectionHeaderEntries();
+    reply->header.removeHopByHopEntries();
 
     //    if (request->range)
     //      clientBuildRangeHeader(http, reply);
@@ -1314,6 +1311,9 @@ clientReplyContext::buildReplyHeader()
 
 #endif
 
+    /* Check whether we should send keep-alive */
+    // TODO: disable proxy_keepalive only once
+
     if (reply->bodySize(request->method) < 0) {
         debugs(88, 3, "clientBuildReplyHeader: can't keep-alive, unknown body size" );
         request->flags.proxy_keepalive = 0;
@@ -1332,6 +1332,11 @@ clientReplyContext::buildReplyHeader()
     if (!Config.onoff.client_pconns && !request->flags.must_keepalive)
         request->flags.proxy_keepalive = 0;
 
+    if (request->flags.proxy_keepalive && shutting_down) {
+        debugs(88, 3, "clientBuildReplyHeader: Shutting down, don't keep-alive.");
+        request->flags.proxy_keepalive = 0;
+    }
+
     /* Append VIA */
     if (Config.onoff.via) {
         LOCAL_ARRAY(char, bbuf, MAX_URL + 32);
index de223bbc30e9790e7ed310bec3f247f47b8eadce..c34cf802e273feca480d55638a7f205dbfd7e603 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: client_side_reply.h,v 1.17 2007/05/09 07:36:24 wessels Exp $
+ * $Id: client_side_reply.h,v 1.17.6.1 2008/02/29 18:30:03 serassio Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -98,7 +98,7 @@ public:
     StoreIOBuffer tempBuffer;  /* For use in validating requests via IMS */
     int old_reqsize;           /* ... again, for the buffer */
     size_t reqsize;
-    off_t reqofs;
+    size_t reqofs;
     char tempbuf[HTTP_REQBUF_SZ];      /* a temporary buffer if we need working storage */
 #if USE_CACHE_DIGESTS
 
index 92e1b7848d91078dd5b0eca5659d0032ed2fa5c5..34d4d2f2ea09121b70bf28668da43c7893eda86d 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: client_side_request.h,v 1.32 2007/08/13 17:20:51 hno Exp $
+ * $Id: client_side_request.h,v 1.32.4.1 2008/02/29 18:30:03 serassio Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -183,7 +183,7 @@ private:
     BodyPipe::Pointer icapBodySource;
 
     bool request_satisfaction_mode;
-    off_t request_satisfaction_offset;
+    int64_t request_satisfaction_offset;
 #endif
 };
 
index 02157c538987b29b7093beee9fe69203d6049074..5d396b9270663b44b495d52563729cf7677c5c47 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: comm.cc,v 1.438 2007/10/31 04:52:16 amosjeffries Exp $
+ * $Id: comm.cc,v 1.438.4.1 2008/02/29 18:30:03 serassio Exp $
  *
  * DEBUG: section 5     Socket Functions
  * AUTHOR: Harvest Derived
@@ -1103,6 +1103,7 @@ ConnectStateData::commResetFD()
 
         return 0;
     }
+    commResetSelect(fd);
 
     close(fd2);
     fde *F = &fd_table[fd];
@@ -1252,6 +1253,13 @@ comm_connect_addr(int sock, const struct sockaddr_in *address)
 
         x = connect(sock, (struct sockaddr *) address, sizeof(*address));
 
+        // XXX: ICAP code refuses callbacks during a pending comm_ call
+        // Async calls development will fix this.
+        if (x == 0) {
+            x = -1;
+            errno = EINPROGRESS;
+        }
+
         if (x < 0)
             debugs(5, 9, "connect FD " << sock << ": " << xstrerror());
     } else
@@ -1897,7 +1905,7 @@ commHandleWrite(int fd, void *data) {
         /* A successful write, continue */
         state->offset += len;
 
-        if (state->offset < (off_t)state->size) {
+        if (state->offset < state->size) {
             /* Not done, reinstall the write handler and write some more */
             commSetSelect(fd,
                           COMM_SELECT_WRITE,
index db8b62a9bb658f6850f18bd30c18e735b28f71c0..ceaab1ec76fe3e2c5ee4e9f294a6581ad5bb21c0 100644 (file)
@@ -57,6 +57,7 @@ SQUIDCEXTERN u_short comm_local_port(int fd);
 SQUIDCEXTERN int comm_set_tos(int fd, int tos);
 
 SQUIDCEXTERN void commSetSelect(int, unsigned int, PF *, void *, time_t);
+SQUIDCEXTERN void commResetSelect(int);
 
 SQUIDCEXTERN int comm_udp_sendto(int, const struct sockaddr_in *, int, const void *, int);
 extern void comm_write(int fd, const char *buf, int len, IOCB *callback, void *callback_data, FREE *func);
index 51ac3be614c62e7058b90b0ced8067773ef751f8..546f833d937ec7e34b91889821601421875a9336 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: comm_epoll.cc,v 1.17 2007/07/19 13:33:18 hno Exp $
+ * $Id: comm_epoll.cc,v 1.17.4.1 2008/02/29 18:30:03 serassio Exp $
  *
  * DEBUG: section 5     Socket Functions
  *
@@ -203,6 +203,14 @@ commSetSelect(int fd, unsigned int type, PF * handler,
         F->timeout = squid_curtime + timeout;
 }
 
+void
+commResetSelect(int fd)
+{
+    fde *F = &fd_table[fd];
+    F->epoll_state = 0;
+    commSetSelect(fd, 0, NULL, NULL, 0);
+}
+
 
 static void commIncomingStats(StoreEntry * sentry);
 
index d759e28fb5650a0dfeeffa70950f3e555918b697..8396595cd99bf89e746e74a19ad5c5d05363f278 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: comm_kqueue.cc,v 1.17 2007/07/19 13:33:18 hno Exp $
+ * $Id: comm_kqueue.cc,v 1.17.4.1 2008/02/29 18:30:03 serassio Exp $
  *
  * DEBUG: section 5     Socket Functions
  *
@@ -210,6 +210,18 @@ commSetSelect(int fd, unsigned int type, PF * handler,
 
 }
 
+void
+commResetSelect(int fd)
+{
+    fde *F = &fd_table[fd];
+    if (F->read_handler) {
+       kq_update_events(fd, EVFILT_READ, (PF *)1);
+    }
+    if (F->write_handler) {
+       kq_update_events(fd, EVFILT_WRITE, (PF *)1);
+    }
+}
+
 /*
  * Check all connections for new connections and input data that is to be
  * processed. Also check for connections with data queued and whether we can
index b6d93540275a7426a8a9cfa64cb3942361c8f972..d35a8d7f682385a310b8f6a180880fa5755a1df2 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: comm_poll.cc,v 1.24 2007/09/01 13:09:59 hno Exp $
+ * $Id: comm_poll.cc,v 1.24.4.1 2008/02/29 18:30:03 serassio Exp $
  *
  * DEBUG: section 5     Socket Functions
  *
@@ -145,6 +145,11 @@ commSetSelect(int fd, unsigned int type, PF * handler, void *client_data,
         F->timeout = squid_curtime + timeout;
 }
 
+void
+commResetSelect(int fd)
+{
+}
+
 static int
 fdIsIcp(int fd)
 {
index 64d90092e1a888f50589724a6a774942688ad792..aa2255190ea4752ef5f28615406a44925154d7d4 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: comm_select.cc,v 1.81 2007/06/10 12:13:31 hno Exp $
+ * $Id: comm_select.cc,v 1.81.6.1 2008/02/29 18:30:03 serassio Exp $
  *
  * DEBUG: section 5     Socket Functions
  *
@@ -156,6 +156,10 @@ commSetSelect(int fd, unsigned int type, PF * handler, void *client_data,
         F->timeout = squid_curtime + timeout;
 }
 
+void
+commResetSelect(int fd)
+{
+}
 
 static int
 fdIsIcp(int fd)
index 8daf6cb1d8e3740763d934b7fd774d47e1128f78..cc0b8b6c5a628859f939efc3e9d8e52913d9ab19 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: comm_select_win32.cc,v 1.4.6.2 2008/02/24 13:01:55 serassio Exp $
+ * $Id: comm_select_win32.cc,v 1.4.6.3 2008/02/29 18:30:03 serassio Exp $
  *
  * DEBUG: section 5     Socket Functions
  *
@@ -156,6 +156,11 @@ commSetSelect(int fd, unsigned int type, PF * handler, void *client_data,
         F->timeout = squid_curtime + timeout;
 }
 
+void
+commResetSelect(int fd)
+{
+}
+
 
 static int
 fdIsIcp(int fd)
index c707ce80bbc78745a79e00a36c15063db584a20a..4ab6c781cce2d4757dd23b80e3ee0bf6bfdee6a3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: debug.cc,v 1.106 2007/12/04 15:20:22 rousskov Exp $
+ * $Id: debug.cc,v 1.106.4.1 2008/02/29 18:30:03 serassio Exp $
  *
  * DEBUG: section 0     Debug Routines
  * AUTHOR: Harvest Derived
@@ -445,7 +445,7 @@ Debug::parseOptions(char const *options) {
     }
 
     for (i = 0; i < MAX_DEBUG_SECTIONS; i++)
-        Debug::Levels[i] = -1;
+        Debug::Levels[i] = 0;
 
     if (options) {
         p = xstrdup(options);
index 69a2bf27650b321e8cd9c72830d2ab1043d4fda8..01df25e93714891869e992846ab6705582f9da97 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: forward.cc,v 1.168 2007/07/21 16:32:03 hno Exp $
+ * $Id: forward.cc,v 1.168.4.1 2008/02/29 18:30:03 serassio Exp $
  *
  * DEBUG: section 17    Request Forwarding
  * AUTHOR: Duane Wessels
@@ -442,6 +442,9 @@ FwdState::checkRetry()
     if (flags.dont_retry)
         return false;
 
+    if (!checkRetriable())
+        return false;
+
     if (request->bodyNibbled())
         return false;
 
@@ -812,8 +815,12 @@ FwdState::connectStart()
         server_fd = fd;
         n_tries++;
 
-        if (!fs->_peer)
+        if (!fs->_peer) {
             origin_tries++;
+            hierarchyNote(&request->hier, fs->code, request->host);
+        } else {
+            hierarchyNote(&request->hier, fs->code, fs->_peer->host);
+        }
 
         comm_add_close_handler(fd, fwdServerClosedWrapper, this);
 
index 67992019d0f81f5e98b49c0fa06d4cddbf23dfe8..4cc6b512889f3a99236f5dcc06c100a14791eb2f 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: helper.h,v 1.9 2007/05/07 18:38:40 wessels Exp $
+ * $Id: helper.h,v 1.9.6.1 2008/02/29 18:30:03 serassio Exp $
  *
  * DEBUG: section 84    Helper process maintenance
  * AUTHOR: Harvest Derived?
@@ -117,7 +117,7 @@ struct _helper_server
     MemBuf *writebuf;
     char *rbuf;
     size_t rbuf_sz;
-    off_t roffset;
+    size_t roffset;
 
     struct timeval dispatch_time;
 
@@ -164,7 +164,7 @@ struct _helper_stateful_server
     /* MemBuf writebuf; */
     char *rbuf;
     size_t rbuf_sz;
-    off_t roffset;
+    size_t roffset;
 
     struct timeval dispatch_time;
 
index 413d2041ea293229d5811f2ae6678996b3a28902..d6215bb35fb057d27a64f2cb6912eb3fcf4af981 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: main.cc,v 1.451.4.2 2008/02/17 19:44:01 serassio Exp $
+ * $Id: main.cc,v 1.451.4.3 2008/02/29 18:30:03 serassio Exp $
  *
  * DEBUG: section 1     Startup and Main Loop
  * AUTHOR: Harvest Derived
@@ -632,6 +632,7 @@ mainReconfigure(void)
     errorClean();
     enter_suid();              /* root to read config file */
     parseConfigFile(ConfigFile, manager);
+    Mem::Report();
     setEffectiveUser();
     _db_init(Config.Log.log, Config.debugOptions);
     ipcache_restart();         /* clear stuck entries */
@@ -1078,7 +1079,7 @@ main(int argc, char **argv)
     sbrk_start = sbrk(0);
 #endif
 
-    Debug::parseOptions("ALL,1");
+    Debug::parseOptions(NULL);
     debug_log = stderr;
 
 #if defined(SQUID_MAXFD_LIMIT)
@@ -1153,6 +1154,10 @@ main(int argc, char **argv)
 
     mainParseOptions(argc, argv);
 
+    if (opt_parse_cfg_only) {
+       Debug::parseOptions("ALL,1");
+    }
+
 #if USE_WIN32_SERVICE
 
     if (opt_install_service)
@@ -1200,6 +1205,8 @@ main(int argc, char **argv)
 
         parse_err = parseConfigFile(ConfigFile, manager);
 
+        Mem::Report();
+        
         if (opt_parse_cfg_only)
 
             return parse_err;
index 8e253ec7da12b2fa9402ac39ab7b7a9decca6c78..73536d57b38012394f037d0de748d87505831c35 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: mem.cc,v 1.106 2007/11/15 16:47:35 wessels Exp $
+ * $Id: mem.cc,v 1.106.4.1 2008/02/29 18:30:03 serassio Exp $
  *
  * DEBUG: section 13    High Level Memory Pool Management
  * AUTHOR: Harvest Derived
@@ -382,8 +382,6 @@ Mem::Init(void)
      * debug messages here at level 0 or 1 will always be printed
      * on stderr.
      */
-    debugs(13, 3, "Memory pools are '" << ((Config.onoff.mem_pools ? "on" : "off"))  << "'; limit: "<<
-            std::setprecision(3) << toMB(MemPools::GetInstance().idleLimit()) << " MB");
 
     /* set all pointers to null */
     memset(MemPools, '\0', sizeof(MemPools));
@@ -430,6 +428,15 @@ Mem::Init(void)
     }
 }
 
+void
+Mem::Report()
+{
+    debugs(13, 3, "Memory pools are '" <<
+        (Config.onoff.mem_pools ? "on" : "off")  << "'; limit: " <<
+        std::setprecision(3) << toMB(MemPools::GetInstance().idleLimit()) <<
+        " MB");
+}
+
 void
 Mem::RegisterWithCacheManager(CacheManager & manager)
 {
index dc44b48978343528b2ba8c996219790fd1476216..c60448294a008aa3783d018d42f179322c061ef9 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: mem_node.cc,v 1.10 2007/08/13 17:20:51 hno Exp $
+ * $Id: mem_node.cc,v 1.10.4.1 2008/02/29 18:30:03 serassio Exp $
  *
  * DEBUG: section 19    Store Memory Primitives
  * AUTHOR: Robert Collins
@@ -38,7 +38,6 @@
 
 static int makeMemNodeDataOffset();
 
-unsigned long mem_node::store_mem_size;
 static int _mem_node_data_offset = makeMemNodeDataOffset();
 
 /*
@@ -70,9 +69,7 @@ mem_node::mem_node(int64_t offset):nodeBuffer(0,offset,data)
 {}
 
 mem_node::~mem_node()
-{
-    store_mem_size -= nodeBuffer.length;
-}
+{}
 
 size_t
 mem_node::InUseCount()
@@ -80,6 +77,12 @@ mem_node::InUseCount()
     return Pool().inUseCount();
 }
 
+size_t
+mem_node::StoreMemSize()
+{
+    return InUseCount() * SM_PAGE_SIZE;
+}
+
 int64_t
 mem_node::start() const
 {
index 15a20c98e90461a288199473c2936154840646a9..75765994c7005227d7bd86a1b745f6e2b93da1ca 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: mem_node.h,v 1.10 2007/08/13 17:20:51 hno Exp $
+ * $Id: mem_node.h,v 1.10.4.1 2008/02/29 18:30:03 serassio Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -42,7 +42,7 @@ class mem_node
 
 public:
     static size_t InUseCount();
-    static unsigned long store_mem_size;       /* 0 */
+    static size_t StoreMemSize();
 
     MEMPROXY_CLASS(mem_node);
     mem_node(int64_t);
index b4e919eef842dfa9498031876b23c52837891995..9c083d5a93cf11e41178c28cabf45778474df744 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: neighbors.cc,v 1.350 2007/11/13 23:25:34 rousskov Exp $
+ * $Id: neighbors.cc,v 1.350.4.1 2008/02/29 18:30:03 serassio Exp $
  *
  * DEBUG: section 15    Neighbor Routines
  * AUTHOR: Harvest Derived
@@ -239,9 +239,8 @@ peerWouldBePinged(const peer * p, HttpRequest * request)
     if (squid_curtime - p->stats.last_query > Config.Timeout.deadPeer)
         return 1;
 
-    if (p->icp.port == echo_port)
-        if (!neighborUp(p))
-            return 0;
+    if (!neighborUp(p))
+        return 0;
 
     return 1;
 }
index 96ceead08a31a0d945ab1a85a2955dc734a8b3ad..de0d9f7ab7da1d7e33fb867ea9e4a7669bca6bc0 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: net_db.cc,v 1.198 2007/11/27 07:48:40 amosjeffries Exp $
+ * $Id: net_db.cc,v 1.198.4.1 2008/02/29 18:30:03 serassio Exp $
  *
  * DEBUG: section 38    Network Measurement Database
  * AUTHOR: Duane Wessels
@@ -72,7 +72,7 @@ typedef struct
     StoreEntry *e;
     store_client *sc;
     HttpRequest *r;
-    off_t used;
+    int64_t used;
     size_t buf_sz;
     char buf[NETDB_REQBUF_SZ];
     int buf_ofs;
@@ -678,7 +678,7 @@ netdbExchangeHandleReply(void *data, StoreIOBuffer receivedData)
 {
     netdbExchangeState *ex = (netdbExchangeState *)data;
     int rec_sz = 0;
-    off_t o;
+    int o;
 
     struct IN_ADDR addr;
     double rtt;
index 602a0162f15ac0cc842f99d204af5de8ca323c85..4be4631f01ecf2312fe918a7d45f578c3e750d24 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: peer_digest.cc,v 1.127 2007/08/27 12:50:43 hno Exp $
+ * $Id: peer_digest.cc,v 1.127.4.1 2008/02/29 18:30:03 serassio Exp $
  *
  * DEBUG: section 72    Peer Digest Routines
  * AUTHOR: Alex Rousskov
@@ -724,10 +724,10 @@ peerDigestSwapInMask(void *data, char *buf, ssize_t size)
 
     fetch->mask_offset += size;
 
-    if (fetch->mask_offset >= (off_t)pd->cd->mask_size) {
+    if (fetch->mask_offset >= pd->cd->mask_size) {
         debugs(72, 2, "peerDigestSwapInMask: Done! Got " <<
                fetch->mask_offset << ", expected " << pd->cd->mask_size);
-        assert(fetch->mask_offset == (off_t)pd->cd->mask_size);
+        assert(fetch->mask_offset == pd->cd->mask_size);
         assert(peerDigestFetchedEnough(fetch, NULL, 0, "peerDigestSwapInMask"));
         return -1;             /* XXX! */
     } else {
index d57bc55e8149ebd54fd706b48f6404ac6d1f15ae..762392fb47dd7bc29d77156e5553d66da015e6ba 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: snmp_agent.cc,v 1.96 2007/04/28 22:26:37 hno Exp $
+ * $Id: snmp_agent.cc,v 1.96.6.1 2008/02/29 18:30:04 serassio Exp $
  *
  * DEBUG: section 49    SNMP Interface
  * AUTHOR: Kostas Anagnostakis
@@ -57,7 +57,7 @@ snmp_sysFn(variable_list * Var, snint * ErrP)
 
     case SYSVMSIZ:
         Answer = snmp_var_new_integer(Var->name, Var->name_length,
-                                      mem_node::store_mem_size >> 10,
+                                      mem_node::StoreMemSize() >> 10,
                                       ASN_INTEGER);
         break;
 
index 2e006caccaccfff0d226ff66ea869376bd30b934..9485adf13e68c6683242cc39e195e9a32233f734 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: snmp_core.cc,v 1.79 2007/07/06 11:30:45 amosjeffries Exp $
+ * $Id: snmp_core.cc,v 1.79.6.1 2008/02/29 18:30:04 serassio Exp $
  *
  * DEBUG: section 49    SNMP support
  * AUTHOR: Glenn Chisholm
@@ -1106,7 +1106,7 @@ snmpDebugOid(int lvl, oid * Name, snint Len)
 
     for (x = 0; x < Len; x++) {
         snprintf(mbuf, sizeof(mbuf), ".%u", (unsigned int) Name[x]);
-        strncat(objid, mbuf, sizeof(objid));
+        strncat(objid, mbuf, sizeof(objid) - strlen(objid) - 1);
     }
 
     debugs(49, lvl, "   oid = " << objid);
index e8f928f7e45ef4e7077e7074952aca40cb706529..b63a557ce8fbc269a7dfb257086ce3983cc8ada1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $Id: stat.cc,v 1.410 2007/09/20 20:22:20 hno Exp $
+ * $Id: stat.cc,v 1.410.4.1 2008/02/29 18:30:04 serassio Exp $
  *
  * DEBUG: section 18    Cache Manager Statistics
  * AUTHOR: Harvest Derived
@@ -541,16 +541,16 @@ info_get(StoreEntry * sentry)
                       store_swap_size);
 
     storeAppendPrintf(sentry, "\tStorage Swap capacity:\t%4.1f%% used, %4.1f%% free\n",
-                      dpercent((int) store_swap_size, (int) Store::Root().maxSize()),  
-                      dpercent((int) (Store::Root().maxSize() - store_swap_size), (int) Store::Root().maxSize()));
+                      dpercent(store_swap_size, Store::Root().maxSize()),  
+                      dpercent((Store::Root().maxSize() - store_swap_size), Store::Root().maxSize()));
 
 
     storeAppendPrintf(sentry, "\tStorage Mem size:\t%d KB\n",
-                      (int) (mem_node::store_mem_size >> 10));
+                      mem_node::StoreMemSize() >> 10);
 
     storeAppendPrintf(sentry, "\tStorage Mem capacity:\t%4.1f%% used, %4.1f%% free\n",
                       dpercent(mem_node::InUseCount(), store_pages_max),
-                      dpercent(((double)store_pages_max - mem_node::InUseCount()), store_pages_max));
+                      dpercent((store_pages_max - mem_node::InUseCount()), store_pages_max));
 
     storeAppendPrintf(sentry, "\tMean Object Size:\t%0.2f KB\n",
                       n_disk_objects ? (double) store_swap_size / n_disk_objects : 0.0);
index e1837d97e1ca926d6f511cd269b7aac7f4fd3b6e..8b001ee2fd87f71c81084b954d510c1718204c3e 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: stmem.cc,v 1.92 2007/08/13 18:25:14 hno Exp $
+ * $Id: stmem.cc,v 1.92.4.1 2008/02/29 18:30:04 serassio Exp $
  *
  * DEBUG: section 19    Store Memory Primitives
  * AUTHOR: Harvest Derived
@@ -150,8 +150,6 @@ mem_hdr::writeAvailable(mem_node *aNode, int64_t location, size_t amount, char c
     /* Adjust the ptr and len according to what was deposited in the page */
     aNode->nodeBuffer.length += copyLen;
 
-    mem_node::store_mem_size += copyLen;
-
     return copyLen;
 }
 
index 3ba1c2c01175c956b5fc9635fb7b564dd9a5a946..e62d772038e65a4b5202036c4ca43e373638babe 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_client.cc,v 1.159 2007/08/27 12:50:43 hno Exp $
+ * $Id: store_client.cc,v 1.159.4.1 2008/02/29 18:30:04 serassio Exp $
  *
  * DEBUG: section 90    Storage Manager Client-Side Interface
  * AUTHOR: Duane Wessels
@@ -698,14 +698,6 @@ storeUnregister(store_client * sc, StoreEntry * e, void *data)
     return 1;
 }
 
-#if UNUSED_CODE_20070420
-off_t
-storeLowestMemReaderOffset(const StoreEntry * entry)
-{
-    return entry->mem_obj->lowestMemReaderOffset();
-}
-#endif
-
 /* Call handlers waiting for  data to be appended to E. */
 void
 StoreEntry::invokeHandlers()
index 21dba733b5144e594a08949e156a3e071200c448..e2017189593facdc285200006d41b2715a3dd4f5 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_digest.cc,v 1.76 2007/08/13 17:20:51 hno Exp $
+ * $Id: store_digest.cc,v 1.76.4.1 2008/02/29 18:30:04 serassio Exp $
  *
  * DEBUG: section 71    Store Digest Manager
  * AUTHOR: Alex Rousskov
@@ -466,7 +466,7 @@ storeDigestSwapOutStep(void *data)
     assert(e);
     /* _add_ check that nothing bad happened while we were waiting @?@ @?@ */
 
-    if ((size_t)(sd_state.rewrite_offset + chunk_size) > store_digest->mask_size)
+    if (sd_state.rewrite_offset + chunk_size > store_digest->mask_size)
         chunk_size = store_digest->mask_size - sd_state.rewrite_offset;
 
     e->append(store_digest->mask + sd_state.rewrite_offset, chunk_size);
@@ -478,7 +478,7 @@ storeDigestSwapOutStep(void *data)
     sd_state.rewrite_offset += chunk_size;
 
     /* are we done ? */
-    if ((size_t)sd_state.rewrite_offset >= store_digest->mask_size)
+    if (sd_state.rewrite_offset >= store_digest->mask_size)
         storeDigestRewriteFinish(e);
     else
         eventAdd("storeDigestSwapOutStep", storeDigestSwapOutStep, data, 0.0, 1, false);
index 5f8cca253217eecfb8401babf3510c74daad5b77..3a4a98683e82e9f136ea94abd4f71c1e9a16b0d2 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_swapmeta.cc,v 1.27 2007/11/15 16:47:35 wessels Exp $
+ * $Id: store_swapmeta.cc,v 1.27.4.1 2008/02/29 18:30:04 serassio Exp $
  *
  * DEBUG: section 20    Storage Manager Swapfile Metadata
  * AUTHOR: Kostas Anagnostakis
@@ -110,7 +110,7 @@ storeSwapMetaPack(tlv * tlv_list, int *length)
 {
     int buflen = 0;
     tlv *t;
-    off_t j = 0;
+    int j = 0;
     char *buf;
     assert(length != NULL);
     buflen++;                  /* STORE_META_OK */
index ce2a077bf36d0cf161010550ace3ff695bdc496d..fc7d3f24a6529da0a41e19030b848dcf5ec83815 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: structs.h,v 1.568 2007/12/02 08:23:56 amosjeffries Exp $
+ * $Id: structs.h,v 1.568.4.1 2008/02/29 18:30:04 serassio Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -774,26 +774,12 @@ struct _dread_ctrl
     void *client_data;
 };
 
-struct _dnsserver_t
-{
-    int id;
-    int inpipe;
-    int outpipe;
-    time_t answer;
-    off_t offset;
-    size_t size;
-    char ip_inbuf[DNS_INBUF_SZ];
-
-    struct timeval dispatch_time;
-    void *data;
-};
-
 struct _dwrite_q
 {
     off_t file_offset;
     char *buf;
-    int len;
-    off_t buf_offset;
+    size_t len;
+    size_t buf_offset;
     dwrite_q *next;
     FREE *free_func;
 };
@@ -1637,7 +1623,7 @@ struct _CacheDigest
 {
     /* public, read-only */
     char *mask;                        /* bit mask */
-    size_t mask_size;          /* mask size in bytes */
+    int mask_size;             /* mask size in bytes */
     int capacity;              /* expected maximum for .count, not a hard limit */
     int bits_per_entry;                /* number of bits allocated for each entry from capacity */
     int count;                 /* number of digested entries */
@@ -1665,7 +1651,7 @@ struct _Logfile
     char path[MAXPATHLEN];
     char *buf;
     size_t bufsz;
-    off_t offset;
+    size_t offset;
 
     struct
     {
index cd8a98c7f04f351393a4d2e5e32131ba50e2813a..4d9dd0f9517cf8cb702e19281074f4a895688975 100644 (file)
@@ -225,6 +225,11 @@ testUfs::testUfsDefaultEngine()
     if (0 > system ("rm -rf " TESTDIR))
         throw std::runtime_error("Failed to clean test work directory");
 
+    // This assertion may fail if previous test cases fail.
+    // Apparently, CPPUNIT_ASSERT* failure may prevent destructors of local
+    // objects such as "StorePointer aRoot" from being called.
+    CPPUNIT_ASSERT(!store_table); // or StoreHashIndex ctor will abort below
+
     StorePointer aRoot (new StoreController);
     Store::Root(aRoot);
     SwapDirPointer aStore (new UFSSwapDir("ufs", "Blocking"));
index 2246ba0ba6071b22b013653e8a5362dd340e6e75..c6e9fea0a9a2194114c07defaa8ccd05024a6329 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: typedefs.h,v 1.190 2007/05/09 07:45:58 wessels Exp $
+ * $Id: typedefs.h,v 1.190.6.1 2008/02/29 18:30:04 serassio Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -98,8 +98,6 @@ typedef struct _close_handler close_handler;
 
 typedef struct _dread_ctrl dread_ctrl;
 
-typedef struct _dnsserver_t dnsserver_t;
-
 typedef struct _dwrite_q dwrite_q;
 
 typedef struct _ETag ETag;
index 82033fbae265c27ee15637dc50e71b090e2c09d7..cf41d1169945d38d9e187a4ce7567e4dc2aee862 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: wccp2.cc,v 1.19.4.1 2008/02/24 12:41:29 serassio Exp $
+ * $Id: wccp2.cc,v 1.19.4.2 2008/02/29 18:30:04 serassio Exp $
  *
  * DEBUG: section 80    WCCP Support
  * AUTHOR: Steven Wilton
@@ -443,6 +443,7 @@ int empty_portlist[WCCP2_NUMPORTS] =
 /* END WCCP V2 */
 void wccp2_add_service_list(int service, int service_id, int service_priority,
                             int service_proto, int service_flags, int ports[], int security_type, char *password);
+static void wccp2SortCacheList(struct wccp2_cache_list_t *head);
 
 /*
  * The functions used during startup:
@@ -1476,6 +1477,8 @@ wccp2HandleUdp(int sock, void *not_used)
         num_caches = 1;
     }
 
+    wccp2SortCacheList(&router_list_ptr->cache_list_head);
+
     router_list_ptr->num_caches = htonl(num_caches);
 
     if ((found == 1) && (service_list_ptr->lowest_ip == 1)) {
@@ -2375,6 +2378,41 @@ dump_wccp2_service_info(StoreEntry * e, const char *label, void *v)
     }
 }
 
+/* Sort the cache list by doing a "selection sort" by IP address */
+static void
+wccp2SortCacheList(struct wccp2_cache_list_t *head)
+{
+    struct wccp2_cache_list_t tmp;
+    struct wccp2_cache_list_t *this_item;
+    struct wccp2_cache_list_t *find_item;
+    struct wccp2_cache_list_t *next_lowest;
+
+    /* Go through each position in the list one at a time */
+    for (this_item = head; this_item->next; this_item = this_item->next) {
+       /* Find the item with the lowest IP */
+       next_lowest = this_item;
+
+       for (find_item = this_item; find_item->next; find_item = find_item->next) {
+           if (find_item->cache_ip.s_addr < next_lowest->cache_ip.s_addr) {
+               next_lowest = find_item;
+           }
+       }
+       /* Swap if we need to */
+       if (next_lowest != this_item) {
+           /* First make a copy of the current item */
+           memcpy(&tmp, this_item, sizeof(struct wccp2_cache_list_t));
+
+           /* Next update the pointers to maintain the linked list */
+           tmp.next = next_lowest->next;
+           next_lowest->next = this_item->next;
+
+           /* Finally copy the updated items to their correct location */
+           memcpy(this_item, next_lowest, sizeof(struct wccp2_cache_list_t));
+           memcpy(next_lowest, &tmp, sizeof(struct wccp2_cache_list_t));
+       }
+    }
+}
+
 void
 free_wccp2_service_info(void *v)
 {}