diff -u -r -N squid-3.2.0.15/ChangeLog squid-3.2.0.16/ChangeLog --- squid-3.2.0.15/ChangeLog 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/ChangeLog 2012-03-07 15:42:55.000000000 +1300 @@ -1,3 +1,21 @@ +Changes to squid-3.2.0.16 (07 Mar 2011): + + - Bug 3508: Correct DNS timeout handling. + - Bug 3503: DNS PTR queries timeout due to wrong QIDs. + - Bug 3497: Bad ssl_crtd db size file causes infinite loop + - Bug 3490: part 1: SegFault opening FTP active data connections + - Bug 3490: Crash writing Apache Common and Referer/Useragent logs + - Bug 3458: Icon Serving (squid-internal-static) Broken + - Bug 3457: Display TLS error details in ERR_SECURE_CONNECT_FAIL + - Bug 3381: 32-bit overflow assertion in StatHist + - Bug 3324: loadFromFile: parse error while reading template file + - Support sslpassword_program for ssl-bump HTTP ports + - Support CoAP protocol coap:// and coaps:// URL schemes in HTTP requests + - Retry requests that failed due to a persistent connection race + - Log '-' on requests with no Referer or User-Agent headers + - ... and several fixes related to in-transit object performance + - ... and some structural design changes for portability + Changes to squid-3.2.0.15 (06 Feb 2011): - Bug 3472: segfault with the message 'urlParse: URL too large' diff -u -r -N squid-3.2.0.15/configure squid-3.2.0.16/configure --- squid-3.2.0.15/configure 2012-02-06 05:01:03.000000000 +1300 +++ squid-3.2.0.16/configure 2012-03-07 15:47:32.000000000 +1300 @@ -1,7 +1,7 @@ #! /bin/sh # From configure.ac Revision. # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for Squid Web Proxy 3.2.0.15. +# Generated by GNU Autoconf 2.68 for Squid Web Proxy 3.2.0.16. # # Report bugs to . # @@ -575,8 +575,8 @@ # Identity of this package. PACKAGE_NAME='Squid Web Proxy' PACKAGE_TARNAME='squid' -PACKAGE_VERSION='3.2.0.15' -PACKAGE_STRING='Squid Web Proxy 3.2.0.15' +PACKAGE_VERSION='3.2.0.16' +PACKAGE_STRING='Squid Web Proxy 3.2.0.16' PACKAGE_BUGREPORT='http://www.squid-cache.org/bugs/' PACKAGE_URL='' @@ -1570,7 +1570,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Squid Web Proxy 3.2.0.15 to adapt to many kinds of systems. +\`configure' configures Squid Web Proxy 3.2.0.16 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1640,7 +1640,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Squid Web Proxy 3.2.0.15:";; + short | recursive ) echo "Configuration of Squid Web Proxy 3.2.0.16:";; esac cat <<\_ACEOF @@ -2018,7 +2018,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Squid Web Proxy configure 3.2.0.15 +Squid Web Proxy configure 3.2.0.16 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. @@ -3114,7 +3114,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Squid Web Proxy $as_me 3.2.0.15, which was +It was created by Squid Web Proxy $as_me 3.2.0.16, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -3933,7 +3933,7 @@ # Define the identity of the package. PACKAGE='squid' - VERSION='3.2.0.15' + VERSION='3.2.0.16' cat >>confdefs.h <<_ACEOF @@ -30632,7 +30632,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Squid Web Proxy $as_me 3.2.0.15, which was +This file was extended by Squid Web Proxy $as_me 3.2.0.16, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -30698,7 +30698,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -Squid Web Proxy config.status 3.2.0.15 +Squid Web Proxy config.status 3.2.0.16 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" diff -u -r -N squid-3.2.0.15/configure.ac squid-3.2.0.16/configure.ac --- squid-3.2.0.15/configure.ac 2012-02-06 05:00:59.000000000 +1300 +++ squid-3.2.0.16/configure.ac 2012-03-07 15:47:31.000000000 +1300 @@ -3,7 +3,7 @@ dnl dnl dnl -AC_INIT([Squid Web Proxy],[3.2.0.15],[http://www.squid-cache.org/bugs/],[squid]) +AC_INIT([Squid Web Proxy],[3.2.0.16],[http://www.squid-cache.org/bugs/],[squid]) AC_PREREQ(2.61) AC_CONFIG_HEADERS([include/autoconf.h]) AC_CONFIG_AUX_DIR(cfgaux) diff -u -r -N squid-3.2.0.15/doc/debug-sections.txt squid-3.2.0.16/doc/debug-sections.txt --- squid-3.2.0.15/doc/debug-sections.txt 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/doc/debug-sections.txt 2012-03-07 15:42:55.000000000 +1300 @@ -17,6 +17,7 @@ section 03 Configuration Settings section 04 Error Generation section 05 Comm +section 05 Disk I/O pipe manager section 05 Listener Socket Handler section 05 Socket Connection Opener section 05 Socket Functions diff -u -r -N squid-3.2.0.15/errors/af/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/af/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/af/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/af/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 15:52:33.000000000 +1300 @@ -0,0 +1 @@ + FOUT: Die aangevraagde URL kon nie verkry word nie

ERROR

The requested URL could not be retrieved


Die volgende fout is teëgekom tydens verkryging van die URL: %U

Tydkwota oorskry.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Die kasbediener se administrateur is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/af/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/af/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/af/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:10:42.000000000 +1300 +++ squid-3.2.0.16/errors/af/ERR_SECURE_CONNECT_FAIL 2012-03-07 15:53:43.000000000 +1300 @@ -1 +1 @@ - FOUT: Die aangevraagde URL kon nie verkry word nie

ERROR

The requested URL could not be retrieved


Die volgende fout is teëgekom tydens verkryging van die URL: %U

Kon nie 'n beveiligde verbinding skep na %I nie

Die stelsel het die volgende teruggestuur: %E

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.

Die kasbediener se administrateur is %w.



\ No newline at end of file + FOUT: Die aangevraagde URL kon nie verkry word nie

ERROR

The requested URL could not be retrieved


Die volgende fout is teëgekom tydens verkryging van die URL: %U

Kon nie 'n beveiligde verbinding skep na %I nie

The system returned:

%E (TLS code: %x)

%D

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.

Die kasbediener se administrateur is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/ar/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/ar/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/ar/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/ar/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 15:53:58.000000000 +1300 @@ -0,0 +1 @@ + خطأ: The requested URL could not be retrieved

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/ar/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/ar/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/ar/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:12:13.000000000 +1300 +++ squid-3.2.0.16/errors/ar/ERR_SECURE_CONNECT_FAIL 2012-03-07 15:54:47.000000000 +1300 @@ -1 +1 @@ - خطأ: The requested URL could not be retrieved

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

The system returned: %E

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.

Your cache administrator is %w.



\ No newline at end of file + خطأ: The requested URL could not be retrieved

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

The system returned:

%E (TLS code: %x)

%D

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.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/az/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/az/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/az/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/az/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 15:55:08.000000000 +1300 @@ -0,0 +1 @@ + SƏHV: Sorğulanan URL ilə əlaqə yaradılmadı

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/az/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/az/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/az/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:13:39.000000000 +1300 +++ squid-3.2.0.16/errors/az/ERR_SECURE_CONNECT_FAIL 2012-03-07 15:55:57.000000000 +1300 @@ -1 +1 @@ - SƏHV: Sorğulanan URL ilə əlaqə yaradılmadı

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

Sistemdən gələn cavab: %E

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.

Your cache administrator is %w.



\ No newline at end of file + SƏHV: Sorğulanan URL ilə əlaqə yaradılmadı

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

The system returned:

%E (TLS code: %x)

%D

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.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/bg/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/bg/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/bg/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/bg/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 15:56:19.000000000 +1300 @@ -0,0 +1 @@ + ГРЕШКА: Заявеният адрес е недостъпен.

ERROR

The requested URL could not be retrieved


Възникна следната грешка при опит за достъп до: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

Тези ограничения са поставени от Интернет доставчика, който администрира този кеш сървър. Ако считате това за неправилно, моля обърнете се към администратора.

Вашият кеш администратор е %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/bg/ERR_GATEWAY_FAILURE squid-3.2.0.16/errors/bg/ERR_GATEWAY_FAILURE --- squid-3.2.0.15/errors/bg/ERR_GATEWAY_FAILURE 2012-02-06 05:14:43.000000000 +1300 +++ squid-3.2.0.16/errors/bg/ERR_GATEWAY_FAILURE 2012-03-07 15:57:42.000000000 +1300 @@ -1 +1 @@ - ГРЕШКА: Заявеният адрес е недостъпен.

ERROR

The requested URL could not be retrieved


Възникна следната грешка при опит за достъп до: %U

Gateway Proxy Failure

A non-recoverable internal failure or configuration problem prevents this request from being completed.

This may be due to limits established by the Internet Service Provider who operates this cache. Please contact them directly for more information.

Вашият кеш администратор е %w.



\ No newline at end of file + ГРЕШКА: Заявеният адрес е недостъпен.

ERROR

The requested URL could not be retrieved


Възникна следната грешка при опит за достъп до: %U

Gateway Proxy Failure

Непоправима софтуерна грешка или проблем в конфигурацията не позволява тази заявка да бъде завършена.

This may be due to limits established by the Internet Service Provider who operates this cache. Please contact them directly for more information.

Вашият кеш администратор е %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/bg/ERR_PRECONDITION_FAILED squid-3.2.0.16/errors/bg/ERR_PRECONDITION_FAILED --- squid-3.2.0.15/errors/bg/ERR_PRECONDITION_FAILED 2012-02-06 05:14:59.000000000 +1300 +++ squid-3.2.0.16/errors/bg/ERR_PRECONDITION_FAILED 2012-03-07 15:58:06.000000000 +1300 @@ -1 +1 @@ - ГРЕШКА: Заявеният адрес е недостъпен.

ERROR

The requested URL could not be retrieved


Възникна следната грешка при опит за достъп до: %U

Precondition Failed.

This means:

At least one precondition specified by the HTTP client in the request header has failed.



\ No newline at end of file + ГРЕШКА: Заявеният адрес е недостъпен.

ERROR

The requested URL could not be retrieved


Възникна следната грешка при опит за достъп до: %U

Precondition Failed.

This means:

Поне едно необходимо условие, указано от клиента в хедъра на заявката, не е изпълнено.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/bg/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/bg/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/bg/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:15:20.000000000 +1300 +++ squid-3.2.0.16/errors/bg/ERR_SECURE_CONNECT_FAIL 2012-03-07 15:58:12.000000000 +1300 @@ -1 +1 @@ - ГРЕШКА: Заявеният адрес е недостъпен.

ERROR

The requested URL could not be retrieved


Възникна следната грешка при опит за достъп до: %U

Неуспешен опит за осъществяване на криптирана връзка към %l

Операционната система даде следното съобщение: %E

Proxy сървърът и отсрещният web сървър не могат да договорят взаимно приемливи параметри за осъществяване на връзката. Възможно е отсрещният web сървър да не приема криптирани връзки, или proxy сървърът да не приема за достатъчно нивото на сигурност на web сървъра.

Вашият кеш администратор е %w.



\ No newline at end of file + ГРЕШКА: Заявеният адрес е недостъпен.

ERROR

The requested URL could not be retrieved


Възникна следната грешка при опит за достъп до: %U

Неуспешен опит за осъществяване на криптирана връзка към %l

The system returned:

%E (TLS code: %x)

%D

Proxy сървърът и отсрещният web сървър не могат да договорят взаимно приемливи параметри за осъществяване на връзката. Възможно е отсрещният web сървър да не приема криптирани връзки, или proxy сървърът да не приема за достатъчно нивото на сигурност на web сървъра.

Вашият кеш администратор е %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/ca/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/ca/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/ca/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/ca/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 15:58:33.000000000 +1300 @@ -0,0 +1 @@ + ERROR: No es pot mostrar la URL que heu sol.licitat

ERROR

No es pot mostrar la URL que heu sol.licitat


The following error was encountered while trying to retrieve the URL: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

L'administrador d'aquesta cache és %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/ca/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/ca/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/ca/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:17:30.000000000 +1300 +++ squid-3.2.0.16/errors/ca/ERR_SECURE_CONNECT_FAIL 2012-03-07 15:59:38.000000000 +1300 @@ -1 +1 @@ - ERROR: No es pot mostrar la URL que heu sol.licitat

ERROR

No es pot mostrar la URL que heu sol.licitat


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

El sistema diu: %E

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.

L'administrador d'aquesta cache és %w.



\ No newline at end of file + ERROR: No es pot mostrar la URL que heu sol.licitat

ERROR

No es pot mostrar la URL que heu sol.licitat


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

The system returned:

%E (TLS code: %x)

%D

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.

L'administrador d'aquesta cache és %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/cs/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/cs/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/cs/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/cs/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:00:08.000000000 +1300 @@ -0,0 +1 @@ + CHYBA: Požadovaný dokument je nedostupný

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/cs/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/cs/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/cs/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:18:40.000000000 +1300 +++ squid-3.2.0.16/errors/cs/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:01:50.000000000 +1300 @@ -1 +1 @@ - CHYBA: Požadovaný dokument je nedostupný

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Selhalo vytvoření zabezpečeného připojení k %I

Vzdálený systém odpověděl: %E

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.

Your cache administrator is %w.



\ No newline at end of file + CHYBA: Požadovaný dokument je nedostupný

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Selhalo vytvoření zabezpečeného připojení k %I

The system returned:

%E (TLS code: %x)

%D

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.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/da/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/da/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/da/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/da/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:02:41.000000000 +1300 @@ -0,0 +1 @@ + FEJL: Den angivne URL kunne ikke hentes

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/da/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/da/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/da/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:19:41.000000000 +1300 +++ squid-3.2.0.16/errors/da/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:04:15.000000000 +1300 @@ -1 +1 @@ - FEJL: Den angivne URL kunne ikke hentes

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

Systemet returnerede: %E

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.

Your cache administrator is %w.



\ No newline at end of file + FEJL: Den angivne URL kunne ikke hentes

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

The system returned:

%E (TLS code: %x)

%D

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.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/de/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/de/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/de/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/de/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:04:32.000000000 +1300 @@ -0,0 +1 @@ + FEHLER: Die angeforderte URL konnte nicht gefunden werden

ERROR

The requested URL could not be retrieved


Der folgende Fehler wurde beim Versuch die URL %U zu holen festgestellt:

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

Diese Einschränkungen wurden vom Internetdienstanbieter eingerichtet der diesen Cache betreibt. Bitte kontaktieren sie ihn falls sie denken, dass dies ein Fehler ist.

Ihr Cache Administrator ist %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/de/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/de/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/de/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:20:45.000000000 +1300 +++ squid-3.2.0.16/errors/de/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:05:29.000000000 +1300 @@ -1 +1 @@ - FEHLER: Die angeforderte URL konnte nicht gefunden werden

ERROR

The requested URL could not be retrieved


Der folgende Fehler wurde beim Versuch die URL %U zu holen festgestellt:

Konnte keine sichere Verbindung zu %I herstellen

Das System antwortete: %E

Dieser Proxy und der Zielhost waren nicht in der Lage Sicherheitseinstellungen auszuhandeln die beidseitig akzeptiert werden. Es ist möglich dass der Zielhost keine sicheren Verbindungen unterstützte oder der Proxy nicht mit dem Sicherheitszertifikat des Hosts einverstanden ist.

Ihr Cache Administrator ist %w.



\ No newline at end of file + FEHLER: Die angeforderte URL konnte nicht gefunden werden

ERROR

The requested URL could not be retrieved


Der folgende Fehler wurde beim Versuch die URL %U zu holen festgestellt:

Konnte keine sichere Verbindung zu %I herstellen

The system returned:

%E (TLS code: %x)

%D

Dieser Proxy und der Zielhost waren nicht in der Lage Sicherheitseinstellungen auszuhandeln die beidseitig akzeptiert werden. Es ist möglich dass der Zielhost keine sicheren Verbindungen unterstützte oder der Proxy nicht mit dem Sicherheitszertifikat des Hosts einverstanden ist.

Ihr Cache Administrator ist %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/el/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/el/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/el/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/el/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:05:46.000000000 +1300 @@ -0,0 +1 @@ + ΣΦΑΛΜΑ: The requested URL could not be retrieved

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Ο διαχειριστής του μεσολαβητή σας είναι ο %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/el/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/el/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/el/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:21:53.000000000 +1300 +++ squid-3.2.0.16/errors/el/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:07:05.000000000 +1300 @@ -1 +1 @@ - ΣΦΑΛΜΑ: The requested URL could not be retrieved

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

Το σύστημα ενημέρωσε ότι: %E

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.

Ο διαχειριστής του μεσολαβητή σας είναι ο %w.



\ No newline at end of file + ΣΦΑΛΜΑ: The requested URL could not be retrieved

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

The system returned:

%E (TLS code: %x)

%D

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.

Ο διαχειριστής του μεσολαβητή σας είναι ο %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/en/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/en/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/en/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/en/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:07:21.000000000 +1300 @@ -0,0 +1 @@ + ERROR: The requested URL could not be retrieved

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/en/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/en/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/en/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:22:55.000000000 +1300 +++ squid-3.2.0.16/errors/en/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:08:07.000000000 +1300 @@ -1 +1 @@ - ERROR: The requested URL could not be retrieved

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

The system returned: %E

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.

Your cache administrator is %w.



\ No newline at end of file + ERROR: The requested URL could not be retrieved

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

The system returned:

%E (TLS code: %x)

%D

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.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/es/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/es/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/es/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/es/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:08:22.000000000 +1300 @@ -0,0 +1 @@ + ERROR: El URL solicitado no se ha podido conseguir

ERROR

El URL solicitado no se ha podido conseguir


Se encontró el siguiente error al intentar recuperar la dirección URL: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

Estos límites han sido establecidos por el proveedor de servicios de Internet que opera este caché. Por favor, comuníquese con ellos directamente si cree que esto es un error

Su administrador del caché es %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/es/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/es/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/es/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:23:56.000000000 +1300 +++ squid-3.2.0.16/errors/es/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:09:07.000000000 +1300 @@ -1 +1 @@ - ERROR: El URL solicitado no se ha podido conseguir

ERROR

El URL solicitado no se ha podido conseguir


Se encontró el siguiente error al intentar recuperar la dirección URL: %U

No se ha podido establecer una conexión segura con %I

El sistema ha devuelto: %E

Este proxy y el host remoto no han podido negociar una confguración de seguridad aceptable mutua para manejar su solicitud. Es posible que el host remoto sea incompatible con conexiones seguras, o el proxy no esté satisfecho con las credenciales de seguridad del host.

Su administrador del caché es %w.



\ No newline at end of file + ERROR: El URL solicitado no se ha podido conseguir

ERROR

El URL solicitado no se ha podido conseguir


Se encontró el siguiente error al intentar recuperar la dirección URL: %U

No se ha podido establecer una conexión segura con %I

The system returned:

%E (TLS code: %x)

%D

Este proxy y el host remoto no han podido negociar una confguración de seguridad aceptable mutua para manejar su solicitud. Es posible que el host remoto sea incompatible con conexiones seguras, o el proxy no esté satisfecho con las credenciales de seguridad del host.

Su administrador del caché es %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/et/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/et/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/et/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/et/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:09:22.000000000 +1300 @@ -0,0 +1 @@ + VIGA: Päring URLile ei saa vastust

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Teie teenusepakkuja aadress on %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/et/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/et/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/et/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:24:57.000000000 +1300 +++ squid-3.2.0.16/errors/et/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:10:13.000000000 +1300 @@ -1 +1 @@ - VIGA: Päring URLile ei saa vastust

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

Süsteem vastas: %E

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.

Teie teenusepakkuja aadress on %w.



\ No newline at end of file + VIGA: Päring URLile ei saa vastust

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

The system returned:

%E (TLS code: %x)

%D

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.

Teie teenusepakkuja aadress on %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/fa/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/fa/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/fa/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/fa/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:10:29.000000000 +1300 @@ -0,0 +1 @@ + خطا: The requested URL could not be retrieved

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/fa/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/fa/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/fa/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:26:00.000000000 +1300 +++ squid-3.2.0.16/errors/fa/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:11:18.000000000 +1300 @@ -1 +1 @@ - خطا: The requested URL could not be retrieved

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

ایجاد یک ارتباط امن به I% با عدم موفقیت همراه بود.

The system returned: %E

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.

Your cache administrator is %w.



\ No newline at end of file + خطا: The requested URL could not be retrieved

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

ایجاد یک ارتباط امن به I% با عدم موفقیت همراه بود.

The system returned:

%E (TLS code: %x)

%D

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.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/fi/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/fi/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/fi/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/fi/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:11:35.000000000 +1300 @@ -0,0 +1 @@ + VIRHE: Pyydettyä URL-osoitetta ei voitu hakea

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/fi/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/fi/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/fi/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:27:08.000000000 +1300 +++ squid-3.2.0.16/errors/fi/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:12:29.000000000 +1300 @@ -1 +1 @@ - VIRHE: Pyydettyä URL-osoitetta ei voitu hakea

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

Järjestelmä palautti viestin:%E

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.

Your cache administrator is %w.



\ No newline at end of file + VIRHE: Pyydettyä URL-osoitetta ei voitu hakea

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

The system returned:

%E (TLS code: %x)

%D

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.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/fr/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/fr/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/fr/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/fr/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:12:48.000000000 +1300 @@ -0,0 +1 @@ + ERREUR: L'URL demandée n'a pas pu être trouvé

ERROR

The requested URL could not be retrieved


L'erreur suivante s'est produite en essayant d'accéder à l'URL : %U

Le temps de connexion de votre quota est dépassé.

Ce proxy utilise un quota qui limite le temps de connexion. Le crédit de votre quota est actuellement vide, mais il sera de nouveau crédité lorsque vous allez redémarrer le proxy.

Ces limites ont été fixées par le Fournisseur d'Accès Internet et agissent sur ce proxy. Si vous pensez que c'est une erreur, contactez le fournisseur d'accès.

Votre administrateur proxy est %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/fr/ERR_CACHE_MGR_ACCESS_DENIED squid-3.2.0.16/errors/fr/ERR_CACHE_MGR_ACCESS_DENIED --- squid-3.2.0.15/errors/fr/ERR_CACHE_MGR_ACCESS_DENIED 2012-02-06 05:27:28.000000000 +1300 +++ squid-3.2.0.16/errors/fr/ERR_CACHE_MGR_ACCESS_DENIED 2012-03-07 16:12:56.000000000 +1300 @@ -1 +1 @@ - ERREUR: Cache Manager Access Denied

ERROR

Cache Manager Accès interdit.


L'erreur suivante s'est produite en essayant d'accéder à l'URL : %U

Accès au Gestionnaire de Cache Interdit.

Désolé, vous n'êtes pas autorisé à demander la requête %U au travers du gestionnaire de cache tant que vous ne serez pas identifié.

S'il vous plait, contacter l'administrateur du proxy si vous avez des difficultés pour vous authentifier ou si vous êtes administrateur, lisez la documentation Squid de l'interface du gestionnaire de cache, vérifiez aussi les fichiers logs du gestionnaire cache pour analyser en détails les messages d'erreurs.



\ No newline at end of file + ERREUR: Cache Manager Access Denied

ERROR

Cache Manager Accès interdit.


L'erreur suivante s'est produite en essayant d'accéder à l'URL : %U

Accès au Gestionnaire de Cache Interdit.

Désolé, vous n'êtes pas autorisé à demander la requête %U au travers du gestionnaire de cache tant que vous ne serez pas identifié.

S'il vous plait, contacter l'administrateur du proxy si vous avez des difficultés pour vous authentifier ou si vous êtes administrateur, lisez la documentation Squid sur l'interface du gestionnaire du cache, vérifiez aussi les fichiers logs du cache pour analyser en détails les messages d'erreurs.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/fr/ERR_DIR_LISTING squid-3.2.0.16/errors/fr/ERR_DIR_LISTING --- squid-3.2.0.15/errors/fr/ERR_DIR_LISTING 2012-02-06 05:27:34.000000000 +1300 +++ squid-3.2.0.16/errors/fr/ERR_DIR_LISTING 2012-03-07 16:13:03.000000000 +1300 @@ -1 +1 @@ - Répertoire : %U

Répertoire : %U/


Contenu du Répertoire :

%z
%g
Répertoire Parent (Répertoire Racine)

\ No newline at end of file + Répertoire : %U

Répertoire : %U/


Contenu du répertoire :

%z
%g
Répertoire Parent (Répertoire Racine)

\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/fr/ERR_ESI squid-3.2.0.16/errors/fr/ERR_ESI --- squid-3.2.0.15/errors/fr/ERR_ESI 2012-02-06 05:27:37.000000000 +1300 +++ squid-3.2.0.16/errors/fr/ERR_ESI 2012-03-07 16:13:07.000000000 +1300 @@ -1 +1 @@ - ERREUR: L'URL demandée n'a pas pu être trouvé

ERROR

The requested URL could not be retrieved


L'erreur suivante s'est produite en essayant d'accéder à l'URL : %U

Le traitement ESI a échoué.

Le processeur ESI a répondu :

%Z

Cela signifie que le substitut n'a pas été capable de traiter le modèle ESI. Veuillez reporter cette erreur au webmaster.

Votre webmaster est %w.



\ No newline at end of file + ERREUR: L'URL demandée n'a pas pu être trouvé

ERROR

The requested URL could not be retrieved


L'erreur suivante s'est produite en essayant d'accéder à l'URL : %U

Le traitement ESI a échoué.

Le processus ESI a répondu :

%Z

Cela signifie que le substitut n'a pas été capable de traiter le modèle ESI. Veuillez reporter cette erreur au webmaster.

Votre webmaster est %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/fr/ERR_FTP_PUT_CREATED squid-3.2.0.16/errors/fr/ERR_FTP_PUT_CREATED --- squid-3.2.0.15/errors/fr/ERR_FTP_PUT_CREATED 2012-02-06 05:27:47.000000000 +1300 +++ squid-3.2.0.16/errors/fr/ERR_FTP_PUT_CREATED 2012-03-07 16:13:17.000000000 +1300 @@ -1 +1 @@ - FTP avec PUT, envoi du fichier réussi.

Opération réussie

Le fichier a été créé




\ No newline at end of file + FTP avec PUT, l'envoi du fichier a réussi.

Opération réussie

Le fichier a été créé




\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/fr/ERR_FTP_PUT_MODIFIED squid-3.2.0.16/errors/fr/ERR_FTP_PUT_MODIFIED --- squid-3.2.0.15/errors/fr/ERR_FTP_PUT_MODIFIED 2012-02-06 05:27:50.000000000 +1300 +++ squid-3.2.0.16/errors/fr/ERR_FTP_PUT_MODIFIED 2012-03-07 16:13:20.000000000 +1300 @@ -1 +1 @@ - FTP avec PUT, envoi du fichier réussi.

Opération réussie

Le fichier a été mis à jour




\ No newline at end of file + FTP avec PUT, l'envoi du fichier a réussi.

Opération réussie

Le fichier a été mis à jour




\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/fr/ERR_INVALID_URL squid-3.2.0.16/errors/fr/ERR_INVALID_URL --- squid-3.2.0.15/errors/fr/ERR_INVALID_URL 2012-02-06 05:27:59.000000000 +1300 +++ squid-3.2.0.16/errors/fr/ERR_INVALID_URL 2012-03-07 16:13:31.000000000 +1300 @@ -1 +1 @@ - ERREUR: L'URL demandée n'a pas pu être trouvé

ERROR

The requested URL could not be retrieved


L'erreur suivante s'est produite en essayant d'accéder à l'URL : %U

URL invalide

Quelque chose dans l'adresse URL est incorrect.

Problèmes possibles :

Votre administrateur proxy est %w.



\ No newline at end of file + ERREUR: L'URL demandée n'a pas pu être trouvé

ERROR

The requested URL could not be retrieved


L'erreur suivante s'est produite en essayant d'accéder à l'URL : %U

URL invalide

Quelque chose dans l'adresse URL est incorrect.

Problèmes possibles :

Votre administrateur proxy est %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/fr/ERR_NO_RELAY squid-3.2.0.16/errors/fr/ERR_NO_RELAY --- squid-3.2.0.15/errors/fr/ERR_NO_RELAY 2012-02-06 05:28:03.000000000 +1300 +++ squid-3.2.0.16/errors/fr/ERR_NO_RELAY 2012-03-07 16:13:34.000000000 +1300 @@ -1 +1 @@ - ERREUR: L'URL demandée n'a pas pu être trouvé

ERROR

The requested URL could not be retrieved


L'erreur suivante s'est produite en essayant d'accéder à l'URL : %U

Aucun relais WAIS

Sur ce proxy il n'y a pas d'hôte définie pour le relais WAIS! Adressez-vous à votre administrateur.

Votre administrateur proxy est %w.



\ No newline at end of file + ERREUR: L'URL demandée n'a pas pu être trouvé

ERROR

The requested URL could not be retrieved


L'erreur suivante s'est produite en essayant d'accéder à l'URL : %U

Aucun relais WAIS

Sur ce proxy il n'y a pas d'hôte définie pour le relais WAIS ! Adressez-vous à votre administrateur.

Votre administrateur proxy est %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/fr/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/fr/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/fr/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:28:11.000000000 +1300 +++ squid-3.2.0.16/errors/fr/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:13:43.000000000 +1300 @@ -1 +1 @@ - ERREUR: L'URL demandée n'a pas pu être trouvé

ERROR

The requested URL could not be retrieved


L'erreur suivante s'est produite en essayant d'accéder à l'URL : %U

Il n'a pas été possible d'établir une connexion sécurisée vers %I

Le système a retourné : %E

Ce proxy et l'hôte distant n'ont pas pu négocier mutuellement une connexion sécurisée pour le traitement de votre requête. Il est possible que l'hôte distant ne supporte pas les connexions sécurisées, ou que le proxy n'est pas satisfait du certificat de sécurité de l'hôte distant.

Votre administrateur proxy est %w.



\ No newline at end of file + ERREUR: L'URL demandée n'a pas pu être trouvé

ERROR

The requested URL could not be retrieved


L'erreur suivante s'est produite en essayant d'accéder à l'URL : %U

Il n'a pas été possible d'établir une connexion sécurisée avec %I

The system returned:

%E (TLS code: %x)

%D

Ce proxy et l'hôte distant n'ont pas pu négocier mutuellement une connexion sécurisée pour le traitement de votre requête. Il est possible que l'hôte distant ne supporte pas les connexions sécurisées, ou que le proxy n'est pas satisfait du certificat de sécurité de l'hôte distant.

Votre administrateur proxy est %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/fr/ERR_TOO_BIG squid-3.2.0.16/errors/fr/ERR_TOO_BIG --- squid-3.2.0.15/errors/fr/ERR_TOO_BIG 2012-02-06 05:28:16.000000000 +1300 +++ squid-3.2.0.16/errors/fr/ERR_TOO_BIG 2012-03-07 16:13:51.000000000 +1300 @@ -1 +1 @@ - ERREUR: L'URL demandée n'a pas pu être trouvé

ERROR

The requested URL could not be retrieved


L'erreur suivante s'est produite en essayant d'accéder à l'URL : %U

La requête ou la réponse est trop volumineuse.

Si vous effectuez une requête avec POST ou PUT, l'élément que vous essayez d'envoyer est alors trop volumineux.

Si vous effectuez une requête avec GET, l'élément que vous essayez de télécharger est alors trop volumineux.

Ces limites ont été fixées par le Fournisseur d'Accès Internet et agissent sur ce proxy. Si vous pensez que c'est une erreur, contactez le fournisseur d'accès.

Votre administrateur proxy est %w.



\ No newline at end of file + ERREUR: L'URL demandée n'a pas pu être trouvé

ERROR

The requested URL could not be retrieved


L'erreur suivante s'est produite en essayant d'accéder à l'URL : %U

La requête ou la réponse sont trop volumineuses.

Si vous effectuez une requête avec POST ou PUT, l'élément que vous essayez d'envoyer est alors trop volumineux.

Si vous effectuez une requête avec GET, l'élément que vous essayez de télécharger est alors trop volumineux.

Ces limites ont été fixées par le Fournisseur d'Accès Internet et agissent sur ce proxy. Si vous pensez que c'est une erreur, contactez le fournisseur d'accès.

Votre administrateur proxy est %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/fr/ERR_URN_RESOLVE squid-3.2.0.16/errors/fr/ERR_URN_RESOLVE --- squid-3.2.0.15/errors/fr/ERR_URN_RESOLVE 2012-02-06 05:28:22.000000000 +1300 +++ squid-3.2.0.16/errors/fr/ERR_URN_RESOLVE 2012-03-07 16:13:58.000000000 +1300 @@ -1 +1 @@ - ERREUR: The requested URN could not be retrieved

ERROR

En utilisant URN, la requête URL n'a pas pu être chargée.


l'erreur suivante s'est produite en essayant d'accéder à l'URN : %U

Impossible de résoudre l'URN

Hé! Il ne faut pas attendre grand-chose des URNs avec %T :)

Votre administrateur proxy est %w.



\ No newline at end of file + ERREUR: The requested URN could not be retrieved

ERROR

En utilisant URN, la requête URL n'a pas pu être chargée.


L'erreur suivante s'est produite en essayant d'accéder à l'URN : %U

Impossible de résoudre l'URN

Hé! Il ne faut pas attendre grand-chose des URNs avec %T :)

Votre administrateur proxy est %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/he/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/he/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/he/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/he/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:14:09.000000000 +1300 @@ -0,0 +1 @@ + שגיאה: לא ניתן לגשת אל הכתובת המבוקשת

ERROR

The requested URL could not be retrieved


השגיאה הבאה אירעה בעת ניסיון לפענח את כתובת הURL: %U

Time Quota Exceeded.

בשרת הפרוקסי קיימת הגבלה למשך הזמן המותר לך להיות מחובר. כרגע המכסה שלך לזמן חיבור הסתימה, אבל המכסה תתמלא שוב כאשר יעבור פרק הזמן המוגדר.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

מנהל השרת הוא %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/he/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/he/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/he/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:29:33.000000000 +1300 +++ squid-3.2.0.16/errors/he/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:15:34.000000000 +1300 @@ -1 +1 @@ - שגיאה: לא ניתן לגשת אל הכתובת המבוקשת

ERROR

The requested URL could not be retrieved


השגיאה הבאה אירעה בעת ניסיון לפענח את כתובת הURL: %U

אירעה שגיאה בניסיון ליצור חיבור מאובטח ל %I

הודעת המערכת: %E

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.

מנהל השרת הוא %w.



\ No newline at end of file + שגיאה: לא ניתן לגשת אל הכתובת המבוקשת

ERROR

The requested URL could not be retrieved


השגיאה הבאה אירעה בעת ניסיון לפענח את כתובת הURL: %U

אירעה שגיאה בניסיון ליצור חיבור מאובטח ל %I

The system returned:

%E (TLS code: %x)

%D

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.

מנהל השרת הוא %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_ACCESS_DENIED squid-3.2.0.16/errors/hu/ERR_ACCESS_DENIED --- squid-3.2.0.15/errors/hu/ERR_ACCESS_DENIED 2012-02-06 05:29:51.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_ACCESS_DENIED 2012-03-07 16:15:57.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Hozzáférés megtagadva.

Access control configuration prevents your request from being allowed at this time. Please contact your service provider if you feel this is incorrect.

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Hiba történt a(z) %U URL betöltése közben:

Hozzáférés megtagadva

Jelen pillanatban nincs jogosultsága a kért tartalom eléréséhez. A jogosultságok kiosztásával kapcsolatban a szerver üzemeltetőjét keresheti meg.

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/hu/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/hu/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/hu/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:15:58.000000000 +1300 @@ -0,0 +1 @@ + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Hiba történt a(z) %U URL betöltése közben:

Az időkvóta elfogyott

A proxyszerver kvóták használatával korlátozza a gépek hálózati idejét. A szerveren beállított időkeret elfogyott, és az csak a rendszergazda által megadott időintervallum kezdetekor lesz ismét felhasználható.

Ezeket a korlátozásokat a proxyszervert üzemeltető internetszolgáltató szabályozza. Bővebb információért vegye fel a kapcsolatot a szolgáltatóval.

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_AGENT_CONFIGURE squid-3.2.0.16/errors/hu/ERR_AGENT_CONFIGURE --- squid-3.2.0.15/errors/hu/ERR_AGENT_CONFIGURE 2012-02-06 05:29:53.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_AGENT_CONFIGURE 2012-03-07 16:16:01.000000000 +1300 @@ -1 +1 @@ - Webböngésző konfiguráció

HIBA

Web Browser Configuration


Your Web Browser configuration needs to be corrected to use this network.

How to find these settings in your browser:

For Firefox browsers go to:
  • Tools -> Options -> Advanced -> Network -> Connection Settings
  • In the HTTP proxy box type the proxy name %h and port %b.
For Internet Explorer browsers go to:
  • Tools -> Internet Options -> Connection -> LAN Settings ->Proxy
  • In the HTTP proxy box type the proxy name %h and port %b.
For Opera browsers go to:
  • Tools -> Preferences -> Advanced -> Network -> Proxy Servers
  • In the HTTP proxy box type the proxy name %h and port %b.

Your cache administrator is %w.



\ No newline at end of file + A böngésző konfigurálása

HIBA

Web Browser Configuration


A hálózat használatához módosítania kell a böngésző beállításait.

Ezeket a beállításokat az alábbi menüpontokon keresztül találhatja meg:

Ha Firefoxot használ:
  • Eszközök -> Beállítások -> Fejlett -> Hálózat -> Kapcsolatbeállítások
  • A HTTP proxy mezőben adja meg a proxy nevét (%h) és portszámát (%b).
Ha Internet Explorert használ:
  • Eszközök -> Internetbeállítások -> Kapcsolat -> Helyi hálózat beállításai -> Proxy
  • In the HTTP proxy box type the proxy name %h and port %b.
Ha Operát használ:
  • Eszközök -> Beállítások -> Fejlett -> Hálózat -> Proxyszerverek
  • In the HTTP proxy box type the proxy name %h and port %b.

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_AGENT_WPAD squid-3.2.0.16/errors/hu/ERR_AGENT_WPAD --- squid-3.2.0.15/errors/hu/ERR_AGENT_WPAD 2012-02-06 05:29:55.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_AGENT_WPAD 2012-03-07 16:16:05.000000000 +1300 @@ -1 +1 @@ - Webböngésző konfiguráció

HIBA

Web Browser Configuration


Your Web Browser configuration needs to be corrected to use this network.

How to find these settings in your browser:

For Firefox browsers go to:
  • Tools -> Options -> Advanced -> Network -> Connection Settings
  • Select Auto-detect proxy settings for this network
For Internet Explorer browsers go to:
  • Tools -> Internet Options -> Connection -> LAN Settings ->Proxy
  • Select Automatically detect settings
For Opera browsers go to:
  • Tools -> Preferences -> Advanced -> Network -> Proxy Servers
  • Select Use Automatic proxy configuration

Your cache administrator is %w.



\ No newline at end of file + A böngésző konfigurálása

HIBA

Web Browser Configuration


A hálózat használatához módosítania kell a böngésző beállításait.

Ezeket a beállításokat az alábbi menüpontokon keresztül találhatja meg:

Ha Firefoxot használ:
  • Eszközök -> Beállítások -> Fejlett -> Hálózat -> Kapcsolatbeállítások
  • Válassza ki a „Proxybeállítások automatikus felismerése ehhez a hálózathoz” jelölőnégyzetet
Ha Internet Explorert használ:
  • Eszközök -> Internetbeállítások -> Kapcsolat -> Helyi hálózat beállításai -> Proxy
  • Válassza ki az „Automatikus felismerés” opciót
Ha Operát használ:
  • Eszközök -> Beállítások -> Fejlett -> Hálózat -> Proxyszerverek
  • Válassza ki az "Automatikus proxybeállítás használata" opciót

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_CACHE_ACCESS_DENIED squid-3.2.0.16/errors/hu/ERR_CACHE_ACCESS_DENIED --- squid-3.2.0.15/errors/hu/ERR_CACHE_ACCESS_DENIED 2012-02-06 05:29:57.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_CACHE_ACCESS_DENIED 2012-03-07 16:16:07.000000000 +1300 @@ -1 +1 @@ - HIBA: Cache Access Denied

ERROR

Cache Hozzáférés megtagadva.


The following error was encountered while trying to retrieve the URL: %U

Cache hozzáférés megtagadva.

Sajnos az alábbi URL-t nem töltheti le cache szerverünktől %U amíg nem jelentkezik be rendszerünkbe.

Please contact the cache administrator if you have difficulties authenticating yourself.



\ No newline at end of file + HIBA: Cache Access Denied

ERROR

Cache Hozzáférés megtagadva


Hiba történt a(z) %U URL betöltése közben:

A proxyszerver használatához bejelentkezés szükséges

A(z) %U URL eléréséhez be kell jelentkeznie a proxyszerverre.

Kérem, lépjen kapcsolatba a szerver üzemeltetőjével, ha nem tud bejelentkezni.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_CACHE_MGR_ACCESS_DENIED squid-3.2.0.16/errors/hu/ERR_CACHE_MGR_ACCESS_DENIED --- squid-3.2.0.15/errors/hu/ERR_CACHE_MGR_ACCESS_DENIED 2012-02-06 05:29:59.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_CACHE_MGR_ACCESS_DENIED 2012-03-07 16:16:10.000000000 +1300 @@ -1 +1 @@ - HIBA: Cache Manager Access Denied

ERROR

Cache Manager Hozzáférés megtagadva.


The following error was encountered while trying to retrieve the URL: %U

Cache vezérlőpult hozzáférés megtagadva.

Sajnos az alábbi URL-t nem töltheti le cache szerverünktől %U amíg nem jelentkezik be rendszerünkbe.

Kérjük, forduljon a cache adminisztrátorhoz amennyiben nem sikerül bejelentkeznie vagy ha Ön a cache adminisztrátor, olvassa el alaposana Squid dokumentáció cache vezérlőpulttal kapcsolatos fejezetét és ellenőrizze a cachenaplóállományát, ha részletesebb hibaüzenetekre van szüksége a probléma felderítéséhez.



\ No newline at end of file + HIBA: Cache Manager Access Denied

ERROR

Cache Manager Hozzáférés megtagadva


Hiba történt a(z) %U URL betöltése közben:

Adminisztrátori hozzáférés megtagadva

A(z) %U URL gyorsítótár-kezelői eléréséhez be kell jelentkeznie a proxyszerverre.

Kérem, lépjen kapcsolatba a szerver üzemeltetőjével, ha nem tud bejelentkezni. Ha Ön a szerver adminisztrátora, akkor olvassa el a Squid dokumentációját a gyorsítótár-kezelő interfész használatáról. A hiba pontos okáról a Squid logfájljából tájékozódhat.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_CANNOT_FORWARD squid-3.2.0.16/errors/hu/ERR_CANNOT_FORWARD --- squid-3.2.0.15/errors/hu/ERR_CANNOT_FORWARD 2012-02-06 05:30:04.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_CANNOT_FORWARD 2012-03-07 16:16:12.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

A kérést jelenleg nem lehet továbbítani.

This request could not be forwarded to the origin server or to any parent caches.

Néhány lehetséges probléma:

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Hiba történt a(z) %U URL betöltése közben:

A kérés jelenleg nem továbbítható

A kérés nem továbbítható a forrásszerver vagy valamelyik parent cache felé.

A probléma lehetséges okai:

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_CONFLICT_HOST squid-3.2.0.16/errors/hu/ERR_CONFLICT_HOST --- squid-3.2.0.15/errors/hu/ERR_CONFLICT_HOST 2012-02-06 05:30:07.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_CONFLICT_HOST 2012-03-07 16:16:15.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

URI Host Conflict

This means the domain name you are trying to access apparently no longer exists on the machine you are requesting it from.

Néhány lehetséges probléma:

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Hiba történt a(z) %U URL betöltése közben:

Ütköző URI-hosztok

Ez a hiba arra utal, hogy az elérni kívánt domainnév nem érhető el az Ön számítógépéről.

A probléma lehetséges okai:

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_CONNECT_FAIL squid-3.2.0.16/errors/hu/ERR_CONNECT_FAIL --- squid-3.2.0.15/errors/hu/ERR_CONNECT_FAIL 2012-02-06 05:30:09.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_CONNECT_FAIL 2012-03-07 16:16:17.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Csatlakozás a(z) %I-hez/hoz meghiúsult.

A rendszer válasza: %E

The remote host or network may be down. Please try the request again.

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Hiba történt a(z) %U URL betöltése közben:

Nem sikerült kapcsolódni a(z) %I szerverhez

A rendszer által visszaadott hibaüzenet: %E

A hiba legvalószínűbb oka, hogy a távoli szerver vagy hálózat épp nem elérhető. Kérem, próbálja meg elérni a szervert később.

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_DIR_LISTING squid-3.2.0.16/errors/hu/ERR_DIR_LISTING --- squid-3.2.0.15/errors/hu/ERR_DIR_LISTING 2012-02-06 05:30:11.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_DIR_LISTING 2012-03-07 16:16:19.000000000 +1300 @@ -1 +1 @@ - Könyvtár: %U

Directory: %U/


Könyvtár tartalom:

%z
%g
Parent Directory (Root Directory)

\ No newline at end of file + Könyvtár: %U

Könyvtár: %U/


A könyvtár tartalma:

%z
%g
Szülőkönyvtár (Gyökérkönyvtár)

\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_DNS_FAIL squid-3.2.0.16/errors/hu/ERR_DNS_FAIL --- squid-3.2.0.15/errors/hu/ERR_DNS_FAIL 2012-02-06 05:30:13.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_DNS_FAIL 2012-03-07 16:16:23.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Unable to determine IP address from host name %H

The DNS server returned:

%z

This means that the cache was not able to resolve the hostname presented in the URL. Check if the address is correct.

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Hiba történt a(z) %U URL betöltése közben:

A(z) %H DNS-névhez tartozó IP-cím nem oldható fel

A DNS-szerver válasza:

%z

A proxyszerver nem tudta feloldani az URL-ben szereplő hosztnevet. Kérem, ellenőrizze, hogy a cím helyes-e.

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_ESI squid-3.2.0.16/errors/hu/ERR_ESI --- squid-3.2.0.15/errors/hu/ERR_ESI 2012-02-06 05:30:16.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_ESI 2012-03-07 16:16:26.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

ESI Processing failed.

The ESI processor returned:

%Z

This means that the surrogate was not able to process the ESI template. Please report this error to the webmaster.

Your webmaster is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Hiba történt a(z) %U URL betöltése közben:

Az ESI feldolgozás nem sikerült

Az ESI feldolgozó által visszaadott üzenet:

%Z

Ez a hiba arra utal, hogy a helyettesítő nem tudta feldolgozni az ESI-sablont. Kérem, jelezze a hibát a szerver üzemeltetőjének.

A webszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_FORWARDING_DENIED squid-3.2.0.16/errors/hu/ERR_FORWARDING_DENIED --- squid-3.2.0.15/errors/hu/ERR_FORWARDING_DENIED 2012-02-06 05:30:18.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_FORWARDING_DENIED 2012-03-07 16:16:28.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Kéréstovábbítás megtagadva.

This cache will not forward your request because it is trying to enforce a sibling relationship. Perhaps the client at %i is a cache which has been misconfigured.

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Hiba történt a(z) %U URL betöltése közben:

A kérés továbbítása tiltott

A kérés nem továbbítható, mivel az egy testvéri kapcsolatot eredményezne. A kliens (%i) valószínűleg egy másik proxyszerver, ami hibásan van konfigurálva.

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_FTP_DISABLED squid-3.2.0.16/errors/hu/ERR_FTP_DISABLED --- squid-3.2.0.15/errors/hu/ERR_FTP_DISABLED 2012-02-06 05:30:20.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_FTP_DISABLED 2012-03-07 16:16:31.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

FTP tiltás

Ez a cache szerver nem szolgál ki FTP kéréseket.

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Hiba történt a(z) %U URL betöltése közben:

Az FTP protokoll használata nem engedélyezett

A proxyszerver nem támogatja az FTP-protokoll használatát.

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_FTP_FAILURE squid-3.2.0.16/errors/hu/ERR_FTP_FAILURE --- squid-3.2.0.15/errors/hu/ERR_FTP_FAILURE 2012-02-06 05:30:22.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_FTP_FAILURE 2012-03-07 16:16:34.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


FTP protokoll hiba történt az alábbi URL letöltésekor: %U

A Squid az alábbi FTP parancsot küldte:

%f

The server responded with:

%F
%g

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Protokollhiba történt a(z) %U URL betöltése közben.

A proxyszerver által küldött FTP-parancs:

%f

A távoli szerver válasza:

%F
%g

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_FTP_FORBIDDEN squid-3.2.0.16/errors/hu/ERR_FTP_FORBIDDEN --- squid-3.2.0.15/errors/hu/ERR_FTP_FORBIDDEN 2012-02-06 05:30:24.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_FTP_FORBIDDEN 2012-03-07 16:16:37.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


FTP autentikációs hiba történt az alábbi URL letöltésekor: %U

A Squid az alábbi FTP parancsot küldte:

%f

The server responded with:

%F
%g

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Authentikációs hiba történt a(z) %U URL betöltése közben.

A proxyszerver által küldött FTP-parancs:

%f

A távoli szerver válasza:

%F
%g

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_FTP_NOT_FOUND squid-3.2.0.16/errors/hu/ERR_FTP_NOT_FOUND --- squid-3.2.0.15/errors/hu/ERR_FTP_NOT_FOUND 2012-02-06 05:30:26.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_FTP_NOT_FOUND 2012-03-07 16:16:39.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


Az alábbi URL nem tölthető le: %U

A Squid az alábbi FTP parancsot küldte:

%f

The server responded with:

%F
%g

This might be caused by an FTP URL with an absolute path (which does not comply with RFC 1738). If this is the cause, then the file can be found at %B.

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


A(z) %U URL nem tölthető be.

A proxyszerver által küldött FTP-parancs:

%f

A távoli szerver válasza:

%F
%g

A hibát abszolút elérési útvonal használata okozhatja, ami nem felel meg az RFC 1738 szabványnak. Ha valóban ez a hiba forrása, akkor próbálja meg elérni a fájlt itt: %B.

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_FTP_PUT_CREATED squid-3.2.0.16/errors/hu/ERR_FTP_PUT_CREATED --- squid-3.2.0.15/errors/hu/ERR_FTP_PUT_CREATED 2012-02-06 05:30:28.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_FTP_PUT_CREATED 2012-03-07 16:16:42.000000000 +1300 @@ -1 +1 @@ - FTP PUT Successful.

Művelet sikeresen végrehajtva

Az állományt létrehoztuk




\ No newline at end of file + Sikeres PUT művelet

Sikeres művelet

A fájl létrehozása sikeresen megtörtént




\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_FTP_PUT_ERROR squid-3.2.0.16/errors/hu/ERR_FTP_PUT_ERROR --- squid-3.2.0.15/errors/hu/ERR_FTP_PUT_ERROR 2012-02-06 05:30:30.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_FTP_PUT_ERROR 2012-03-07 16:16:44.000000000 +1300 @@ -1 +1 @@ - HIBA: FTP upload failed

ERROR

FTP PUT upload failed


FTP protokoll hiba történt az alábbi URL letöltésekor: %U

A Squid az alábbi FTP parancsot küldte:

%f

The server responded with:

%F

This means that the FTP server may not have permission or space to store the file. Check the path, permissions, diskspace and try again.

Your cache administrator is %w.



\ No newline at end of file + HIBA: FTP upload failed

ERROR

Sikertelen PUT művelet


Protokollhiba történt a(z) %U URL betöltése közben.

A proxyszerver által küldött FTP-parancs:

%f

A távoli szerver válasza:

%F

A hibát az okozhatja, hogy az FTP-szerveren elfogyott a szabad hely vagy jogosultság hiányában a fájl nem írható a háttértárolóra. Kérem, ellenőrizze a jogosultságokat és a szerveren rendelkezésre álló szabad tárkapacitás mennyiségét, majd ismételje meg a műveletet.

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_FTP_PUT_MODIFIED squid-3.2.0.16/errors/hu/ERR_FTP_PUT_MODIFIED --- squid-3.2.0.15/errors/hu/ERR_FTP_PUT_MODIFIED 2012-02-06 05:30:33.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_FTP_PUT_MODIFIED 2012-03-07 16:16:46.000000000 +1300 @@ -1 +1 @@ - FTP PUT Successful.

Művelet sikeresen végrehajtva

Az állomány frissítése megtörtént




\ No newline at end of file + Sikeres PUT művelet

Sikeres művelet

A fájl frissítése sikeresen megtörtént




\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_FTP_UNAVAILABLE squid-3.2.0.16/errors/hu/ERR_FTP_UNAVAILABLE --- squid-3.2.0.15/errors/hu/ERR_FTP_UNAVAILABLE 2012-02-06 05:30:34.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_FTP_UNAVAILABLE 2012-03-07 16:16:49.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


Az FTP kiszolgáló túlterheltsége miatt az alábbi URL nem tölthető le: %U

A Squid az alábbi FTP parancsot küldte:

%f

The server responded with:

%F
%g

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Az FTP-szerver túlterheltség miatt nem tudta kiszolgálni a(z) %U kérést.

A proxyszerver által küldött FTP-parancs:

%f

A távoli szerver válasza:

%F
%g

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_GATEWAY_FAILURE squid-3.2.0.16/errors/hu/ERR_GATEWAY_FAILURE --- squid-3.2.0.15/errors/hu/ERR_GATEWAY_FAILURE 2012-02-06 05:30:37.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_GATEWAY_FAILURE 2012-03-07 16:16:52.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Gateway Proxy Failure

A non-recoverable internal failure or configuration problem prevents this request from being completed.

This may be due to limits established by the Internet Service Provider who operates this cache. Please contact them directly for more information.

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Hiba történt a(z) %U URL betöltése közben:

Átjáróhiba

Egy belső hiba vagy konfigurációs probléma miatt a kérés nem dolgozható fel.

Ezeket a korlátozásokat a proxyszervert üzemeltető internetszolgáltató szabályozza. Bővebb információért vegye fel a kapcsolatot a szolgáltatóval.

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_ICAP_FAILURE squid-3.2.0.16/errors/hu/ERR_ICAP_FAILURE --- squid-3.2.0.15/errors/hu/ERR_ICAP_FAILURE 2012-02-06 05:30:39.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_ICAP_FAILURE 2012-03-07 16:16:55.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

ICAP protokoll hiba.

A rendszer válasza: %E

This means that some aspect of the ICAP communication failed.

Néhány lehetséges probléma:



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Hiba történt a(z) %U URL betöltése közben:

ICAP protokollhiba

A rendszer által visszaadott hibaüzenet: %E

Az ICAP kommunikáció során hiba lépett fel.

A probléma lehetséges okai:



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_INVALID_REQ squid-3.2.0.16/errors/hu/ERR_INVALID_REQ --- squid-3.2.0.15/errors/hu/ERR_INVALID_REQ 2012-02-06 05:30:42.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_INVALID_REQ 2012-03-07 16:16:57.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


Invalid Request error was encountered while trying to process the request:

%R

Néhány lehetséges probléma:

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Érvénytelen kérés - hiba történt a kérés feldolgozása közben:

%R

A probléma lehetséges okai:

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_INVALID_RESP squid-3.2.0.16/errors/hu/ERR_INVALID_RESP --- squid-3.2.0.15/errors/hu/ERR_INVALID_RESP 2012-02-06 05:30:44.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_INVALID_RESP 2012-03-07 16:17:00.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


Invalid Response error was encountered while trying to process the request:

%R

The HTTP Response message received from the contacted server could not be understood or was otherwise malformed. Please contact the site operator.

Your cache administrator may be able to provide you with more details about the exact nature of the problem if needed.

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Érvénytelen válasz - hiba történt a kérés feldolgozása közben:

%R

A távoli szerver által küldött HTTP-válasz megsérült vagy értelmezhetetlen. Kérem, jelezze a hibát a szerver üzemeltetőjének.

Forduljon a proxyszerver üzemeltetőjéhez, ha többet szeretne megtudni a problémáról.

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_INVALID_URL squid-3.2.0.16/errors/hu/ERR_INVALID_URL --- squid-3.2.0.15/errors/hu/ERR_INVALID_URL 2012-02-06 05:30:46.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_INVALID_URL 2012-03-07 16:17:04.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Érvénytelen URL

Some aspect of the requested URL is incorrect.

Néhány lehetséges probléma:

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Hiba történt a(z) %U URL betöltése közben:

Érvénytelen URL

Az URL hibás formátumú.

A probléma lehetséges okai:

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_LIFETIME_EXP squid-3.2.0.16/errors/hu/ERR_LIFETIME_EXP --- squid-3.2.0.15/errors/hu/ERR_LIFETIME_EXP 2012-02-06 05:30:48.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_LIFETIME_EXP 2012-03-07 16:17:08.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Kapcsolat maximális időtartama lejárt

A Squid megszakította a kérés kiszolgálását mivel a kérés feldolgozásának ideje a maximális kapcsolatfenntartás időtartamának értékét meghaladta.

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Hiba történt a(z) %U URL betöltése közben:

A kapcsolat élettartama lejárt

A kapcsolat élettartama lejárt, ezért a proxyszerver bontotta a kapcsolatot.

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_NO_RELAY squid-3.2.0.16/errors/hu/ERR_NO_RELAY --- squid-3.2.0.15/errors/hu/ERR_NO_RELAY 2012-02-06 05:30:50.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_NO_RELAY 2012-03-07 16:17:11.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Nincs WAIS szerver

There is no WAIS Relay host defined for this Cache! Yell at the administrator.

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Hiba történt a(z) %U URL betöltése közben:

Hiányzó WAIS továbbító

A proxyszerveren nincs beállítva WAIS továbbító. Kérem, jelezze a problémát a rendszergazdának.

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_ONLY_IF_CACHED_MISS squid-3.2.0.16/errors/hu/ERR_ONLY_IF_CACHED_MISS --- squid-3.2.0.15/errors/hu/ERR_ONLY_IF_CACHED_MISS 2012-02-06 05:30:52.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_ONLY_IF_CACHED_MISS 2012-03-07 16:17:13.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

A cache-ben érvényes dokumentum nem található és a kérésben only-if-cached direktíva volt beállítva.

Olyan kérést küldött el, amelyben only-if-cached cache vezérlő direktíva található. A dokumentum nincs a cache-ben vagy a dokumentum érvényesség-ellenőrzést igényelt volna, ezt azonban az only-if-cached direktíva megtiltotta.

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Hiba történt a(z) %U URL betöltése közben:

Az only-if-cached direktíva szerepel a kérésben, azonban a kért tartalom nem található meg a gyorsítótárban.

A böngésző által küldött kérés tartalmazza az only-if-cached direktívát, de a kért tartalom nem szerepel a gyorsítótárban. A tartalom ismételt letöltésére lenne szükség, ezt azonban tiltja az only-if-cached direktíva.

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_PRECONDITION_FAILED squid-3.2.0.16/errors/hu/ERR_PRECONDITION_FAILED --- squid-3.2.0.15/errors/hu/ERR_PRECONDITION_FAILED 2012-02-06 05:30:54.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_PRECONDITION_FAILED 2012-03-07 16:17:16.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Precondition Failed.

This means:

At least one precondition specified by the HTTP client in the request header has failed.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Hiba történt a(z) %U URL betöltése közben:

Egy előfeltétel nem teljesült

A hiba lehetséges okai:

A HTTP-kérésben szereplő előfeltételek nem teljesíthetők.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_READ_ERROR squid-3.2.0.16/errors/hu/ERR_READ_ERROR --- squid-3.2.0.15/errors/hu/ERR_READ_ERROR 2012-02-06 05:30:57.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_READ_ERROR 2012-03-07 16:17:17.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Olvasási hiba

A rendszer válasza: %E

An error condition occurred while reading data from the network. Please retry your request.

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Hiba történt a(z) %U URL betöltése közben:

Fogadási hiba

A rendszer által visszaadott hibaüzenet: %E

Hálózati hiba történt az adatok fogadása közben, kérem, ismételje meg a műveletet.

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_READ_TIMEOUT squid-3.2.0.16/errors/hu/ERR_READ_TIMEOUT --- squid-3.2.0.15/errors/hu/ERR_READ_TIMEOUT 2012-02-06 05:30:59.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_READ_TIMEOUT 2012-03-07 16:17:21.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Olvasási időtúllépés

A rendszer válasza: %E

A Timeout occurred while waiting to read data from the network. The network or server may be down or congested. Please retry your request.

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Hiba történt a(z) %U URL betöltése közben:

Időtúllépés történt az adatok fogadása közben

A rendszer által visszaadott hibaüzenet: %E

Időtúllépés történt az adatok fogadása közben. A távoli szerver vagy hálózat nem érhető el vagy túl van terhelve, kérem, próbálja újra később.

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/hu/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/hu/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:31:03.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:17:24.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

A rendszer válasza: %E

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.

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Hiba történt a(z) %U URL betöltése közben:

Nem sikerült a titkosított kapcsolat kiépítése a(z) %I szerverrel

The system returned:

%E (TLS code: %x)

%D

Nem sikerült kiépíteni a titkosított kapcsolatot a proxyszerver és a távoli kiszolgáló között. Lehet, hogy a távoli szerver nem támogatja a titkosított kapcsolatokat vagy olyan protokollt használ, ami a proxyszerveren nem engedélyezett.

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_SHUTTING_DOWN squid-3.2.0.16/errors/hu/ERR_SHUTTING_DOWN --- squid-3.2.0.15/errors/hu/ERR_SHUTTING_DOWN 2012-02-06 05:31:05.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_SHUTTING_DOWN 2012-03-07 16:17:28.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

This cache is in the process of shutting down and can not service your request at this time. Please retry your request again soon.

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Hiba történt a(z) %U URL betöltése közben:

A proxyszerver leállítás alatt van, így jelen pillanatban nem tudja kiszolgálni a kérést. Kérem, próbálja újra később.

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_SOCKET_FAILURE squid-3.2.0.16/errors/hu/ERR_SOCKET_FAILURE --- squid-3.2.0.15/errors/hu/ERR_SOCKET_FAILURE 2012-02-06 05:31:08.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_SOCKET_FAILURE 2012-03-07 16:17:31.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Socket hiba

A rendszer válasza: %E

A Squid nem tud TCP socket-et létrehozni, valószínűleg a nagy terheltség következtében. Ismételje meg kérését!

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Hiba történt a(z) %U URL betöltése közben:

A socket nem hozható létre

A rendszer által visszaadott hibaüzenet: %E

A proxyszerver nem tudott új TCP socketet nyitni, vélhetően a magas terhelés miatt. Kérem, ismételje meg a kérést később.

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_TOO_BIG squid-3.2.0.16/errors/hu/ERR_TOO_BIG --- squid-3.2.0.15/errors/hu/ERR_TOO_BIG 2012-02-06 05:31:10.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_TOO_BIG 2012-03-07 16:17:35.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

A kérés vagy a válasz túl nagy méretű.

If you are making a POST or PUT request, then the item you are trying to upload is too large.

If you are making a GET request, then the item you are trying to download is too large.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Hiba történt a(z) %U URL betöltése közben:

A kérés vagy a válasz mérete meghaladja a szerveren beállított limitet.

POST vagy PUT kérés esetén valószínűleg túl nagy a feltölteni kívánt fájl mérete

GET kérés esetén a letölteni próbált fájl mérete meghaladja a megengedett maximumot

Ezeket a korlátozásokat a proxyszervert üzemeltető internetszolgáltató szabályozza. Bővebb információért vegye fel a kapcsolatot a szolgáltatóval.

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_UNSUP_HTTPVERSION squid-3.2.0.16/errors/hu/ERR_UNSUP_HTTPVERSION --- squid-3.2.0.15/errors/hu/ERR_UNSUP_HTTPVERSION 2012-02-06 05:31:16.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_UNSUP_HTTPVERSION 2012-03-07 16:17:39.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

Unsupported HTTP version


The following error was encountered while trying to retrieve the URL: %U

Unsupported HTTP version

This Squid does not accept the HTTP version you are attempting to use.

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

Nem támogatott HTTP-verzió


Hiba történt a(z) %U URL betöltése közben:

Unsupported HTTP version

A proxyszerver nem támogatja a kérésben szereplő HTTP-verziót.

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_UNSUP_REQ squid-3.2.0.16/errors/hu/ERR_UNSUP_REQ --- squid-3.2.0.15/errors/hu/ERR_UNSUP_REQ 2012-02-06 05:31:18.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_UNSUP_REQ 2012-03-07 16:17:42.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Nem támogatott kérési metódus és protokoll

A Squid nem támogat minden kérési metódust minden protokolltípushoz. Például nem lehet Gopher protokollhoz POST metódust alkalmazni.

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Hiba történt a(z) %U URL betöltése közben:

Nem támogatott kéréstípus vagy protokoll

A proxyszerver nem támogat minden létező kéréstípus és protokoll kombinációt, így pl. nem lehet POST kéréstípust használni egy Gopher kérésben.

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_URN_RESOLVE squid-3.2.0.16/errors/hu/ERR_URN_RESOLVE --- squid-3.2.0.15/errors/hu/ERR_URN_RESOLVE 2012-02-06 05:31:21.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_URN_RESOLVE 2012-03-07 16:17:45.000000000 +1300 @@ -1 +1 @@ - HIBA: The requested URN could not be retrieved

ERROR

Az URN egy URL-je nem tölthető le


The following error was encountered while trying to retrieve the URN: %U

Az URN-t nem lehet feloldani

Nem érdemes túl sokat várni a %T-n lévő URN-ektől :)

Your cache administrator is %w.



\ No newline at end of file + HIBA: The requested URN could not be retrieved

ERROR

Az URN-hez tartozó URL nem tölthető be


Hiba történt a(z) %U URN betöltése közben:

Az URN nem oldható fel

Ne várjon túl sokat a %T-n lévő URN-ektől! :)

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_WRITE_ERROR squid-3.2.0.16/errors/hu/ERR_WRITE_ERROR --- squid-3.2.0.15/errors/hu/ERR_WRITE_ERROR 2012-02-06 05:31:24.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_WRITE_ERROR 2012-03-07 16:17:48.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Írási hiba

A rendszer válasza: %E

An error condition occurred while writing to the network. Please retry your request.

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Hiba történt a(z) %U URL betöltése közben:

Küldési hiba

A rendszer által visszaadott hibaüzenet: %E

Hálózati hiba történt az adatok küldése közben, kérem, ismételje meg a műveletet.

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hu/ERR_ZERO_SIZE_OBJECT squid-3.2.0.16/errors/hu/ERR_ZERO_SIZE_OBJECT --- squid-3.2.0.15/errors/hu/ERR_ZERO_SIZE_OBJECT 2012-02-06 05:31:26.000000000 +1300 +++ squid-3.2.0.16/errors/hu/ERR_ZERO_SIZE_OBJECT 2012-03-07 16:17:52.000000000 +1300 @@ -1 +1 @@ - HIBA: A kért URL nem tölthető le

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Üres válasz

A Squid nem kapott semmilyen választ a fenti kérésre.

Your cache administrator is %w.



\ No newline at end of file + HIBA: Az oldal nem tölthető be

ERROR

The requested URL could not be retrieved


Hiba történt a(z) %U URL betöltése közben:

Üres válasz

A proxyszerver üres választ kapott a kérésre.

A proxyszerver üzemeltetőjének e-mail címe: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hy/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/hy/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/hy/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/hy/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:17:58.000000000 +1300 @@ -0,0 +1 @@ + ՍԽԱԼ: Պահանջվող URL-ն հնարավոր չէ ստանալ

ERROR

The requested URL could not be retrieved


URL-ի ստացման ընթացքում առաջացավ հետևյալ սխալը: %U

Ժամանակային սահմանափակումը գերազանցված է

Պրոքսի սերվերը սահմանափակում է Ձեր համացանցում գտնվելու ժամանակը.Սահմանափակումը կգործի ցանցի կառավարիչի կողմից նշված ժամանակահատվածում

Այս սահմանափակումը իրականացված է Ձեր ինտերնետ կապ ապահովողի կողմից: Եթե Դուք սա սխալ եք համարում, դիմեք նրան:

Ձեր քեշի կառավարիչը %w է.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/hy/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/hy/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/hy/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:32:33.000000000 +1300 +++ squid-3.2.0.16/errors/hy/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:19:24.000000000 +1300 @@ -1 +1 @@ - ՍԽԱԼ: Պահանջվող URL-ն հնարավոր չէ ստանալ

ERROR

The requested URL could not be retrieved


URL-ի ստացման ընթացքում առաջացավ հետևյալ սխալը: %U

Չհաջողվեց անվտանգ կապ հաստատել %I

Ստացված պատասխանը: %E

Հնարավոր է,որ հեռակա հանգույցը չի աջակցում անվտանգ կապի հաստատում

Ձեր քեշի կառավարիչը %w է.



\ No newline at end of file + ՍԽԱԼ: Պահանջվող URL-ն հնարավոր չէ ստանալ

ERROR

The requested URL could not be retrieved


URL-ի ստացման ընթացքում առաջացավ հետևյալ սխալը: %U

Չհաջողվեց անվտանգ կապ հաստատել %I

The system returned:

%E (TLS code: %x)

%D

Հնարավոր է,որ հեռակա հանգույցը չի աջակցում անվտանգ կապի հաստատում

Ձեր քեշի կառավարիչը %w է.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/id/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/id/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/id/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/id/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:19:51.000000000 +1300 @@ -0,0 +1 @@ + ERROR: The requested URL could not be retrieved

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/id/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/id/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/id/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:33:47.000000000 +1300 +++ squid-3.2.0.16/errors/id/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:21:13.000000000 +1300 @@ -1 +1 @@ - ERROR: The requested URL could not be retrieved

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

The system returned: %E

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.

Your cache administrator is %w.



\ No newline at end of file + ERROR: The requested URL could not be retrieved

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

The system returned:

%E (TLS code: %x)

%D

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.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/it/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/it/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/it/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/it/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:21:46.000000000 +1300 @@ -0,0 +1 @@ + ERRORE: Non è stato possibile accedere alla URL richiesta.

ERROR

The requested URL could not be retrieved


Mentre si cercava di accedere alla URL %U si è presentato il seguente errore:

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

Questi limiti sono stati stabiliti dall'ISP che gestisce questo proxy. Se ritieni sia un errore, contatta il fornitore del servizio.

L'amministratore del proxy è %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/it/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/it/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/it/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:34:49.000000000 +1300 +++ squid-3.2.0.16/errors/it/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:23:13.000000000 +1300 @@ -1 +1 @@ - ERRORE: Non è stato possibile accedere alla URL richiesta.

ERROR

The requested URL could not be retrieved


Mentre si cercava di accedere alla URL %U si è presentato il seguente errore:

Non è stato possibile stabilire una connessione sicura verso %I

Il sistema ha risposto: %E

Questo proxy e l'host remoto non sono riusciti a negoziare una connessione sicura. Probabilmente il server remoto non supporta connessioni sicure, o il proxy non è soddisfatto delle credenziali di sicurezza proposte dall'host.

L'amministratore del proxy è %w.



\ No newline at end of file + ERRORE: Non è stato possibile accedere alla URL richiesta.

ERROR

The requested URL could not be retrieved


Mentre si cercava di accedere alla URL %U si è presentato il seguente errore:

Non è stato possibile stabilire una connessione sicura verso %I

The system returned:

%E (TLS code: %x)

%D

Questo proxy e l'host remoto non sono riusciti a negoziare una connessione sicura. Probabilmente il server remoto non supporta connessioni sicure, o il proxy non è soddisfatto delle credenziali di sicurezza proposte dall'host.

L'amministratore del proxy è %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/ja/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/ja/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/ja/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/ja/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:23:31.000000000 +1300 @@ -0,0 +1 @@ + エラー: リクエストされた URL は取得できませんでした

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/ja/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/ja/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/ja/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:35:55.000000000 +1300 +++ squid-3.2.0.16/errors/ja/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:24:29.000000000 +1300 @@ -1 +1 @@ - エラー: リクエストされた URL は取得できませんでした

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

%Iへの安全な接続を確立に失敗しました。

システムが以下のエラーを返しました: %E

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.

Your cache administrator is %w.



\ No newline at end of file + エラー: リクエストされた URL は取得できませんでした

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

%Iへの安全な接続を確立に失敗しました。

The system returned:

%E (TLS code: %x)

%D

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.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/ko/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/ko/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/ko/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/ko/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:24:48.000000000 +1300 @@ -0,0 +1 @@ + 에러: 요청된 URL을 가져올 수 없습니다.

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/ko/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/ko/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/ko/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:37:37.000000000 +1300 +++ squid-3.2.0.16/errors/ko/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:25:47.000000000 +1300 @@ -1 +1 @@ - 에러: 요청된 URL을 가져올 수 없습니다.

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

시스템은 아래와 같은 메시지를 보내왔습니다: %E

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.

Your cache administrator is %w.



\ No newline at end of file + 에러: 요청된 URL을 가져올 수 없습니다.

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

The system returned:

%E (TLS code: %x)

%D

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.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/lt/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/lt/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/lt/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/lt/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:26:10.000000000 +1300 @@ -0,0 +1 @@ + KLAIDA: Puslapis nurodytu adresu negali būti atsiųstas

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/lt/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/lt/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/lt/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:39:08.000000000 +1300 +++ squid-3.2.0.16/errors/lt/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:27:20.000000000 +1300 @@ -1 +1 @@ - KLAIDA: Puslapis nurodytu adresu negali būti atsiųstas

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

Sistema atsakė: %E

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.

Your cache administrator is %w.



\ No newline at end of file + KLAIDA: Puslapis nurodytu adresu negali būti atsiųstas

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

The system returned:

%E (TLS code: %x)

%D

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.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/lv/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/lv/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/lv/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/lv/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:27:42.000000000 +1300 @@ -0,0 +1 @@ + Kļūda: Nevar atvērt pieprasīto adresi.

ERROR

The requested URL could not be retrieved


Iestājusies sekojoša kļūda mēģinot atvērt adresi: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Jūsu kešatmiņas administrators ir %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/lv/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/lv/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/lv/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:40:11.000000000 +1300 +++ squid-3.2.0.16/errors/lv/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:28:39.000000000 +1300 @@ -1 +1 @@ - Kļūda: Nevar atvērt pieprasīto adresi.

ERROR

The requested URL could not be retrieved


Iestājusies sekojoša kļūda mēģinot atvērt adresi: %U

Neizdevās izveidot drošu savienojumu ar %I

Sistēma atbildēja: %E

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.

Jūsu kešatmiņas administrators ir %w.



\ No newline at end of file + Kļūda: Nevar atvērt pieprasīto adresi.

ERROR

The requested URL could not be retrieved


Iestājusies sekojoša kļūda mēģinot atvērt adresi: %U

Neizdevās izveidot drošu savienojumu ar %I

The system returned:

%E (TLS code: %x)

%D

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.

Jūsu kešatmiņas administrators ir %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/Makefile.in squid-3.2.0.16/errors/Makefile.in --- squid-3.2.0.15/errors/Makefile.in 2012-02-06 04:57:26.000000000 +1300 +++ squid-3.2.0.16/errors/Makefile.in 2012-03-07 15:45:29.000000000 +1300 @@ -272,6 +272,7 @@ DEFAULT_STYLESHEET = $(sysconfdir)/errorpage.css ERROR_TEMPLATES = \ templates/ERR_ACCESS_DENIED \ + templates/ERR_ACL_TIME_QUOTA_EXCEEDED \ templates/ERR_AGENT_CONFIGURE \ templates/ERR_AGENT_WPAD \ templates/ERR_CACHE_ACCESS_DENIED \ diff -u -r -N squid-3.2.0.15/errors/ms/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/ms/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/ms/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/ms/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:28:58.000000000 +1300 @@ -0,0 +1 @@ + RALAT: The requested URL could not be retrieved

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Pengurus Proxy anda ialah %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/ms/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/ms/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/ms/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:41:12.000000000 +1300 +++ squid-3.2.0.16/errors/ms/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:29:56.000000000 +1300 @@ -1 +1 @@ - RALAT: The requested URL could not be retrieved

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Gagal membuat sambungan selamat ke %I

The system returned: %E

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.

Pengurus Proxy anda ialah %w.



\ No newline at end of file + RALAT: The requested URL could not be retrieved

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Gagal membuat sambungan selamat ke %I

The system returned:

%E (TLS code: %x)

%D

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.

Pengurus Proxy anda ialah %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/nl/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/nl/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/nl/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/nl/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:30:18.000000000 +1300 @@ -0,0 +1 @@ + FOUT: De gevraagde URL kon niet worden opgehaald

ERROR

The requested URL could not be retrieved


De volgende fout is opgetreden tijdens het ophalen van URL: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

Deze grootte-beperkingen zijn ingesteld door de beheerder van deze cache. Neem contact op met de beheerder van deze cache, wanneer U van mening bent dat deze beperking onjuist is.

De beheerder van deze cache is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/nl/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/nl/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/nl/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:42:12.000000000 +1300 +++ squid-3.2.0.16/errors/nl/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:31:20.000000000 +1300 @@ -1 +1 @@ - FOUT: De gevraagde URL kon niet worden opgehaald

ERROR

The requested URL could not be retrieved


De volgende fout is opgetreden tijdens het ophalen van URL: %U

Het opzetten van een beveiligde verbinding naar %I is mislukt

Het systeem gaf als antwoord: %E

Deze proxy en de benaderde server hebben geen overeenstemming bereikt over de beveiling om uw aanvraag af te handelen. Het is mogelijk dat de benaderde server geen beveiligde verbindingen ondersteund of dat de proxy een te lage beveiliging heeft gedetecteerd.

De beheerder van deze cache is %w.



\ No newline at end of file + FOUT: De gevraagde URL kon niet worden opgehaald

ERROR

The requested URL could not be retrieved


De volgende fout is opgetreden tijdens het ophalen van URL: %U

Het opzetten van een beveiligde verbinding naar %I is mislukt

The system returned:

%E (TLS code: %x)

%D

Deze proxy en de benaderde server hebben geen overeenstemming bereikt over de beveiling om uw aanvraag af te handelen. Het is mogelijk dat de benaderde server geen beveiligde verbindingen ondersteund of dat de proxy een te lage beveiliging heeft gedetecteerd.

De beheerder van deze cache is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/oc/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/oc/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/oc/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/oc/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:31:44.000000000 +1300 @@ -0,0 +1 @@ + ERREUR : L'URL demandada a pas pogut èsser cargada

ERROR

L'URL demandada a pas pogut èsser cargada


L'error seguenta s'es producha en ensajant d'accedir a l'URL : %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Vòstre administrator d'amagatal es %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/oc/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/oc/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/oc/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:43:11.000000000 +1300 +++ squid-3.2.0.16/errors/oc/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:32:50.000000000 +1300 @@ -1 +1 @@ - ERREUR : L'URL demandada a pas pogut èsser cargada

ERROR

L'URL demandada a pas pogut èsser cargada


L'error seguenta s'es producha en ensajant d'accedir a l'URL : %U

Failed to establish a secure connection to %I

Lo sistèma a tornat : %E

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.

Vòstre administrator d'amagatal es %w.



\ No newline at end of file + ERREUR : L'URL demandada a pas pogut èsser cargada

ERROR

L'URL demandada a pas pogut èsser cargada


L'error seguenta s'es producha en ensajant d'accedir a l'URL : %U

Failed to establish a secure connection to %I

The system returned:

%E (TLS code: %x)

%D

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.

Vòstre administrator d'amagatal es %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/pl/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/pl/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/pl/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/pl/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:33:07.000000000 +1300 @@ -0,0 +1 @@ + BŁĄD: Żądany URL nie może zostać pobrany

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/pl/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/pl/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/pl/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:44:12.000000000 +1300 +++ squid-3.2.0.16/errors/pl/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:34:02.000000000 +1300 @@ -1 +1 @@ - BŁĄD: Żądany URL nie może zostać pobrany

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Nie można ustanowić bezpiecznego połączenia z %I

System zwrócił wartość: %E

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.

Your cache administrator is %w.



\ No newline at end of file + BŁĄD: Żądany URL nie może zostać pobrany

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Nie można ustanowić bezpiecznego połączenia z %I

The system returned:

%E (TLS code: %x)

%D

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.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/pt/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/pt/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/pt/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/pt/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:35:46.000000000 +1300 @@ -0,0 +1 @@ + ERRO: A URL solicitada não pode ser recuperada

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/pt/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/pt/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/pt/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:46:22.000000000 +1300 +++ squid-3.2.0.16/errors/pt/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:37:23.000000000 +1300 @@ -1 +1 @@ - ERRO: A URL solicitada não pode ser recuperada

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

O sistema retornou: %E

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.

Your cache administrator is %w.



\ No newline at end of file + ERRO: A URL solicitada não pode ser recuperada

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

The system returned:

%E (TLS code: %x)

%D

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.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/pt-br/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/pt-br/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/pt-br/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/pt-br/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:34:21.000000000 +1300 @@ -0,0 +1 @@ + ERRO: A URL requisitada não pôde ser recuperada

ERROR

The requested URL could not be retrieved


O seguinte erro foi encontrado ao tentar recuperar a URL: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Seu administrador do cache é %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/pt-br/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/pt-br/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/pt-br/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:45:14.000000000 +1300 +++ squid-3.2.0.16/errors/pt-br/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:35:21.000000000 +1300 @@ -1 +1 @@ - ERRO: A URL requisitada não pôde ser recuperada

ERROR

The requested URL could not be retrieved


O seguinte erro foi encontrado ao tentar recuperar a URL: %U

Falha ao estabelecer uma conexão segura com %I

O sistema retornou: %E

Este proxy e o host remoto falharam em negociar uma configuração de segurança aceitável entre si para atender sua requisição. É possível que o host remoto não suporte conexões seguras ou que o proxy não está satisfeito com as credenciais de segurança do host.

Seu administrador do cache é %w.



\ No newline at end of file + ERRO: A URL requisitada não pôde ser recuperada

ERROR

The requested URL could not be retrieved


O seguinte erro foi encontrado ao tentar recuperar a URL: %U

Falha ao estabelecer uma conexão segura com %I

The system returned:

%E (TLS code: %x)

%D

Este proxy e o host remoto falharam em negociar uma configuração de segurança aceitável entre si para atender sua requisição. É possível que o host remoto não suporte conexões seguras ou que o proxy não está satisfeito com as credenciais de segurança do host.

Seu administrador do cache é %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/ro/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/ro/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/ro/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/ro/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:37:54.000000000 +1300 @@ -0,0 +1 @@ + EROARE: URL-ul cerut nu a putut fi accesat

ERROR

The requested URL could not be retrieved


S-a recepţionat următoarea eroare când se încerca accesarea URL-ului: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

Aceste limite au fost impuse de către organizaţia care oferă serviciile de Internet şi care administreză acest cache. Vă rugăm să îi contactaţi în mod direct dacă sunteţi de părere că este o greşeală.

Administratorul cache-ului este %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/ro/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/ro/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/ro/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:47:21.000000000 +1300 +++ squid-3.2.0.16/errors/ro/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:39:10.000000000 +1300 @@ -1 +1 @@ - EROARE: URL-ul cerut nu a putut fi accesat

ERROR

The requested URL could not be retrieved


S-a recepţionat următoarea eroare când se încerca accesarea URL-ului: %U

A eşuat stabilirea unei conexiuni securizate cu %I

Sistemul de operare a returnat mesajul: %E

Acest proxy şi serverul cerut nu au putut negocia o modalitate de securizare mutual acceptabilă pentru a procesa cererea d-voastră. Este posibil ca serverul respectiv să nu suporte conexiuni securizate, sau că proxy-ul nu este satisfăcut de certificările de securitate ale serverului.

Administratorul cache-ului este %w.



\ No newline at end of file + EROARE: URL-ul cerut nu a putut fi accesat

ERROR

The requested URL could not be retrieved


S-a recepţionat următoarea eroare când se încerca accesarea URL-ului: %U

A eşuat stabilirea unei conexiuni securizate cu %I

The system returned:

%E (TLS code: %x)

%D

Acest proxy şi serverul cerut nu au putut negocia o modalitate de securizare mutual acceptabilă pentru a procesa cererea d-voastră. Este posibil ca serverul respectiv să nu suporte conexiuni securizate, sau că proxy-ul nu este satisfăcut de certificările de securitate ale serverului.

Administratorul cache-ului este %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/ru/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/ru/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/ru/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/ru/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:39:35.000000000 +1300 @@ -0,0 +1 @@ + ОШИБКА: Запрошенный URL не может быть получен

ERROR

The requested URL could not be retrieved


При получении URL %U произошла следующая ошибка

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

Эти ограничения были установлены администратором. Свяжитесь с ним для получения информации.

Администратор Вашего кэша: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/ru/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/ru/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/ru/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:48:19.000000000 +1300 +++ squid-3.2.0.16/errors/ru/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:40:54.000000000 +1300 @@ -1 +1 @@ - ОШИБКА: Запрошенный URL не может быть получен

ERROR

The requested URL could not be retrieved


При получении URL %U произошла следующая ошибка

Не удалось установить безопасное соединение с %I

Система вернула: %E

Для выполнения Вашего запроса этот кэш и удаленный узел не смогли согласовать взаимоприемлемые параметры безопасности. Возможно, удаленный узел не поддерживает безопасные соединения или кэш не удовлетворён удостоверением безопасности узла.

Администратор Вашего кэша: %w.



\ No newline at end of file + ОШИБКА: Запрошенный URL не может быть получен

ERROR

The requested URL could not be retrieved


При получении URL %U произошла следующая ошибка

Не удалось установить безопасное соединение с %I

The system returned:

%E (TLS code: %x)

%D

Для выполнения Вашего запроса этот кэш и удаленный узел не смогли согласовать взаимоприемлемые параметры безопасности. Возможно, удаленный узел не поддерживает безопасные соединения или кэш не удовлетворён удостоверением безопасности узла.

Администратор Вашего кэша: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/sk/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/sk/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/sk/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/sk/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:41:25.000000000 +1300 @@ -0,0 +1 @@ + CHYBA: Požadovaný URL nebolo možné získať

ERROR

The requested URL could not be retrieved


Pri pokuse o získanie URL sa vyskytla nasledovná chyba: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

Tieto obmedzenia zaviedol poskytovateľ tohto cache servera. Prosím, kontaktujte ho priamo ak máte pocit, že to je chyba.

Vaším správcom cache je %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/sk/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/sk/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/sk/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:49:18.000000000 +1300 +++ squid-3.2.0.16/errors/sk/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:43:04.000000000 +1300 @@ -1 +1 @@ - CHYBA: Požadovaný URL nebolo možné získať

ERROR

The requested URL could not be retrieved


Pri pokuse o získanie URL sa vyskytla nasledovná chyba: %U

Nepodarilo sa nadviazať zabezpečené spojenie s %I

Systém odpovedal: %E

Táto proxy a vzdialený server sa nedokázali dohodnúť na vzájomne prijateľných bezpečnostných nastaveniach na spracovanie vašej požiadavky. Je možné, že vzdialený server nepodporuje zabezpečené pripojenia alebo že proxy server nie je spokojný s prihlasovacími údajmi hostiteľa.

Vaším správcom cache je %w.



\ No newline at end of file + CHYBA: Požadovaný URL nebolo možné získať

ERROR

The requested URL could not be retrieved


Pri pokuse o získanie URL sa vyskytla nasledovná chyba: %U

Nepodarilo sa nadviazať zabezpečené spojenie s %I

The system returned:

%E (TLS code: %x)

%D

Táto proxy a vzdialený server sa nedokázali dohodnúť na vzájomne prijateľných bezpečnostných nastaveniach na spracovanie vašej požiadavky. Je možné, že vzdialený server nepodporuje zabezpečené pripojenia alebo že proxy server nie je spokojný s prihlasovacími údajmi hostiteľa.

Vaším správcom cache je %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/sl/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/sl/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/sl/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/sl/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:43:34.000000000 +1300 @@ -0,0 +1 @@ + NAPAKA: Zahtevanega naslova URL ni bilo mogoče naložiti

ERROR

The requested URL could not be retrieved


Prišlo je do napake med poskusom nalaganja naslova URL: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

Te omejitve je določil internetni ponudnik, ki oskrbuje ta predpomnilnik. Obrnite se neposredno nanj, če menite, da gre za napako.

Skrbnik vašega predpomnilnika je %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/sl/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/sl/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/sl/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:50:29.000000000 +1300 +++ squid-3.2.0.16/errors/sl/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:45:31.000000000 +1300 @@ -1 +1 @@ - NAPAKA: Zahtevanega naslova URL ni bilo mogoče naložiti

ERROR

The requested URL could not be retrieved


Prišlo je do napake med poskusom nalaganja naslova URL: %U

Ni bilo mogoče vzpostaviti varne povezave z %I

Sistem je odvrnil: %E

Ta predpomnilnik in oddaljeni gostitelj nista izpogajala obojestransko zadovoljivih varnostnih nastavitev, da bi lahko obdelala vašo zahtevo. Možno je, da oddaljeni gostitelj ne podpira varnih povezav ali pa njegova varnostna poverila ne zadoščajo temu predpomnilniku.

Skrbnik vašega predpomnilnika je %w.



\ No newline at end of file + NAPAKA: Zahtevanega naslova URL ni bilo mogoče naložiti

ERROR

The requested URL could not be retrieved


Prišlo je do napake med poskusom nalaganja naslova URL: %U

Ni bilo mogoče vzpostaviti varne povezave z %I

The system returned:

%E (TLS code: %x)

%D

Ta predpomnilnik in oddaljeni gostitelj nista izpogajala obojestransko zadovoljivih varnostnih nastavitev, da bi lahko obdelala vašo zahtevo. Možno je, da oddaljeni gostitelj ne podpira varnih povezav ali pa njegova varnostna poverila ne zadoščajo temu predpomnilniku.

Skrbnik vašega predpomnilnika je %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/sr-cyrl/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/sr-cyrl/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/sr-cyrl/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/sr-cyrl/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:46:08.000000000 +1300 @@ -0,0 +1 @@ + ERROR: The requested URL could not be retrieved

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/sr-cyrl/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/sr-cyrl/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/sr-cyrl/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:51:50.000000000 +1300 +++ squid-3.2.0.16/errors/sr-cyrl/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:48:18.000000000 +1300 @@ -1 +1 @@ - ERROR: The requested URL could not be retrieved

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

The system returned: %E

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.

Your cache administrator is %w.



\ No newline at end of file + ERROR: The requested URL could not be retrieved

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

The system returned:

%E (TLS code: %x)

%D

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.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/sr-latn/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/sr-latn/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/sr-latn/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/sr-latn/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:48:48.000000000 +1300 @@ -0,0 +1 @@ + GREŠKA: Tražena adresa (URL) ne može da se učita

ERROR

The requested URL could not be retrieved


Greška učitavanja podataka sa adrese (URL): %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Vaš keš/proksi administrator je: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/sr-latn/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/sr-latn/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/sr-latn/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:53:03.000000000 +1300 +++ squid-3.2.0.16/errors/sr-latn/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:50:07.000000000 +1300 @@ -1 +1 @@ - GREŠKA: Tražena adresa (URL) ne može da se učita

ERROR

The requested URL could not be retrieved


Greška učitavanja podataka sa adrese (URL): %U

Nije uspelo uspostavljanje sigurne veze sa %I

Odgovor sistema je: %E

Ovaj proksi i udaljeni server nisu uspeli da se dogovore oko sigunosnih podešavanja za izvršavanje vašeg zahteva. Moguce je da je udaljeni server ne podržava sigune konekcije, ili da proksi nije zadovoljan sa pravilima sigunosti udaljenog servera.

Vaš keš/proksi administrator je: %w.



\ No newline at end of file + GREŠKA: Tražena adresa (URL) ne može da se učita

ERROR

The requested URL could not be retrieved


Greška učitavanja podataka sa adrese (URL): %U

Nije uspelo uspostavljanje sigurne veze sa %I

The system returned:

%E (TLS code: %x)

%D

Ovaj proksi i udaljeni server nisu uspeli da se dogovore oko sigunosnih podešavanja za izvršavanje vašeg zahteva. Moguce je da je udaljeni server ne podržava sigune konekcije, ili da proksi nije zadovoljan sa pravilima sigunosti udaljenog servera.

Vaš keš/proksi administrator je: %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/sv/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/sv/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/sv/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/sv/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:51:20.000000000 +1300 @@ -0,0 +1 @@ + FEL: Den begärda URL:en kunde inte hämtas

ERROR

The requested URL could not be retrieved


Följande fel påträffades vid hämtning av URL: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Din cacheserver administratör är %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/sv/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/sv/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/sv/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:54:14.000000000 +1300 +++ squid-3.2.0.16/errors/sv/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:53:53.000000000 +1300 @@ -1 +1 @@ - FEL: Den begärda URL:en kunde inte hämtas

ERROR

The requested URL could not be retrieved


Följande fel påträffades vid hämtning av URL: %U

Misslyckades med att öppna en säker anslutning till %I

Systemet returnerade: %E

Denna proxy server och kontaktad server misslyckades med att förhandla fram en accepterbar säkerhetsinställning för hanteringen av din begäran. Det är möjligt att kontaktad server inte stödjer säkra anslutningar, eller att proxy servern inte r nöjd med de säkerhets alternativ eller certifikat som presenterades av servern.

Din cacheserver administratör är %w.



\ No newline at end of file + FEL: Den begärda URL:en kunde inte hämtas

ERROR

The requested URL could not be retrieved


Följande fel påträffades vid hämtning av URL: %U

Misslyckades med att öppna en säker anslutning till %I

The system returned:

%E (TLS code: %x)

%D

Denna proxy server och kontaktad server misslyckades med att förhandla fram en accepterbar säkerhetsinställning för hanteringen av din begäran. Det är möjligt att kontaktad server inte stödjer säkra anslutningar, eller att proxy servern inte r nöjd med de säkerhets alternativ eller certifikat som presenterades av servern.

Din cacheserver administratör är %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/template.list squid-3.2.0.16/errors/template.list --- squid-3.2.0.15/errors/template.list 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/errors/template.list 2012-03-07 15:42:55.000000000 +1300 @@ -1,5 +1,6 @@ ERROR_TEMPLATES= \ templates/ERR_ACCESS_DENIED \ + templates/ERR_ACL_TIME_QUOTA_EXCEEDED \ templates/ERR_AGENT_CONFIGURE \ templates/ERR_AGENT_WPAD \ templates/ERR_CACHE_ACCESS_DENIED \ diff -u -r -N squid-3.2.0.15/errors/templates/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/templates/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/templates/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/templates/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 15:42:55.000000000 +1300 @@ -0,0 +1,38 @@ + + + +ERROR: The requested URL could not be retrieved + + +
+

ERROR

+

The requested URL could not be retrieved

+
+
+ +
+

The following error was encountered while trying to retrieve the URL: %U

+ +
+

Time Quota Exceeded.

+
+ +

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

+

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

+ +

Your cache administrator is %w.

+
+
+ +
+ + diff -u -r -N squid-3.2.0.15/errors/templates/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/templates/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/templates/ERR_SECURE_CONNECT_FAIL 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/errors/templates/ERR_SECURE_CONNECT_FAIL 2012-03-07 15:42:55.000000000 +1300 @@ -23,7 +23,13 @@

Failed to establish a secure connection to %I

-

The system returned: %E

+
+

The system returned:

+
+
%E (TLS code: %x)
+

%D

+
+

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.

diff -u -r -N squid-3.2.0.15/errors/th/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/th/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/th/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/th/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:54:38.000000000 +1300 @@ -0,0 +1 @@ + ERROR: ไม่สามารถเรียกดู URL ที่ได้รับการร้องขอ

ERROR

ไม่สามารถเรียกดู URL ที่ได้รับการร้องขอ


พบความผิดพลาดดังต่อไปนี้ระหว่างที่พยายามเรียกดู URL: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

ผู้ดูแลระบบแคชของคุณคือ %w



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/th/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/th/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/th/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:55:32.000000000 +1300 +++ squid-3.2.0.16/errors/th/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:56:30.000000000 +1300 @@ -1 +1 @@ - ERROR: ไม่สามารถเรียกดู URL ที่ได้รับการร้องขอ

ERROR

ไม่สามารถเรียกดู URL ที่ได้รับการร้องขอ


พบความผิดพลาดดังต่อไปนี้ระหว่างที่พยายามเรียกดู URL: %U

สร้างการเชื่อมต่อนิรภัย (secure connection) ไปยัง %I ไม่สำเร็จ

ระบบส่งค่าคืนดังนี้: %E

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.

ผู้ดูแลระบบแคชของคุณคือ %w



\ No newline at end of file + ERROR: ไม่สามารถเรียกดู URL ที่ได้รับการร้องขอ

ERROR

ไม่สามารถเรียกดู URL ที่ได้รับการร้องขอ


พบความผิดพลาดดังต่อไปนี้ระหว่างที่พยายามเรียกดู URL: %U

สร้างการเชื่อมต่อนิรภัย (secure connection) ไปยัง %I ไม่สำเร็จ

The system returned:

%E (TLS code: %x)

%D

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.

ผู้ดูแลระบบแคชของคุณคือ %w



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/tr/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/tr/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/tr/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/tr/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:57:08.000000000 +1300 @@ -0,0 +1 @@ + HATA: İstenilen URL'e ulaşılamadı

ERROR

The requested URL could not be retrieved


URL adresine erişilmeye çalışıyorken hata meydana geldi: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Önbellk yöneticiniz %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/tr/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/tr/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/tr/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:56:52.000000000 +1300 +++ squid-3.2.0.16/errors/tr/ERR_SECURE_CONNECT_FAIL 2012-03-07 16:59:17.000000000 +1300 @@ -1 +1 @@ - HATA: İstenilen URL'e ulaşılamadı

ERROR

The requested URL could not be retrieved


URL adresine erişilmeye çalışıyorken hata meydana geldi: %U

%I ile güvenli bağlantı kurma başarısız

Sistemden gelen mesaj: %E

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.

Önbellk yöneticiniz %w.



\ No newline at end of file + HATA: İstenilen URL'e ulaşılamadı

ERROR

The requested URL could not be retrieved


URL adresine erişilmeye çalışıyorken hata meydana geldi: %U

%I ile güvenli bağlantı kurma başarısız

The system returned:

%E (TLS code: %x)

%D

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.

Önbellk yöneticiniz %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/uk/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/uk/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/uk/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/uk/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 16:59:58.000000000 +1300 @@ -0,0 +1 @@ + ПОМИЛКА: Запитаний URL не може бути отриманий.

ERROR

The requested URL could not be retrieved


При отриманні URL: %U виникла помилка.

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Адміністратор даного кешу %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/uk/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/uk/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/uk/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:57:59.000000000 +1300 +++ squid-3.2.0.16/errors/uk/ERR_SECURE_CONNECT_FAIL 2012-03-07 17:02:13.000000000 +1300 @@ -1 +1 @@ - ПОМИЛКА: Запитаний URL не може бути отриманий.

ERROR

The requested URL could not be retrieved


При отриманні URL: %U виникла помилка.

Невдалося встановити безпечне з'єднання з %I

Система повідомляє: %E

При обробці Вашого запиту даний кеш і віддалений вузел не змогли підібрати взаємовигідні параметри безпеки. Можливо віддалений вузел не підтримує безпечні з'єднання, або кеш не задоволений сертифікатом безпечності вузла.

Адміністратор даного кешу %w.



\ No newline at end of file + ПОМИЛКА: Запитаний URL не може бути отриманий.

ERROR

The requested URL could not be retrieved


При отриманні URL: %U виникла помилка.

Невдалося встановити безпечне з'єднання з %I

The system returned:

%E (TLS code: %x)

%D

При обробці Вашого запиту даний кеш і віддалений вузел не змогли підібрати взаємовигідні параметри безпеки. Можливо віддалений вузел не підтримує безпечні з'єднання, або кеш не задоволений сертифікатом безпечності вузла.

Адміністратор даного кешу %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/uz/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/uz/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/uz/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/uz/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 17:02:49.000000000 +1300 @@ -0,0 +1 @@ + ХАТО: Сўралган URL топилмади

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/uz/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/uz/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/uz/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:58:57.000000000 +1300 +++ squid-3.2.0.16/errors/uz/ERR_SECURE_CONNECT_FAIL 2012-03-07 17:04:01.000000000 +1300 @@ -1 +1 @@ - ХАТО: Сўралган URL топилмади

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

%I'га хавфсизлик уланиш ўрнатиш муваффақиятсиз якунланди

Тизим қайтарди: %E

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.

Your cache administrator is %w.



\ No newline at end of file + ХАТО: Сўралган URL топилмади

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

%I'га хавфсизлик уланиш ўрнатиш муваффақиятсиз якунланди

The system returned:

%E (TLS code: %x)

%D

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.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/vi/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/vi/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/vi/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/vi/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 17:04:24.000000000 +1300 @@ -0,0 +1 @@ + LỖI: The requested URL could not be retrieved

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/vi/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/vi/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/vi/ERR_SECURE_CONNECT_FAIL 2012-02-06 05:59:55.000000000 +1300 +++ squid-3.2.0.16/errors/vi/ERR_SECURE_CONNECT_FAIL 2012-03-07 17:05:24.000000000 +1300 @@ -1 +1 @@ - LỖI: The requested URL could not be retrieved

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Không thiết lập được một kết nối bảo mật đến %I

The system returned: %E

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.

Your cache administrator is %w.



\ No newline at end of file + LỖI: The requested URL could not be retrieved

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Không thiết lập được một kết nối bảo mật đến %I

The system returned:

%E (TLS code: %x)

%D

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.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/zh-cn/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/zh-cn/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/zh-cn/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/zh-cn/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 17:05:41.000000000 +1300 @@ -0,0 +1 @@ + 错误: 您所请求的网址(URL)无法获取

ERROR

The requested URL could not be retrieved


当尝试取回该 URL 时遇到下面的错误:%U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

缓存服务器的管理员 %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/zh-cn/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/zh-cn/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/zh-cn/ERR_SECURE_CONNECT_FAIL 2012-02-06 06:00:58.000000000 +1300 +++ squid-3.2.0.16/errors/zh-cn/ERR_SECURE_CONNECT_FAIL 2012-03-07 17:06:47.000000000 +1300 @@ -1 +1 @@ - 错误: 您所请求的网址(URL)无法获取

ERROR

The requested URL could not be retrieved


当尝试取回该 URL 时遇到下面的错误:%U

建立到 %I 的安全连接失败

系统返回以下内容:%E

此代理和远端主机无法为处理您的请求在相互可接受的安全设置上协商一致。有可能远端计算机不支持安全连接,或者代理对主机的安全凭据不认可。

缓存服务器的管理员 %w.



\ No newline at end of file + 错误: 您所请求的网址(URL)无法获取

ERROR

The requested URL could not be retrieved


当尝试取回该 URL 时遇到下面的错误:%U

建立到 %I 的安全连接失败

The system returned:

%E (TLS code: %x)

%D

此代理和远端主机无法为处理您的请求在相互可接受的安全设置上协商一致。有可能远端计算机不支持安全连接,或者代理对主机的安全凭据不认可。

缓存服务器的管理员 %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/zh-tw/ERR_ACL_TIME_QUOTA_EXCEEDED squid-3.2.0.16/errors/zh-tw/ERR_ACL_TIME_QUOTA_EXCEEDED --- squid-3.2.0.15/errors/zh-tw/ERR_ACL_TIME_QUOTA_EXCEEDED 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/errors/zh-tw/ERR_ACL_TIME_QUOTA_EXCEEDED 2012-03-07 17:07:10.000000000 +1300 @@ -0,0 +1 @@ + 錯誤: 欲連結之網址(URL)無法正確的傳回

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Time Quota Exceeded.

This proxy limits your time online with a quota. Your time budget is now empty but will be refilled when the configured time period starts again.

These limits have been established by the Internet Service Provider who operates this cache. Please contact them directly if you feel this is an error.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/errors/zh-tw/ERR_SECURE_CONNECT_FAIL squid-3.2.0.16/errors/zh-tw/ERR_SECURE_CONNECT_FAIL --- squid-3.2.0.15/errors/zh-tw/ERR_SECURE_CONNECT_FAIL 2012-02-06 06:02:00.000000000 +1300 +++ squid-3.2.0.16/errors/zh-tw/ERR_SECURE_CONNECT_FAIL 2012-03-07 17:08:21.000000000 +1300 @@ -1 +1 @@ - 錯誤: 欲連結之網址(URL)無法正確的傳回

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

系統回應了下列錯誤訊息:%E

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.

Your cache administrator is %w.



\ No newline at end of file + 錯誤: 欲連結之網址(URL)無法正確的傳回

ERROR

The requested URL could not be retrieved


The following error was encountered while trying to retrieve the URL: %U

Failed to establish a secure connection to %I

The system returned:

%E (TLS code: %x)

%D

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.

Your cache administrator is %w.



\ No newline at end of file diff -u -r -N squid-3.2.0.15/helpers/basic_auth/DB/basic_db_auth.8 squid-3.2.0.16/helpers/basic_auth/DB/basic_db_auth.8 --- squid-3.2.0.15/helpers/basic_auth/DB/basic_db_auth.8 2012-02-06 06:02:19.000000000 +1300 +++ squid-3.2.0.16/helpers/basic_auth/DB/basic_db_auth.8 2012-03-07 17:08:46.000000000 +1300 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "BASIC_DB_AUTH 1" -.TH BASIC_DB_AUTH 1 "2012-02-05" "perl v5.10.1" "User Contributed Perl Documentation" +.TH BASIC_DB_AUTH 1 "2012-03-06" "perl v5.10.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -u -r -N squid-3.2.0.15/helpers/external_acl/wbinfo_group/ext_wbinfo_group_acl.8 squid-3.2.0.16/helpers/external_acl/wbinfo_group/ext_wbinfo_group_acl.8 --- squid-3.2.0.15/helpers/external_acl/wbinfo_group/ext_wbinfo_group_acl.8 2012-02-06 06:02:27.000000000 +1300 +++ squid-3.2.0.16/helpers/external_acl/wbinfo_group/ext_wbinfo_group_acl.8 2012-03-07 17:08:56.000000000 +1300 @@ -124,7 +124,7 @@ .\" ======================================================================== .\" .IX Title "EXT_WBINFO_GROUP_ACL.PL.IN 1" -.TH EXT_WBINFO_GROUP_ACL.PL.IN 1 "2012-02-05" "perl v5.10.1" "User Contributed Perl Documentation" +.TH EXT_WBINFO_GROUP_ACL.PL.IN 1 "2012-03-06" "perl v5.10.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff -u -r -N squid-3.2.0.15/include/version.h squid-3.2.0.16/include/version.h --- squid-3.2.0.15/include/version.h 2012-02-06 05:01:04.000000000 +1300 +++ squid-3.2.0.16/include/version.h 2012-03-07 15:47:32.000000000 +1300 @@ -9,7 +9,7 @@ */ #ifndef SQUID_RELEASE_TIME -#define SQUID_RELEASE_TIME 1328457139 +#define SQUID_RELEASE_TIME 1331088172 #endif #ifndef APP_SHORTNAME diff -u -r -N squid-3.2.0.15/lib/ntlmauth/ntlmauth.cc squid-3.2.0.16/lib/ntlmauth/ntlmauth.cc --- squid-3.2.0.15/lib/ntlmauth/ntlmauth.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/lib/ntlmauth/ntlmauth.cc 2012-03-07 15:42:55.000000000 +1300 @@ -274,8 +274,10 @@ domain[rv.l] = '\0'; debug("ntlm_unpack_auth: Domain '%s'.\n", domain); } - if (rv.l >= size) + if (rv.l >= size) { + debug("ntlm_unpack_auth: Domain length %d too big for %d byte packet.\n", rv.l , size); return NTLM_ERR_BLOB; + } rv = ntlm_fetch_string(&auth->hdr, size, &auth->user, auth->flags); if (rv.l > 0) { diff -u -r -N squid-3.2.0.15/RELEASENOTES.html squid-3.2.0.16/RELEASENOTES.html --- squid-3.2.0.15/RELEASENOTES.html 2012-02-06 06:03:01.000000000 +1300 +++ squid-3.2.0.16/RELEASENOTES.html 2012-03-07 17:09:24.000000000 +1300 @@ -2,10 +2,10 @@ - Squid 3.2.0.15 release notes + Squid 3.2.0.16 release notes -

Squid 3.2.0.15 release notes

+

Squid 3.2.0.16 release notes

Squid Developers


@@ -72,7 +72,7 @@

1. Notice

-

The Squid Team are pleased to announce the release of Squid-3.2.0.15 for testing.

+

The Squid Team are pleased to announce the release of Squid-3.2.0.16 for testing.

This new release is available for download from http://www.squid-cache.org/Versions/v3/3.2/ or the mirrors.

@@ -404,7 +404,7 @@ direct filesystem logging (stdio, daemon) to network logging (syslog, UDP and TCP). The daemon logging interface allows for a custom helper to be written to process logs in real-time.

-

Upgrading: the access_log was previously logge via what is now called the stdio module. +

Upgrading: the access_log was previously logged via what is now called the stdio module. This is still supported and used by default if no module is named. For best performance particularly in SMP environments we recommend the daemon be used. The provided log_file_daemon helper performs the traditional logging to local filesystem.

@@ -417,7 +417,8 @@ required to store a long period of access.log and needs to conserve disk space.

The referer_log and useragent_log directives have been converted to built-in log formats. -These logs are now created using an access_log line with the format "referrer" or "useragent".

+These logs are now created using an access_log line with the format "referrer" or "useragent". +They also now log all client requests, if there was no Referer or User-Agent header a dash (-) is logged.

2.10 Client Bandwidth Limits @@ -689,9 +690,6 @@ 3xx status only available when redirecting to a URI. Other status only available when supplying an error template body.

-
dns_v4_fallback
-

Obsoleted by DNS parallel lookups.

-
external_acl_type

New format tags and option parameters:

%SRCEUI48 EUI-48 / MAC address of client from ARP lookup.

@@ -791,6 +789,9 @@

+
dns_v4_fallback
+

Obsolete. Replaced by DNS parallel lookups.

+
emulate_httpd_log

Replaced by common format option on an access_log directive.

diff -u -r -N squid-3.2.0.15/src/adaptation/ecap/XactionRep.cc squid-3.2.0.16/src/adaptation/ecap/XactionRep.cc --- squid-3.2.0.15/src/adaptation/ecap/XactionRep.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/adaptation/ecap/XactionRep.cc 2012-03-07 15:42:55.000000000 +1300 @@ -199,8 +199,8 @@ typedef Adaptation::Config::MetaHeaders::iterator ACAMLI; for (ACAMLI i = Adaptation::Config::metaHeaders.begin(); i != Adaptation::Config::metaHeaders.end(); ++i) { - const char *v; - if (v = (*i)->match(request, reply)) { + const char *v = (*i)->match(request, reply); + if (v) { const libecap::Name name((*i)->name.termedBuf()); const libecap::Area value = libecap::Area::FromTempString(v); visitor.visit(name, value); diff -u -r -N squid-3.2.0.15/src/anyp/ProtocolType.cc squid-3.2.0.16/src/anyp/ProtocolType.cc --- squid-3.2.0.15/src/anyp/ProtocolType.cc 2012-02-06 06:02:41.000000000 +1300 +++ squid-3.2.0.16/src/anyp/ProtocolType.cc 2012-03-07 17:09:09.000000000 +1300 @@ -11,6 +11,8 @@ "HTTP", "FTP", "HTTPS", + "COAP", + "COAPS", "GOPHER", "WAIS", "CACHE_OBJECT", diff -u -r -N squid-3.2.0.15/src/anyp/ProtocolType.h squid-3.2.0.16/src/anyp/ProtocolType.h --- squid-3.2.0.15/src/anyp/ProtocolType.h 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/anyp/ProtocolType.h 2012-03-07 15:42:55.000000000 +1300 @@ -18,6 +18,8 @@ PROTO_HTTP, PROTO_FTP, PROTO_HTTPS, + PROTO_COAP, + PROTO_COAPS, PROTO_GOPHER, PROTO_WAIS, PROTO_CACHE_OBJECT, diff -u -r -N squid-3.2.0.15/src/BodyPipe.cc squid-3.2.0.16/src/BodyPipe.cc --- squid-3.2.0.15/src/BodyPipe.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/BodyPipe.cc 2012-03-07 15:42:55.000000000 +1300 @@ -268,14 +268,28 @@ void BodyPipe::expectNoConsumption() { - Must(!theConsumer); + // We may be called multiple times because multiple jobs on the consumption + // chain may realize that there will be no more setConsumer() calls (e.g., + // consuming code and retrying code). It is both difficult and not really + // necessary for them to coordinate their expectNoConsumption() calls. + + // As a consequence, we may be called when we are auto-consuming already. + if (!abortedConsumption && !exhausted()) { + // Before we abort, any regular consumption should be over and auto + // consumption must not be started. + Must(!theConsumer); + AsyncCall::Pointer call= asyncCall(91, 7, "BodyProducer::noteBodyConsumerAborted", BodyProducerDialer(theProducer, &BodyProducer::noteBodyConsumerAborted, this)); ScheduleCallHere(call); abortedConsumption = true; + + // in case somebody enabled auto-consumption before regular one aborted + if (mustAutoConsume) + startAutoConsumption(); } } diff -u -r -N squid-3.2.0.15/src/cache_cf.cc squid-3.2.0.16/src/cache_cf.cc --- squid-3.2.0.15/src/cache_cf.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/cache_cf.cc 2012-03-07 15:42:55.000000000 +1300 @@ -1334,14 +1334,14 @@ return; } - if (!strcmp(token,"any_addr")) { + if (!strcmp(token,"any_addr")) addr->SetAnyAddr(); - (void) 0; - } else if ( (!strcmp(token,"no_addr")) || (!strcmp(token,"full_mask")) ) { + else if ( (!strcmp(token,"no_addr")) || (!strcmp(token,"full_mask")) ) addr->SetNoAddr(); + else if ( (*addr = token) ) // try parse numeric/IPA (void) 0; - } else - *addr = token; + else + addr->GetHostByName(token); // dont use ipcache } static void diff -u -r -N squid-3.2.0.15/src/CacheDigest.cc squid-3.2.0.16/src/CacheDigest.cc --- squid-3.2.0.15/src/CacheDigest.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/CacheDigest.cc 2012-03-07 15:42:55.000000000 +1300 @@ -34,6 +34,7 @@ */ #include "squid-old.h" +#include "StatCounters.h" #include "Store.h" #if USE_CACHE_DIGESTS @@ -176,7 +177,7 @@ on_xition_cnt++; } - statHistCount(&statCounter.cd.on_xition_count, on_xition_cnt); + statCounter.cd.on_xition_count.count(on_xition_cnt); } #endif cd->count++; @@ -235,30 +236,30 @@ } void -cacheDigestGuessStatsUpdate(cd_guess_stats * stats, int real_hit, int guess_hit) +cacheDigestGuessStatsUpdate(CacheDigestGuessStats * stats, int real_hit, int guess_hit) { assert(stats); if (real_hit) { if (guess_hit) - stats->true_hits++; + ++stats->trueHits; else - stats->false_misses++; + ++stats->falseMisses; } else { if (guess_hit) - stats->false_hits++; + ++stats->falseHits; else - stats->true_misses++; + ++stats->trueMisses; } } void -cacheDigestGuessStatsReport(const cd_guess_stats * stats, StoreEntry * sentry, const char *label) +cacheDigestGuessStatsReport(const CacheDigestGuessStats * stats, StoreEntry * sentry, const char *label) { - const int true_count = stats->true_hits + stats->true_misses; - const int false_count = stats->false_hits + stats->false_misses; - const int hit_count = stats->true_hits + stats->false_hits; - const int miss_count = stats->true_misses + stats->false_misses; + const int true_count = stats->trueHits + stats->trueMisses; + const int false_count = stats->falseHits + stats->falseMisses; + const int hit_count = stats->trueHits + stats->falseHits; + const int miss_count = stats->trueMisses + stats->falseMisses; const int tot_count = true_count + false_count; assert(label); @@ -273,19 +274,19 @@ storeAppendPrintf(sentry, "guess\t hit\t\t miss\t\t total\t\t\n"); storeAppendPrintf(sentry, " \t #\t %%\t #\t %%\t #\t %%\t\n"); storeAppendPrintf(sentry, "true\t %d\t %.2f\t %d\t %.2f\t %d\t %.2f\n", - stats->true_hits, xpercent(stats->true_hits, tot_count), - stats->true_misses, xpercent(stats->true_misses, tot_count), + stats->trueHits, xpercent(stats->trueHits, tot_count), + stats->trueMisses, xpercent(stats->trueMisses, tot_count), true_count, xpercent(true_count, tot_count)); storeAppendPrintf(sentry, "false\t %d\t %.2f\t %d\t %.2f\t %d\t %.2f\n", - stats->false_hits, xpercent(stats->false_hits, tot_count), - stats->false_misses, xpercent(stats->false_misses, tot_count), + stats->falseHits, xpercent(stats->falseHits, tot_count), + stats->falseMisses, xpercent(stats->falseMisses, tot_count), false_count, xpercent(false_count, tot_count)); storeAppendPrintf(sentry, "all\t %d\t %.2f\t %d\t %.2f\t %d\t %.2f\n", hit_count, xpercent(hit_count, tot_count), miss_count, xpercent(miss_count, tot_count), tot_count, xpercent(tot_count, tot_count)); storeAppendPrintf(sentry, "\tclose_hits: %d ( %d%%) /* cd said hit, doc was in the peer cache, but we got a miss */\n", - stats->close_hits, xpercentInt(stats->close_hits, stats->false_hits)); + stats->closeHits, xpercentInt(stats->closeHits, stats->falseHits)); } void diff -u -r -N squid-3.2.0.15/src/cf.data.pre squid-3.2.0.16/src/cf.data.pre --- squid-3.2.0.15/src/cf.data.pre 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/cf.data.pre 2012-03-07 15:42:55.000000000 +1300 @@ -4644,7 +4644,7 @@ LOC: Config.Timeout.request DEFAULT: 5 minutes DOC_START - How long to wait for an HTTP request after initial + How long to wait for complete HTTP request headers after initial connection establishment. DOC_END diff -u -r -N squid-3.2.0.15/src/client_db.cc squid-3.2.0.16/src/client_db.cc --- squid-3.2.0.15/src/client_db.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/client_db.cc 2012-03-07 15:42:55.000000000 +1300 @@ -40,6 +40,7 @@ #include "mgr/Registration.h" #include "SquidMath.h" #include "SquidTime.h" +#include "StatCounters.h" #include "Store.h" @@ -92,7 +93,7 @@ c->prevTime=current_dtime;/* put current time to have something sensible here */ #endif hash_join(client_table, &c->hash); - statCounter.client_http.clients++; + ++statCounter.client_http.clients; if ((statCounter.client_http.clients > max_clients) && !cleanup_running && cleanup_scheduled < 2) { cleanup_scheduled++; @@ -404,7 +405,7 @@ clientdbFreeItem(c); - statCounter.client_http.clients--; + --statCounter.client_http.clients; cleanup_removed++; } diff -u -r -N squid-3.2.0.15/src/client_side.cc squid-3.2.0.16/src/client_side.cc --- squid-3.2.0.15/src/client_side.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/client_side.cc 2012-03-07 15:42:55.000000000 +1300 @@ -117,6 +117,8 @@ #include "MemObject.h" #include "ProtoPort.h" #include "rfc1738.h" +#include "StatCounters.h" +#include "StatHist.h" #include "SquidTime.h" #if USE_SSL #include "ssl/context_storage.h" @@ -425,21 +427,21 @@ void clientUpdateStatCounters(log_type logType) { - statCounter.client_http.requests++; + ++statCounter.client_http.requests; if (logTypeIsATcpHit(logType)) - statCounter.client_http.hits++; + ++statCounter.client_http.hits; if (logType == LOG_TCP_HIT) - statCounter.client_http.disk_hits++; + ++statCounter.client_http.disk_hits; else if (logType == LOG_TCP_MEM_HIT) - statCounter.client_http.mem_hits++; + ++statCounter.client_http.mem_hits; } void clientUpdateStatHistCounters(log_type logType, int svc_time) { - statHistCount(&statCounter.client_http.all_svc_time, svc_time); + statCounter.client_http.allSvcTime.count(svc_time); /** * The idea here is not to be complete, but to get service times * for only well-defined types. For example, we don't include @@ -450,11 +452,11 @@ switch (logType) { case LOG_TCP_REFRESH_UNMODIFIED: - statHistCount(&statCounter.client_http.nh_svc_time, svc_time); + statCounter.client_http.nearHitSvcTime.count(svc_time); break; case LOG_TCP_IMS_HIT: - statHistCount(&statCounter.client_http.nm_svc_time, svc_time); + statCounter.client_http.nearMissSvcTime.count(svc_time); break; case LOG_TCP_HIT: @@ -462,13 +464,13 @@ case LOG_TCP_MEM_HIT: case LOG_TCP_OFFLINE_HIT: - statHistCount(&statCounter.client_http.hit_svc_time, svc_time); + statCounter.client_http.hitSvcTime.count(svc_time); break; case LOG_TCP_MISS: case LOG_TCP_CLIENT_REFRESH_MISS: - statHistCount(&statCounter.client_http.miss_svc_time, svc_time); + statCounter.client_http.missSvcTime.count(svc_time); break; default: @@ -512,8 +514,7 @@ i = &someEntry->ping; if (clientPingHasFinished(i)) - statHistCount(&statCounter.icp.query_svc_time, - tvSubUsec(i->start, i->stop)); + statCounter.icp.querySvcTime.count(tvSubUsec(i->start, i->stop)); if (i->timeout) statCounter.icp.query_timeouts++; @@ -2832,7 +2833,7 @@ if (io.flag == COMM_OK) { if (io.size > 0) { - kb_incr(&statCounter.client_http.kbytes_in, io.size); + kb_incr(&(statCounter.client_http.kbytes_in), io.size); // may comm_close or setReplyToError if (!handleReadData(io.buf, io.size)) @@ -3232,7 +3233,7 @@ typedef CommCbMemFunT TimeoutDialer; AsyncCall::Pointer timeoutCall = JobCallback(33, 5, TimeoutDialer, connState, ConnStateData::requestTimeout); - commSetConnTimeout(params.conn, Config.Timeout.read, timeoutCall); + commSetConnTimeout(params.conn, Config.Timeout.request, timeoutCall); connState->readSomeData(); diff -u -r -N squid-3.2.0.15/src/comm/Loops.h squid-3.2.0.16/src/comm/Loops.h --- squid-3.2.0.15/src/comm/Loops.h 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/comm/Loops.h 2012-03-07 15:42:55.000000000 +1300 @@ -3,6 +3,9 @@ #include "comm_err_t.h" +// for PF +#include "typedefs.h" + /* Comm layer select loops API. * * These API functions must be implemented by all FD IO loops used by Squid. diff -u -r -N squid-3.2.0.15/src/comm/ModDevPoll.cc squid-3.2.0.16/src/comm/ModDevPoll.cc --- squid-3.2.0.15/src/comm/ModDevPoll.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/comm/ModDevPoll.cc 2012-03-07 15:42:55.000000000 +1300 @@ -59,6 +59,8 @@ #include "fde.h" #include "mgr/Registration.h" #include "SquidTime.h" +#include "StatCounters.h" +#include "StatHist.h" #include "Store.h" #if HAVE_SYS_DEVPOLL_H @@ -172,10 +174,9 @@ static void commIncomingStats(StoreEntry *sentry) { - StatCounters *f = &statCounter; storeAppendPrintf(sentry, "Total number of devpoll loops: %ld\n", statCounter.select_loops); storeAppendPrintf(sentry, "Histogram of returned filedescriptors\n"); - statHistDump(&f->select_fds_hist, sentry, statHistIntDumper); + statCounter.select_fds_hist.dump(sentry, statHistIntDumper); } @@ -377,7 +378,7 @@ PROF_stop(comm_check_incoming); getCurrentTime(); - statHistCount(&statCounter.select_fds_hist, num); + statCounter.select_fds_hist.count(num); if (num == 0) return COMM_TIMEOUT; /* no error */ diff -u -r -N squid-3.2.0.15/src/comm/ModEpoll.cc squid-3.2.0.16/src/comm/ModEpoll.cc --- squid-3.2.0.15/src/comm/ModEpoll.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/comm/ModEpoll.cc 2012-03-07 15:42:55.000000000 +1300 @@ -60,6 +60,8 @@ #include "fde.h" #include "mgr/Registration.h" #include "SquidTime.h" +#include "StatCounters.h" +#include "StatHist.h" #include "Store.h" #define DEBUG_EPOLL 0 @@ -227,7 +229,7 @@ StatCounters *f = &statCounter; storeAppendPrintf(sentry, "Total number of epoll(2) loops: %ld\n", statCounter.select_loops); storeAppendPrintf(sentry, "Histogram of returned filedescriptors\n"); - statHistDump(&f->select_fds_hist, sentry, statHistIntDumper); + f->select_fds_hist.dump(sentry, statHistIntDumper); } /** @@ -274,7 +276,7 @@ PROF_stop(comm_check_incoming); getCurrentTime(); - statHistCount(&statCounter.select_fds_hist, num); + statCounter.select_fds_hist.count(num); if (num == 0) return COMM_TIMEOUT; /* No error.. */ diff -u -r -N squid-3.2.0.15/src/comm/ModPoll.cc squid-3.2.0.16/src/comm/ModPoll.cc --- squid-3.2.0.15/src/comm/ModPoll.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/comm/ModPoll.cc 2012-03-07 15:42:55.000000000 +1300 @@ -41,6 +41,7 @@ #include "ICP.h" #include "mgr/Registration.h" #include "SquidTime.h" +#include "StatCounters.h" #include "Store.h" #if HAVE_POLL_H @@ -305,7 +306,7 @@ if (nevents > INCOMING_ICP_MAX) nevents = INCOMING_ICP_MAX; - statHistCount(&statCounter.comm_icp_incoming, nevents); + statCounter.comm_icp_incoming.count(nevents); } static void @@ -339,7 +340,7 @@ if (nevents > INCOMING_HTTP_MAX) nevents = INCOMING_HTTP_MAX; - statHistCount(&statCounter.comm_http_incoming, nevents); + statCounter.comm_http_incoming.count(nevents); } /* poll all sockets; call handlers for those that are ready. */ @@ -449,7 +450,7 @@ getCurrentTime(); debugs(5, num ? 5 : 8, "comm_poll: " << num << "+" << npending << " FDs ready"); - statHistCount(&statCounter.select_fds_hist, num); + statCounter.select_fds_hist.count(num); if (num == 0 && npending == 0) continue; @@ -620,7 +621,7 @@ if (nevents > INCOMING_DNS_MAX) nevents = INCOMING_DNS_MAX; - statHistCount(&statCounter.comm_dns_incoming, nevents); + statCounter.comm_dns_incoming.count(nevents); } @@ -641,7 +642,6 @@ static void commIncomingStats(StoreEntry * sentry) { - StatCounters *f = &statCounter; storeAppendPrintf(sentry, "Current incoming_icp_interval: %d\n", incoming_icp_interval >> INCOMING_FACTOR); storeAppendPrintf(sentry, "Current incoming_dns_interval: %d\n", @@ -651,11 +651,11 @@ storeAppendPrintf(sentry, "\n"); storeAppendPrintf(sentry, "Histogram of events per incoming socket type\n"); storeAppendPrintf(sentry, "ICP Messages handled per comm_poll_icp_incoming() call:\n"); - statHistDump(&f->comm_icp_incoming, sentry, statHistIntDumper); + statCounter.comm_icp_incoming.dump(sentry, statHistIntDumper); storeAppendPrintf(sentry, "DNS Messages handled per comm_poll_dns_incoming() call:\n"); - statHistDump(&f->comm_dns_incoming, sentry, statHistIntDumper); + statCounter.comm_dns_incoming.dump(sentry, statHistIntDumper); storeAppendPrintf(sentry, "HTTP Messages handled per comm_poll_http_incoming() call:\n"); - statHistDump(&f->comm_http_incoming, sentry, statHistIntDumper); + statCounter.comm_http_incoming.dump(sentry, statHistIntDumper); } /* Called by async-io or diskd to speed up the polling */ diff -u -r -N squid-3.2.0.15/src/comm/ModSelect.cc squid-3.2.0.16/src/comm/ModSelect.cc --- squid-3.2.0.15/src/comm/ModSelect.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/comm/ModSelect.cc 2012-03-07 15:42:55.000000000 +1300 @@ -40,6 +40,8 @@ #include "ICP.h" #include "mgr/Registration.h" #include "SquidTime.h" +#include "StatCounters.h" +#include "StatHist.h" #include "Store.h" #include "fde.h" @@ -299,7 +301,7 @@ if (nevents > INCOMING_ICP_MAX) nevents = INCOMING_ICP_MAX; - statHistCount(&statCounter.comm_icp_incoming, nevents); + statCounter.comm_icp_incoming.count(nevents); } static void @@ -330,7 +332,7 @@ if (nevents > INCOMING_HTTP_MAX) nevents = INCOMING_HTTP_MAX; - statHistCount(&statCounter.comm_http_incoming, nevents); + statCounter.comm_http_incoming.count(nevents); } #define DEBUG_FDBITS 0 @@ -470,7 +472,7 @@ debugs(5, num ? 5 : 8, "comm_select: " << num << "+" << pending << " FDs ready"); - statHistCount(&statCounter.select_fds_hist, num); + statCounter.select_fds_hist.count(num); if (num == 0 && pending == 0) continue; @@ -660,7 +662,7 @@ if (nevents > INCOMING_DNS_MAX) nevents = INCOMING_DNS_MAX; - statHistCount(&statCounter.comm_dns_incoming, nevents); + statCounter.comm_dns_incoming.count(nevents); } void @@ -752,7 +754,6 @@ static void commIncomingStats(StoreEntry * sentry) { - StatCounters *f = &statCounter; storeAppendPrintf(sentry, "Current incoming_icp_interval: %d\n", incoming_icp_interval >> INCOMING_FACTOR); storeAppendPrintf(sentry, "Current incoming_dns_interval: %d\n", @@ -762,11 +763,11 @@ storeAppendPrintf(sentry, "\n"); storeAppendPrintf(sentry, "Histogram of events per incoming socket type\n"); storeAppendPrintf(sentry, "ICP Messages handled per comm_select_icp_incoming() call:\n"); - statHistDump(&f->comm_icp_incoming, sentry, statHistIntDumper); + statCounter.comm_icp_incoming.dump(sentry, statHistIntDumper); storeAppendPrintf(sentry, "DNS Messages handled per comm_select_dns_incoming() call:\n"); - statHistDump(&f->comm_dns_incoming, sentry, statHistIntDumper); + statCounter.comm_dns_incoming.dump(sentry, statHistIntDumper); storeAppendPrintf(sentry, "HTTP Messages handled per comm_select_http_incoming() call:\n"); - statHistDump(&f->comm_http_incoming, sentry, statHistIntDumper); + statCounter.comm_http_incoming.dump(sentry, statHistIntDumper); } void diff -u -r -N squid-3.2.0.15/src/comm/ModSelectWin32.cc squid-3.2.0.16/src/comm/ModSelectWin32.cc --- squid-3.2.0.15/src/comm/ModSelectWin32.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/comm/ModSelectWin32.cc 2012-03-07 15:42:55.000000000 +1300 @@ -40,6 +40,8 @@ #include "fde.h" #include "mgr/Registration.h" #include "SquidTime.h" +#include "StatCounters.h" +#include "StatHist.h" #include "Store.h" static int MAX_POLL_TIME = 1000; /* see also Comm::QuickPollRequired() */ @@ -302,7 +304,7 @@ if (nevents > INCOMING_ICP_MAX) nevents = INCOMING_ICP_MAX; - statHistCount(&statCounter.comm_icp_incoming, nevents); + statCounter.comm_icp_incoming.count(nevents); } static void @@ -333,7 +335,7 @@ if (nevents > INCOMING_HTTP_MAX) nevents = INCOMING_HTTP_MAX; - statHistCount(&statCounter.comm_http_incoming, nevents); + statCounter.comm_http_incoming.count(nevents); } #define DEBUG_FDBITS 0 @@ -470,7 +472,7 @@ debugs(5, num ? 5 : 8, "comm_select: " << num << "+" << pending << " FDs ready"); - statHistCount(&statCounter.select_fds_hist, num); + statCounter.select_fds_hist.count(num); if (num == 0 && pending == 0) continue; @@ -682,7 +684,7 @@ if (nevents > INCOMING_DNS_MAX) nevents = INCOMING_DNS_MAX; - statHistCount(&statCounter.comm_dns_incoming, nevents); + statCounter.comm_dns_incoming.count(nevents); } void @@ -774,7 +776,6 @@ static void commIncomingStats(StoreEntry * sentry) { - StatCounters *f = &statCounter; storeAppendPrintf(sentry, "Current incoming_icp_interval: %d\n", incoming_icp_interval >> INCOMING_FACTOR); storeAppendPrintf(sentry, "Current incoming_dns_interval: %d\n", @@ -784,11 +785,11 @@ storeAppendPrintf(sentry, "\n"); storeAppendPrintf(sentry, "Histogram of events per incoming socket type\n"); storeAppendPrintf(sentry, "ICP Messages handled per comm_select_icp_incoming() call:\n"); - statHistDump(&f->comm_icp_incoming, sentry, statHistIntDumper); + statCounter.comm_icp_incoming.dump(sentry, statHistIntDumper); storeAppendPrintf(sentry, "DNS Messages handled per comm_select_dns_incoming() call:\n"); - statHistDump(&f->comm_dns_incoming, sentry, statHistIntDumper); + statCounter.comm_dns_incoming.dump(sentry, statHistIntDumper); storeAppendPrintf(sentry, "HTTP Messages handled per comm_select_http_incoming() call:\n"); - statHistDump(&f->comm_http_incoming, sentry, statHistIntDumper); + statCounter.comm_http_incoming.dump(sentry, statHistIntDumper); } void diff -u -r -N squid-3.2.0.15/src/comm/TcpAcceptor.cc squid-3.2.0.16/src/comm/TcpAcceptor.cc --- squid-3.2.0.15/src/comm/TcpAcceptor.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/comm/TcpAcceptor.cc 2012-03-07 15:42:55.000000000 +1300 @@ -44,6 +44,7 @@ #include "ip/Intercept.h" #include "protos.h" #include "SquidTime.h" +#include "StatCounters.h" namespace Comm { @@ -296,7 +297,7 @@ Comm::TcpAcceptor::oldAccept(Comm::ConnectionPointer &details) { PROF_start(comm_accept); - statCounter.syscalls.sock.accepts++; + ++statCounter.syscalls.sock.accepts; int sock; struct addrinfo *gai = NULL; details->local.InitAddrInfo(gai); diff -u -r -N squid-3.2.0.15/src/comm/Write.cc squid-3.2.0.16/src/comm/Write.cc --- squid-3.2.0.15/src/comm/Write.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/comm/Write.cc 2012-03-07 15:42:55.000000000 +1300 @@ -6,6 +6,7 @@ #include "comm/IoCallback.h" #include "comm/Write.h" #include "fde.h" +#include "StatCounters.h" #include "SquidTime.h" #include "MemBuf.h" @@ -108,7 +109,7 @@ #endif /* USE_DELAY_POOLS */ fd_bytes(fd, len, FD_WRITE); - statCounter.syscalls.sock.writes++; + ++statCounter.syscalls.sock.writes; // After each successful partial write, // reset fde::writeStart to the current time. fd_table[fd].writeStart = squid_curtime; diff -u -r -N squid-3.2.0.15/src/comm.cc squid-3.2.0.16/src/comm.cc --- squid-3.2.0.15/src/comm.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/comm.cc 2012-03-07 15:42:55.000000000 +1300 @@ -45,7 +45,6 @@ #include "comm/Loops.h" #include "comm/Write.h" #include "comm/TcpAcceptor.h" -#include "CommIO.h" #include "CommRead.h" #include "MemBuf.h" #include "pconn.h" @@ -58,6 +57,7 @@ #include "ip/QosConfig.h" #include "ip/tools.h" #include "ClientInfo.h" +#include "StatCounters.h" #if USE_SSL #include "ssl/support.h" #endif @@ -1818,60 +1818,6 @@ } } -void CommIO::Initialise() -{ - /* Initialize done pipe signal */ - int DonePipe[2]; - if (pipe(DonePipe)) {} - DoneFD = DonePipe[1]; - DoneReadFD = DonePipe[0]; - fd_open(DoneReadFD, FD_PIPE, "async-io completetion event: main"); - fd_open(DoneFD, FD_PIPE, "async-io completetion event: threads"); - commSetNonBlocking(DoneReadFD); - commSetNonBlocking(DoneFD); - Comm::SetSelect(DoneReadFD, COMM_SELECT_READ, NULLFDHandler, NULL, 0); - Initialised = true; -} - -void CommIO::NotifyIOClose() -{ - /* Close done pipe signal */ - FlushPipe(); - close(DoneFD); - close(DoneReadFD); - fd_close(DoneFD); - fd_close(DoneReadFD); - Initialised = false; -} - -bool CommIO::Initialised = false; -bool CommIO::DoneSignalled = false; -int CommIO::DoneFD = -1; -int CommIO::DoneReadFD = -1; - -void -CommIO::FlushPipe() -{ - char buf[256]; - FD_READ_METHOD(DoneReadFD, buf, sizeof(buf)); -} - -void -CommIO::NULLFDHandler(int fd, void *data) -{ - FlushPipe(); - Comm::SetSelect(fd, COMM_SELECT_READ, NULLFDHandler, NULL, 0); -} - -void -CommIO::ResetNotifications() -{ - if (DoneSignalled) { - FlushPipe(); - DoneSignalled = false; - } -} - /// Start waiting for a possibly half-closed connection to close // by scheduling a read callback to a monitoring handler that // will close the connection on read errors. diff -u -r -N squid-3.2.0.15/src/CommIO.h squid-3.2.0.16/src/CommIO.h --- squid-3.2.0.15/src/CommIO.h 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/CommIO.h 1970-01-01 12:00:00.000000000 +1200 @@ -1,38 +0,0 @@ -#ifndef __COMMIO_H__ -#define __COMMIO_H__ - -#include "fde.h" - -class CommIO -{ - -public: - static inline void NotifyIOCompleted(); - static void ResetNotifications(); - static void Initialise(); - static void NotifyIOClose(); - -private: - static void NULLFDHandler(int, void *); - static void FlushPipe(); - static bool Initialised; - static bool DoneSignalled; - static int DoneFD; - static int DoneReadFD; -}; - - -/* Inline code. TODO: make structued approach to inlining */ -void -CommIO::NotifyIOCompleted() -{ - if (!Initialised) - Initialise(); - - if (!DoneSignalled) { - DoneSignalled = true; - FD_WRITE_METHOD(DoneFD, "!", 1); - } -}; - -#endif diff -u -r -N squid-3.2.0.15/src/disk.cc squid-3.2.0.16/src/disk.cc --- squid-3.2.0.15/src/disk.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/disk.cc 2012-03-07 15:42:55.000000000 +1300 @@ -36,6 +36,7 @@ #include "comm/Loops.h" #include "fde.h" #include "MemBuf.h" +#include "StatCounters.h" static PF diskHandleRead; static PF diskHandleWrite; @@ -442,7 +443,7 @@ #endif debugs(6, 3, "diskHandleRead: FD " << fd << " seeking to offset " << ctrl_dat->offset); lseek(fd, ctrl_dat->offset, SEEK_SET); /* XXX ignore return? */ - statCounter.syscalls.disk.seeks++; + ++statCounter.syscalls.disk.seeks; F->disk.offset = ctrl_dat->offset; } diff -u -r -N squid-3.2.0.15/src/DiskIO/DiskDaemon/DiskdFile.cc squid-3.2.0.16/src/DiskIO/DiskDaemon/DiskdFile.cc --- squid-3.2.0.15/src/DiskIO/DiskDaemon/DiskdFile.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/DiskIO/DiskDaemon/DiskdFile.cc 2012-03-07 15:42:55.000000000 +1300 @@ -47,6 +47,7 @@ #include "DiskIO/IORequestor.h" #include "DiskIO/ReadRequest.h" #include "DiskIO/WriteRequest.h" +#include "StatCounters.h" CBDATA_CLASS_INIT(DiskdFile); void * @@ -275,7 +276,7 @@ void DiskdFile::openDone(diomsg *M) { - statCounter.syscalls.disk.opens++; + ++statCounter.syscalls.disk.opens; debugs(79, 3, "storeDiskdOpenDone: status " << M->status); if (M->status < 0) { @@ -292,7 +293,7 @@ void DiskdFile::createDone(diomsg *M) { - statCounter.syscalls.disk.opens++; + ++statCounter.syscalls.disk.opens; debugs(79, 3, "storeDiskdCreateDone: status " << M->status); if (M->status < 0) { @@ -355,7 +356,7 @@ void DiskdFile::closeDone(diomsg * M) { - statCounter.syscalls.disk.closes++; + ++statCounter.syscalls.disk.closes; debugs(79, 3, "DiskdFile::closeDone: status " << M->status); if (M->status < 0) { @@ -376,7 +377,7 @@ void DiskdFile::readDone(diomsg * M) { - statCounter.syscalls.disk.reads++; + ++statCounter.syscalls.disk.reads; debugs(79, 3, "DiskdFile::readDone: status " << M->status); assert (M->requestor); ReadRequest::Pointer readRequest = dynamic_cast(M->requestor); @@ -400,7 +401,7 @@ void DiskdFile::writeDone(diomsg *M) { - statCounter.syscalls.disk.writes++; + ++statCounter.syscalls.disk.writes; debugs(79, 3, "storeDiskdWriteDone: status " << M->status); assert (M->requestor); WriteRequest::Pointer writeRequest = dynamic_cast(M->requestor); diff -u -r -N squid-3.2.0.15/src/DiskIO/DiskDaemon/DiskdIOStrategy.cc squid-3.2.0.16/src/DiskIO/DiskDaemon/DiskdIOStrategy.cc --- squid-3.2.0.15/src/DiskIO/DiskDaemon/DiskdIOStrategy.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/DiskIO/DiskDaemon/DiskdIOStrategy.cc 2012-03-07 15:42:55.000000000 +1300 @@ -46,6 +46,7 @@ #include "diomsg.h" /* for statfs */ #include "Store.h" +#include "StatCounters.h" #include "SquidTime.h" diskd_stats_t diskd_stats; @@ -293,7 +294,7 @@ DiskdIOStrategy::unlinkDone(diomsg * M) { debugs(79, 3, "storeDiskdUnlinkDone: file " << shm.buf + M->shm_offset << " status " << M->status); - statCounter.syscalls.disk.unlinks++; + ++statCounter.syscalls.disk.unlinks; if (M->status < 0) diskd_stats.unlink.fail++; diff -u -r -N squid-3.2.0.15/src/DiskIO/DiskThreads/aiops.cc squid-3.2.0.16/src/DiskIO/DiskThreads/aiops.cc --- squid-3.2.0.15/src/DiskIO/DiskThreads/aiops.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/DiskIO/DiskThreads/aiops.cc 2012-03-07 15:42:55.000000000 +1300 @@ -49,7 +49,7 @@ #if HAVE_SCHED_H #include #endif -#include "CommIO.h" +#include "DiskIO/DiskThreads/CommIO.h" #include "SquidTime.h" #include "Store.h" diff -u -r -N squid-3.2.0.15/src/DiskIO/DiskThreads/aiops_win32.cc squid-3.2.0.16/src/DiskIO/DiskThreads/aiops_win32.cc --- squid-3.2.0.15/src/DiskIO/DiskThreads/aiops_win32.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/DiskIO/DiskThreads/aiops_win32.cc 2012-03-07 15:42:55.000000000 +1300 @@ -36,7 +36,7 @@ #include "squid-old.h" #include "squid_windows.h" -#include "CommIO.h" +#include "DiskIO/DiskThreads/CommIO.h" #include "DiskThreads.h" #include "SquidTime.h" #include "Store.h" diff -u -r -N squid-3.2.0.15/src/DiskIO/DiskThreads/CommIO.cc squid-3.2.0.16/src/DiskIO/DiskThreads/CommIO.cc --- squid-3.2.0.15/src/DiskIO/DiskThreads/CommIO.cc 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/src/DiskIO/DiskThreads/CommIO.cc 2012-03-07 15:42:55.000000000 +1300 @@ -0,0 +1,93 @@ +/* + * DEBUG: section 05 Disk I/O pipe manager + * AUTHOR: Harvest Derived + * + * 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 + */ + +#include "squid.h" +#include "comm/Loops.h" +#include "DiskIO/DiskThreads/CommIO.h" + +void +CommIO::Initialise() +{ + /* Initialize done pipe signal */ + int DonePipe[2]; + if (pipe(DonePipe)) {} + DoneFD = DonePipe[1]; + DoneReadFD = DonePipe[0]; + fd_open(DoneReadFD, FD_PIPE, "async-io completetion event: main"); + fd_open(DoneFD, FD_PIPE, "async-io completetion event: threads"); + commSetNonBlocking(DoneReadFD); + commSetNonBlocking(DoneFD); + Comm::SetSelect(DoneReadFD, COMM_SELECT_READ, NULLFDHandler, NULL, 0); + Initialised = true; +} + +void +CommIO::NotifyIOClose() +{ + /* Close done pipe signal */ + FlushPipe(); + close(DoneFD); + close(DoneReadFD); + fd_close(DoneFD); + fd_close(DoneReadFD); + Initialised = false; +} + +bool CommIO::Initialised = false; +bool CommIO::DoneSignalled = false; +int CommIO::DoneFD = -1; +int CommIO::DoneReadFD = -1; + +void +CommIO::FlushPipe() +{ + char buf[256]; + FD_READ_METHOD(DoneReadFD, buf, sizeof(buf)); +} + +void +CommIO::NULLFDHandler(int fd, void *data) +{ + FlushPipe(); + Comm::SetSelect(fd, COMM_SELECT_READ, NULLFDHandler, NULL, 0); +} + +void +CommIO::ResetNotifications() +{ + if (DoneSignalled) { + FlushPipe(); + DoneSignalled = false; + } +} diff -u -r -N squid-3.2.0.15/src/DiskIO/DiskThreads/CommIO.h squid-3.2.0.16/src/DiskIO/DiskThreads/CommIO.h --- squid-3.2.0.15/src/DiskIO/DiskThreads/CommIO.h 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/src/DiskIO/DiskThreads/CommIO.h 2012-03-07 15:42:55.000000000 +1300 @@ -0,0 +1,38 @@ +#ifndef SQUID_SRC_DISKIO_DISKTHREADS_COMMIO_H +#define SQUID_SRC_DISKIO_DISKTHREADS_COMMIO_H + +#include "fde.h" + +class CommIO +{ + +public: + static inline void NotifyIOCompleted(); + static void ResetNotifications(); + static void Initialise(); + static void NotifyIOClose(); + +private: + static void NULLFDHandler(int, void *); + static void FlushPipe(); + static bool Initialised; + static bool DoneSignalled; + static int DoneFD; + static int DoneReadFD; +}; + + +/* Inline code. TODO: make structued approach to inlining */ +void +CommIO::NotifyIOCompleted() +{ + if (!Initialised) + Initialise(); + + if (!DoneSignalled) { + DoneSignalled = true; + FD_WRITE_METHOD(DoneFD, "!", 1); + } +}; + +#endif /* SQUID_SRC_DISKIO_DISKTHREADS_COMMIO_H */ diff -u -r -N squid-3.2.0.15/src/DiskIO/DiskThreads/DiskThreadsDiskFile.cc squid-3.2.0.16/src/DiskIO/DiskThreads/DiskThreadsDiskFile.cc --- squid-3.2.0.15/src/DiskIO/DiskThreads/DiskThreadsDiskFile.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/DiskIO/DiskThreads/DiskThreadsDiskFile.cc 2012-03-07 15:42:55.000000000 +1300 @@ -41,6 +41,7 @@ #include "DiskIO/IORequestor.h" #include "DiskIO/ReadRequest.h" #include "DiskIO/WriteRequest.h" +#include "StatCounters.h" /* === PUBLIC =========================================================== */ @@ -83,7 +84,7 @@ void DiskThreadsDiskFile::open(int flags, mode_t mode, RefCount callback) { - statCounter.syscalls.disk.opens++; + ++statCounter.syscalls.disk.opens; #if !ASYNC_OPEN fd = file_open(path_, flags); @@ -118,7 +119,7 @@ debugs(79, 3, "DiskThreadsDiskFile::read: " << this << ", size " << request->len); assert (fd > -1); assert (ioRequestor.getRaw()); - statCounter.syscalls.disk.reads++; + ++statCounter.syscalls.disk.reads; ++inProgressIOs; #if ASYNC_READ @@ -132,7 +133,7 @@ void DiskThreadsDiskFile::create(int flags, mode_t mode, RefCount callback) { - statCounter.syscalls.disk.opens++; + ++statCounter.syscalls.disk.opens; #if !ASYNC_CREATE int fd = file_open(path_, flags); @@ -203,7 +204,7 @@ void DiskThreadsDiskFile::doClose() { if (fd > -1) { - statCounter.syscalls.disk.closes++; + ++statCounter.syscalls.disk.closes; #if ASYNC_CLOSE aioClose(fd); @@ -246,7 +247,7 @@ DiskThreadsDiskFile::write(WriteRequest * writeRequest) { debugs(79, 3, "DiskThreadsDiskFile::write: FD " << fd); - statCounter.syscalls.disk.writes++; + ++statCounter.syscalls.disk.writes; ++inProgressIOs; #if ASYNC_WRITE diff -u -r -N squid-3.2.0.15/src/DiskIO/DiskThreads/DiskThreadsIOStrategy.cc squid-3.2.0.16/src/DiskIO/DiskThreads/DiskThreadsIOStrategy.cc --- squid-3.2.0.15/src/DiskIO/DiskThreads/DiskThreadsIOStrategy.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/DiskIO/DiskThreads/DiskThreadsIOStrategy.cc 2012-03-07 15:42:55.000000000 +1300 @@ -40,6 +40,7 @@ #include "DiskThreadsIOStrategy.h" #include "fde.h" #include "mgr/Registration.h" +#include "StatCounters.h" /* for statfs */ #include "Store.h" @@ -263,6 +264,6 @@ void DiskThreadsIOStrategy::unlinkFile(char const *path) { - statCounter.syscalls.disk.unlinks++; + ++statCounter.syscalls.disk.unlinks; aioUnlink(path, NULL, NULL); } diff -u -r -N squid-3.2.0.15/src/DiskIO/IpcIo/IpcIoFile.cc squid-3.2.0.16/src/DiskIO/IpcIo/IpcIoFile.cc --- squid-3.2.0.15/src/DiskIO/IpcIo/IpcIoFile.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/DiskIO/IpcIo/IpcIoFile.cc 2012-03-07 15:42:55.000000000 +1300 @@ -17,6 +17,7 @@ #include "ipc/StrandSearch.h" #include "ipc/UdsOp.h" #include "ipc/mem/Pages.h" +#include "StatCounters.h" #include "SquidTime.h" CBDATA_CLASS_INIT(IpcIoFile); @@ -628,7 +629,7 @@ char *const buf = Ipc::Mem::PagePointer(ipcIo.page); const ssize_t read = pread(TheFile, buf, min(ipcIo.len, Ipc::Mem::PageSize()), ipcIo.offset); - statCounter.syscalls.disk.reads++; + ++statCounter.syscalls.disk.reads; fd_bytes(TheFile, read, FD_READ); if (read >= 0) { @@ -650,7 +651,7 @@ { const char *const buf = Ipc::Mem::PagePointer(ipcIo.page); const ssize_t wrote = pwrite(TheFile, buf, min(ipcIo.len, Ipc::Mem::PageSize()), ipcIo.offset); - statCounter.syscalls.disk.writes++; + ++statCounter.syscalls.disk.writes; fd_bytes(TheFile, wrote, FD_WRITE); if (wrote >= 0) { diff -u -r -N squid-3.2.0.15/src/dns_internal.cc squid-3.2.0.16/src/dns_internal.cc --- squid-3.2.0.15/src/dns_internal.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/dns_internal.cc 2012-03-07 15:42:55.000000000 +1300 @@ -143,12 +143,13 @@ int attempt; int rcode; idns_query *queue; - idns_query *slave; // AAAA - idns_query *master; // A + idns_query *slave; // single linked list + idns_query *master; // single pointer to a shared master unsigned short domain; unsigned short do_searchpath; rfc1035_message *message; int ancount; + const char *error; }; InstanceIdDefinitions(idns_query, "dns"); @@ -232,7 +233,7 @@ static void idnsParseWIN32Registry(void); static void idnsParseWIN32SearchList(const char *); #endif -static void idnsCacheQuery(idns_query * q); +static void idnsStartQuery(idns_query * q, IDNSCB * callback, void *data); static void idnsSendQuery(idns_query * q); static IOCB idnsReadVCHeader; static void idnsDoSendQueryVC(nsvc *vc); @@ -906,8 +907,6 @@ int x = -1, y = -1; int ns; - q->start_t = current_time; - do { ns = q->nsends % nns; @@ -923,7 +922,7 @@ q->nsends++; - q->queue_t = q->sent_t = current_time; + q->sent_t = current_time; if (y < 0 && nameservers[ns].S.IsIPv6()) debugs(50, 1, "idnsSendQuery: FD " << DnsSocketB << ": sendto: " << xstrerror()); @@ -999,13 +998,70 @@ } static void -idnsCallback(idns_query *q, rfc1035_rr *answers, int n, const char *error) +idnsCallback(idns_query *q, const char *error) { IDNSCB *callback; void *cbdata; + if (error) + q->error = error; + + if (q->master) + q = q->master; + + idns_query *q2; + // If any of our subqueries are still pending then wait for them to complete before continuing + for ( q2 = q; q2; q2 = q2->slave) { + if (q2->pending) { + return; + } + } + + /* Merge results */ + rfc1035_message *message = q->message; + q->message = NULL; + int n = q->ancount; + error = q->error; + + while ( (q2 = q->slave) ) { + debugs(78, 6, HERE << "Merging DNS results " << q->name << " A has " << n << " RR, AAAA has " << q2->ancount << " RR"); + q->slave = q2->slave; + if ( !q2->error ) { + if (n > 0) { + // two sets of RR need merging + rfc1035_rr *result = (rfc1035_rr*) xmalloc( sizeof(rfc1035_rr)*(n + q2->ancount) ); + if (Config.dns.v4_first) { + memcpy(result, message->answer, (sizeof(rfc1035_rr)*n) ); + memcpy(result+n, q2->message->answer, (sizeof(rfc1035_rr)*q2->ancount) ); + } else { + memcpy(result, q2->message->answer, (sizeof(rfc1035_rr)*q2->ancount) ); + memcpy(result+q2->ancount, message->answer, (sizeof(rfc1035_rr)*n) ); + } + n += q2->ancount; + // HACK WARNING, the answer rr:s have been copied in-place to + // result, do not free them here + safe_free(message->answer); + safe_free(q2->message->answer); + message->answer = result; + message->ancount += q2->message->ancount; + } else { + // first response empty or failed, just use the second + rfc1035MessageDestroy(&message); + message = q2->message; + q2->message = NULL; + n = q2->ancount; + error = NULL; + } + } + rfc1035MessageDestroy(&q2->message); + cbdataFree(q2); + } + + debugs(78, 6, HERE << "Sending " << n << " (" << (error ? error : "OK") << ") DNS results to caller."); + callback = q->callback; q->callback = NULL; + const rfc1035_rr *answers = message ? message->answer : NULL; if (cbdataReferenceValidDone(q->callback_data, &cbdata)) callback(cbdata, answers, n, error); @@ -1026,6 +1082,9 @@ hash_remove_link(idns_lookup_hash, &q->hash); q->hash.key = NULL; } + + rfc1035MessageDestroy(&message); + cbdataFree(q); } static void @@ -1097,8 +1156,7 @@ // Strange: A TCP DNS response with the truncation bit (TC) set. // Return an error and cleanup; no point in trying TCP again. debugs(78, 3, HERE << "TCP DNS response"); - idnsCallback(q, NULL, 0, "Truncated TCP DNS response"); - cbdataFree(q); + idnsCallback(q, "Truncated TCP DNS response"); } return; @@ -1122,6 +1180,9 @@ return; } + // Do searchpath processing on the master A query only to keep + // things simple. NXDOMAIN is authorative for the label, not + // the record type. if (q->rcode == 3 && !q->master && q->do_searchpath && q->attempt < MAX_ATTEMPT) { assert(NULL == message->answer); strcpy(q->name, q->orig); @@ -1139,7 +1200,7 @@ rfc1035MessageDestroy(&message); - // cleanup stale AAAA query + // cleanup slave AAAA query while (idns_query *slave = q->slave) { dlinkDelete(&slave->lru, &lru_list); q->slave = slave->slave; @@ -1154,11 +1215,12 @@ q->sz = rfc3596BuildAQuery(q->name, q->buf, sizeof(q->buf), q->query_id, &q->query, 0); if (q->sz < 0) { /* problem with query data -- query not sent */ - idnsCallback(static_cast(q->callback_data), NULL, 0, "Internal error"); - cbdataFree(q); + idnsCallback(q, "Internal error"); return; } + q->nsends = 0; + idnsSendQuery(q); if (Ip::EnableIpv6) idnsSendSlaveAAAAQuery(q); @@ -1169,57 +1231,11 @@ q->message = message; q->ancount = n; - if (q->master) - q = q->master; - - idns_query *q2; - // If any of our subqueries are still pending then wait for them to complete before continuing - for ( q2 = q; q2; q2 = q2->slave) { - if (q2->pending) { - return; - } - } - - /* Merge results */ - message = q->message; - n = q->ancount; - - while ( (q2 = q->slave) ) { - debugs(78, 6, HERE << "Merging DNS results " << q->name << " A has " << n << " RR, AAAA has " << q2->ancount << " RR"); - q->slave = q2->slave; - if ( q2->ancount >= 0 ) { - if (n > 0 ) { - // two sets of RR need merging - rfc1035_rr *result = (rfc1035_rr*) xmalloc( sizeof(rfc1035_rr)*(n + q2->ancount) ); - if (Config.dns.v4_first) { - memcpy(result, message->answer, (sizeof(rfc1035_rr)*n) ); - memcpy(result+n, q2->message->answer, (sizeof(rfc1035_rr)*q2->ancount) ); - } else { - memcpy(result, q2->message->answer, (sizeof(rfc1035_rr)*q2->ancount) ); - memcpy(result+q2->ancount, message->answer, (sizeof(rfc1035_rr)*n) ); - } - n += q2->ancount; - safe_free(message->answer); - message->answer = result; - message->ancount += q2->message->ancount; - safe_free(q2->message->answer); - q2->message->answer = NULL; - } else if (n < 0 || q2->ancount > 0) { - // first set empty / failed - rfc1035MessageDestroy(&message); - message = q->message = q2->message; - q2->message = NULL; - n = q2->ancount; - } - } - rfc1035MessageDestroy(&q2->message); - cbdataFree(q2); - } + if (n >= 0) + idnsCallback(q, NULL); + else + idnsCallback(q, rfc1035ErrorMessage(q->rcode)); - debugs(78, 6, HERE << "Sending " << n << " DNS results to caller."); - idnsCallback(q, message->answer, n, rfc1035ErrorMessage(n)); - rfc1035MessageDestroy(&message); - cbdataFree(q); } static void @@ -1328,7 +1344,7 @@ if ((time_msec_t)tvSubMsec(q->queue_t, current_time) < Config.Timeout.idns_retransmit ) break; - /* Query timer expired? */ + /* Query timer still running? */ if ((time_msec_t)tvSubMsec(q->sent_t, current_time) < (Config.Timeout.idns_retransmit * 1 << ((q->nsends - 1) / nns))) { dlinkDelete(&q->lru, &lru_list); q->queue_t = current_time; @@ -1341,6 +1357,7 @@ std::setw(4) << q->query_id << ": timeout" ); dlinkDelete(&q->lru, &lru_list); + q->pending = 0; if ((time_msec_t)tvSubMsec(q->start_t, current_time) < Config.Timeout.idns_query) { idnsSendQuery(q); @@ -1351,11 +1368,9 @@ std::setw(5)<< std::setprecision(2) << tvSubDsec(q->start_t, current_time) << " seconds"); if (q->rcode != 0) - idnsCallback(q, NULL, -q->rcode, rfc1035ErrorMessage(q->rcode)); + idnsCallback(q, rfc1035ErrorMessage(q->rcode)); else - idnsCallback(q, NULL, -16, "Timeout"); - - cbdataFree(q); + idnsCallback(q, "Timeout"); } } @@ -1606,10 +1621,16 @@ } static void -idnsCacheQuery(idns_query *q) +idnsStartQuery(idns_query *q, IDNSCB * callback, void *data) { + q->start_t = current_time; + q->callback = callback; + q->callback_data = cbdataReference(data); + q->hash.key = q->orig; hash_join(idns_lookup_hash, &q->hash); + + idnsSendQuery(q); } static void @@ -1621,9 +1642,10 @@ q->master = master; q->query_id = idnsQueryID(); q->sz = rfc3596BuildAAAAQuery(q->name, q->buf, sizeof(q->buf), q->query_id, &q->query, Config.dns.packet_max); + q->start_t = master->start_t; q->slave = master->slave; - debugs(78, 3, "idnsALookup: buf is " << q->sz << " bytes for " << q->name << + debugs(78, 3, HERE << "buf is " << q->sz << " bytes for " << q->name << ", id = 0x" << std::hex << q->query_id); if (!q->sz) { cbdataFree(q); @@ -1681,11 +1703,7 @@ debugs(78, 3, "idnsALookup: buf is " << q->sz << " bytes for " << q->name << ", id = 0x" << std::hex << q->query_id); - q->callback = callback; - q->callback_data = cbdataReference(data); - - idnsCacheQuery(q); - idnsSendQuery(q); + idnsStartQuery(q, callback, data); if (Ip::EnableIpv6) idnsSendSlaveAAAAQuery(q); @@ -1710,12 +1728,12 @@ if (addr.IsIPv6()) { struct in6_addr addr6; addr.GetInAddr(addr6); - q->sz = rfc3596BuildPTRQuery6(addr6, q->buf, sizeof(q->buf), 0, &q->query, Config.dns.packet_max); + q->sz = rfc3596BuildPTRQuery6(addr6, q->buf, sizeof(q->buf), q->query_id, &q->query, Config.dns.packet_max); } else { struct in_addr addr4; addr.GetInAddr(addr4); // see EDNS notes at top of file why this sends 0 - q->sz = rfc3596BuildPTRQuery4(addr4, q->buf, sizeof(q->buf), 0, &q->query, 0); + q->sz = rfc3596BuildPTRQuery4(addr4, q->buf, sizeof(q->buf), q->query_id, &q->query, 0); } if (q->sz < 0) { @@ -1733,11 +1751,7 @@ debugs(78, 3, "idnsPTRLookup: buf is " << q->sz << " bytes for " << ip << ", id = 0x" << std::hex << q->query_id); - q->callback = callback; - q->callback_data = cbdataReference(data); - - idnsCacheQuery(q); - idnsSendQuery(q); + idnsStartQuery(q, callback, data); } #if SQUID_SNMP diff -u -r -N squid-3.2.0.15/src/forward.cc squid-3.2.0.16/src/forward.cc --- squid-3.2.0.15/src/forward.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/forward.cc 2012-03-07 15:42:55.000000000 +1300 @@ -97,6 +97,7 @@ entry = e; clientConn = client; request = HTTPMSGLOCK(r); + pconnRace = raceImpossible; start_t = squid_curtime; serverDestinations.reserve(Config.forward_max_tries); e->lock(); @@ -325,6 +326,11 @@ if (!errorState->request) errorState->request = HTTPMSGLOCK(request); + if (pconnRace == racePossible && err->type == ERR_ZERO_SIZE_OBJECT) { + debugs(17, 5, HERE << "pconn race happened"); + pconnRace = raceHappened; + } + #if USE_SSL if (errorState->type == ERR_SECURE_CONNECT_FAIL && errorState->detail) request->detailError(errorState->type, errorState->detail->errorNo()); @@ -535,7 +541,11 @@ { if (checkRetry()) { debugs(17, 3, HERE << "re-forwarding (" << n_tries << " tries, " << (squid_curtime - start_t) << " secs)"); - serverDestinations.shift(); // last one failed. try another. + // we should retry the same destination if it failed due to pconn race + if (pconnRace == raceHappened) + debugs(17, 4, HERE << "retrying the same destination"); + else + serverDestinations.shift(); // last one failed. try another. startConnectionOrFail(); return; } @@ -827,8 +837,11 @@ // XXX: also, logs will now lie if pinning is broken and leads to an error message. if (serverDestinations[0]->peerType == PINNED) { ConnStateData *pinned_connection = request->pinnedConnection(); - assert(pinned_connection); - serverConn = pinned_connection->validatePinnedConnection(request, serverDestinations[0]->getPeer()); + // pinned_connection may become nil after a pconn race + if (pinned_connection) + serverConn = pinned_connection->validatePinnedConnection(request, serverDestinations[0]->getPeer()); + else + serverConn = NULL; if (Comm::IsConnOpen(serverConn)) { #if 0 if (!serverConn->getPeer()) @@ -838,6 +851,8 @@ request->flags.pinned = 1; if (pinned_connection->pinnedAuth()) request->flags.auth = 1; + // the server may close the pinned connection before this request + pconnRace = racePossible; dispatch(); return; } @@ -855,10 +870,19 @@ } else { host = request->GetHost(); } - Comm::ConnectionPointer temp = fwdPconnPool->pop(serverDestinations[0], host, checkRetriable()); + + Comm::ConnectionPointer temp; + // Avoid pconns after races so that the same client does not suffer twice. + // This does not increase the total number of connections because we just + // closed the connection that failed the race. And re-pinning assumes this. + if (pconnRace != raceHappened) + temp = fwdPconnPool->pop(serverDestinations[0], host, checkRetriable()); + + const bool openedPconn = Comm::IsConnOpen(temp); + pconnRace = openedPconn ? racePossible : raceImpossible; // if we found an open persistent connection to use. use it. - if (Comm::IsConnOpen(temp)) { + if (openedPconn) { serverConn = temp; debugs(17, 3, HERE << "reusing pconn " << serverConnection()); n_tries++; @@ -884,6 +908,12 @@ return; } + // We will try to open a new connection, possibly to the same destination. + // We reset serverDestinations[0] in case we are using it again because + // ConnOpener modifies its destination argument. + serverDestinations[0]->local.SetPort(0); + serverConn = NULL; + #if URL_CHECKSUM_DEBUG entry->mem_obj->checkUrlChecksum(); #endif @@ -998,19 +1028,10 @@ case AnyP::PROTO_WAIS: /* Not implemented */ default: - debugs(17, 1, "fwdDispatch: Cannot retrieve '" << entry->url() << "'" ); + debugs(17, DBG_IMPORTANT, "WARNING: Cannot retrieve '" << entry->url() << "'."); ErrorState *anErr = new ErrorState(ERR_UNSUP_REQ, HTTP_BAD_REQUEST, request); fail(anErr); - /* - * Force a persistent connection to be closed because - * some Netscape browsers have a bug that sends CONNECT - * requests as GET's over persistent connections. - */ - request->flags.proxy_keepalive = 0; - /* - * Set the dont_retry flag because this is not a - * transient (network) error; its a bug. - */ + // Set the dont_retry flag because this is not a transient (network) error. flags.dont_retry = 1; if (Comm::IsConnOpen(serverConn)) { serverConn->close(); diff -u -r -N squid-3.2.0.15/src/forward.h squid-3.2.0.16/src/forward.h --- squid-3.2.0.15/src/forward.h 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/forward.h 2012-03-07 15:42:55.000000000 +1300 @@ -105,6 +105,10 @@ Comm::ConnectionPointer serverConn; ///< a successfully opened connection to a server. + /// possible pconn race states + typedef enum { raceImpossible, racePossible, raceHappened } PconnRace; + PconnRace pconnRace; ///< current pconn race state + // NP: keep this last. It plays with private/public CBDATA_CLASS2(FwdState); }; diff -u -r -N squid-3.2.0.15/src/fqdncache.cc squid-3.2.0.16/src/fqdncache.cc --- squid-3.2.0.15/src/fqdncache.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/fqdncache.cc 2012-03-07 15:42:55.000000000 +1300 @@ -39,6 +39,7 @@ #include "mgr/Registration.h" #include "SquidDns.h" #include "SquidTime.h" +#include "StatCounters.h" #include "Store.h" #include "wordlist.h" @@ -133,7 +134,7 @@ static int fqdncacheParse(fqdncache_entry *, const char *buf); #else static IDNSCB fqdncacheHandleReply; -static int fqdncacheParse(fqdncache_entry *, rfc1035_rr *, int, const char *error_message); +static int fqdncacheParse(fqdncache_entry *, const rfc1035_rr *, int, const char *error_message); #endif static void fqdncacheRelease(fqdncache_entry *); static fqdncache_entry *fqdncacheCreateEntry(const char *name); @@ -416,7 +417,7 @@ #else static int -fqdncacheParse(fqdncache_entry *f, rfc1035_rr * answers, int nr, const char *error_message) +fqdncacheParse(fqdncache_entry *f, const rfc1035_rr * answers, int nr, const char *error_message) { int k; int ttl = 0; @@ -495,14 +496,14 @@ #if USE_DNSHELPER fqdncacheHandleReply(void *data, char *reply) #else -fqdncacheHandleReply(void *data, rfc1035_rr * answers, int na, const char *error_message) +fqdncacheHandleReply(void *data, const rfc1035_rr * answers, int na, const char *error_message) #endif { fqdncache_entry *f; static_cast(data)->unwrap(&f); ++FqdncacheStats.replies; const int age = f->age(); - statHistCount(&statCounter.dns.svc_time, age); + statCounter.dns.svcTime.count(age); #if USE_DNSHELPER fqdncacheParse(f, reply); diff -u -r -N squid-3.2.0.15/src/fs/ufs/store_dir_ufs.cc squid-3.2.0.16/src/fs/ufs/store_dir_ufs.cc --- squid-3.2.0.15/src/fs/ufs/store_dir_ufs.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/fs/ufs/store_dir_ufs.cc 2012-03-07 15:42:55.000000000 +1300 @@ -45,6 +45,7 @@ #include "Parsing.h" #include "SquidMath.h" #include "SquidTime.h" +#include "StatCounters.h" #include "SwapDir.h" #include "swap_log_op.h" @@ -1146,7 +1147,7 @@ debugs(36, 3, "storeDirClean: Cleaning file "<< std::setfill('0') << std::hex << std::uppercase << std::setw(8) << files[n]); snprintf(p2, MAXPATHLEN + 1, "%s/%08X", p1, files[n]); safeunlink(p2, 0); - statCounter.swap.files_cleaned++; + ++statCounter.swap.files_cleaned; } debugs(36, 3, "Cleaned " << k << " unused files from " << p1); diff -u -r -N squid-3.2.0.15/src/ftp.cc squid-3.2.0.16/src/ftp.cc --- squid-3.2.0.15/src/ftp.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/ftp.cc 2012-03-07 15:42:55.000000000 +1300 @@ -54,6 +54,7 @@ #include "Server.h" #include "SquidString.h" #include "SquidTime.h" +#include "StatCounters.h" #include "Store.h" #include "URLScheme.h" #include "wordlist.h" @@ -1257,8 +1258,8 @@ debugs(9, 3, HERE << "ftpDataRead: FD " << io.fd << " Read " << io.size << " bytes"); if (io.size > 0) { - kb_incr(&statCounter.server.all.kbytes_in, io.size); - kb_incr(&statCounter.server.ftp.kbytes_in, io.size); + kb_incr(&(statCounter.server.all.kbytes_in), io.size); + kb_incr(&(statCounter.server.ftp.kbytes_in), io.size); } if (io.flag == COMM_ERR_CLOSING) @@ -1613,8 +1614,8 @@ if (io.size > 0) { fd_bytes(io.fd, io.size, FD_WRITE); - kb_incr(&statCounter.server.all.kbytes_out, io.size); - kb_incr(&statCounter.server.ftp.kbytes_out, io.size); + kb_incr(&(statCounter.server.all.kbytes_out), io.size); + kb_incr(&(statCounter.server.ftp.kbytes_out), io.size); } if (io.flag == COMM_ERR_CLOSING) @@ -1754,8 +1755,8 @@ debugs(9, 3, "ftpReadControlReply: FD " << io.fd << ", Read " << io.size << " bytes"); if (io.size > 0) { - kb_incr(&statCounter.server.all.kbytes_in, io.size); - kb_incr(&statCounter.server.ftp.kbytes_in, io.size); + kb_incr(&(statCounter.server.all.kbytes_in), io.size); + kb_incr(&(statCounter.server.ftp.kbytes_in), io.size); } if (io.flag == COMM_ERR_CLOSING) @@ -2767,11 +2768,13 @@ ftpOpenListenSocket(FtpStateData * ftpState, int fallback) { /// Close old data channels, if any. We may open a new one below. - if ((ftpState->data.conn->flags & COMM_REUSEADDR)) - // NP: in fact it points to the control channel. just clear it. - ftpState->data.clear(); - else - ftpState->data.close(); + if (ftpState->data.conn != NULL) { + if ((ftpState->data.conn->flags & COMM_REUSEADDR)) + // NP: in fact it points to the control channel. just clear it. + ftpState->data.clear(); + else + ftpState->data.close(); + } safe_free(ftpState->data.host); /* @@ -3317,7 +3320,7 @@ FtpStateData::sentRequestBody(const CommIoCbParams &io) { if (io.size > 0) - kb_incr(&statCounter.server.ftp.kbytes_out, io.size); + kb_incr(&(statCounter.server.ftp.kbytes_out), io.size); ServerStateData::sentRequestBody(io); } @@ -3907,10 +3910,9 @@ // channels with active listeners will be closed when the listener handler dies. if (Comm::IsConnOpen(conn)) { comm_remove_close_handler(conn->fd, closer); - closer = NULL; conn->close(); // we do not expect to be called back } - conn = NULL; + clear(); } void diff -u -r -N squid-3.2.0.15/src/globals.h squid-3.2.0.16/src/globals.h --- squid-3.2.0.15/src/globals.h 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/globals.h 2012-03-07 15:42:55.000000000 +1300 @@ -41,7 +41,7 @@ /* for ERROR_BUF_SZ, BUFSIZ, MAXHTTPPORTS */ #include "defines.h" -/* for iostats, StatCounters */ +/* for iostats */ #include "structs.h" @@ -109,7 +109,6 @@ extern int shutting_down; /* 0 */ extern int reconfiguring; /* 0 */ extern time_t hit_only_mode_until; /* 0 */ - extern StatCounters statCounter; extern double request_failure_ratio; /* 0.0 */ extern int store_hash_buckets; /* 0 */ extern hash_table *store_table; /* NULL */ diff -u -r -N squid-3.2.0.15/src/gopher.cc squid-3.2.0.16/src/gopher.cc --- squid-3.2.0.15/src/gopher.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/gopher.cc 2012-03-07 15:42:55.000000000 +1300 @@ -48,6 +48,7 @@ #include "MemBuf.h" #include "forward.h" #include "rfc1738.h" +#include "StatCounters.h" #include "SquidTime.h" /** @@ -769,8 +770,8 @@ delayId.bytesIn(len); #endif - kb_incr(&statCounter.server.all.kbytes_in, len); - kb_incr(&statCounter.server.other.kbytes_in, len); + kb_incr(&(statCounter.server.all.kbytes_in), len); + kb_incr(&(statCounter.server.other.kbytes_in), len); } debugs(10, 5, HERE << conn << " read len=" << len); @@ -844,8 +845,8 @@ if (size > 0) { fd_bytes(conn->fd, size, FD_WRITE); - kb_incr(&statCounter.server.all.kbytes_out, size); - kb_incr(&statCounter.server.other.kbytes_out, size); + kb_incr(&(statCounter.server.all.kbytes_out), size); + kb_incr(&(statCounter.server.other.kbytes_out), size); } if (errflag) { diff -u -r -N squid-3.2.0.15/src/helper.cc squid-3.2.0.16/src/helper.cc --- squid-3.2.0.15/src/helper.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/helper.cc 2012-03-07 15:42:55.000000000 +1300 @@ -47,10 +47,18 @@ #define HELPER_MAX_ARGS 64 -/* size of helper read buffer (maximum?). no reason given for this size */ -/* though it has been seen to be too short for some requests */ -/* it is dynamic, so increasng should not have side effects */ -#define BUF_8KB 8192 + +/** Initial Squid input buffer size. Helper responses may exceed this, and + * Squid will grow the input buffer as needed, up to ReadBufMaxSize. + */ +const size_t ReadBufMinSize(4*1024); + +/** Maximum safe size of a helper-to-Squid response message plus one. + * Squid will warn and close the stream if a helper sends a too-big response. + * ssl_crtd helper is known to produce responses of at least 10KB in size. + * Some undocumented helpers are known to produce responses exceeding 8KB. + */ +const size_t ReadBufMaxSize(32*1024); static IOCB helperHandleRead; static IOCB helperStatefulHandleRead; @@ -212,7 +220,7 @@ srv->readPipe->fd = rfd; srv->writePipe = new Comm::Connection; srv->writePipe->fd = wfd; - srv->rbuf = (char *)memAllocBuf(BUF_8KB, &srv->rbuf_sz); + srv->rbuf = (char *)memAllocBuf(ReadBufMinSize, &srv->rbuf_sz); srv->wqueue = new MemBuf; srv->roffset = 0; srv->requests = (helper_request **)xcalloc(hlp->childs.concurrency ? hlp->childs.concurrency : 1, sizeof(*srv->requests)); @@ -331,7 +339,7 @@ srv->readPipe->fd = rfd; srv->writePipe = new Comm::Connection; srv->writePipe->fd = wfd; - srv->rbuf = (char *)memAllocBuf(BUF_8KB, &srv->rbuf_sz); + srv->rbuf = (char *)memAllocBuf(ReadBufMinSize, &srv->rbuf_sz); srv->roffset = 0; srv->parent = cbdataReference(hlp); @@ -904,9 +912,30 @@ } if (Comm::IsConnOpen(srv->readPipe)) { + int spaceSize = srv->rbuf_sz - srv->roffset - 1; + assert(spaceSize >= 0); + + // grow the input buffer if needed and possible + if (!spaceSize && srv->rbuf_sz + 4096 <= ReadBufMaxSize) { + srv->rbuf = (char *)memReallocBuf(srv->rbuf, srv->rbuf_sz + 4096, &srv->rbuf_sz); + debugs(84, 3, HERE << "Grew read buffer to " << srv->rbuf_sz); + spaceSize = srv->rbuf_sz - srv->roffset - 1; + assert(spaceSize >= 0); + } + + // quit reading if there is no space left + if (!spaceSize) { + debugs(84, DBG_IMPORTANT, "ERROR: Disconnecting from a " << + "helper that overflowed " << srv->rbuf_sz << "-byte " << + "Squid input buffer: " << hlp->id_name << " #" << + (srv->index + 1)); + srv->closePipesSafely(); + return; + } + AsyncCall::Pointer call = commCbCall(5,4, "helperHandleRead", CommIoCbPtrFun(helperHandleRead, srv)); - comm_read(srv->readPipe, srv->rbuf + srv->roffset, srv->rbuf_sz - srv->roffset - 1, call); + comm_read(srv->readPipe, srv->rbuf + srv->roffset, spaceSize, call); } } @@ -984,9 +1013,30 @@ } if (Comm::IsConnOpen(srv->readPipe)) { + int spaceSize = srv->rbuf_sz - srv->roffset - 1; + assert(spaceSize >= 0); + + // grow the input buffer if needed and possible + if (!spaceSize && srv->rbuf_sz + 4096 <= ReadBufMaxSize) { + srv->rbuf = (char *)memReallocBuf(srv->rbuf, srv->rbuf_sz + 4096, &srv->rbuf_sz); + debugs(84, 3, HERE << "Grew read buffer to " << srv->rbuf_sz); + spaceSize = srv->rbuf_sz - srv->roffset - 1; + assert(spaceSize >= 0); + } + + // quit reading if there is no space left + if (!spaceSize) { + debugs(84, DBG_IMPORTANT, "ERROR: Disconnecting from a " << + "helper that overflowed " << srv->rbuf_sz << "-byte " << + "Squid input buffer: " << hlp->id_name << " #" << + (srv->index + 1)); + srv->closePipesSafely(); + return; + } + AsyncCall::Pointer call = commCbCall(5,4, "helperStatefulHandleRead", CommIoCbPtrFun(helperStatefulHandleRead, srv)); - comm_read(srv->readPipe, srv->rbuf + srv->roffset, srv->rbuf_sz - srv->roffset - 1, call); + comm_read(srv->readPipe, srv->rbuf + srv->roffset, spaceSize, call); } } diff -u -r -N squid-3.2.0.15/src/htcp.cc squid-3.2.0.16/src/htcp.cc --- squid-3.2.0.15/src/htcp.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/htcp.cc 2012-03-07 15:42:55.000000000 +1300 @@ -47,6 +47,7 @@ #include "ip/tools.h" #include "MemBuf.h" #include "SquidTime.h" +#include "StatCounters.h" #include "Store.h" #include "StoreClient.h" #include "compat/xalloc.h" diff -u -r -N squid-3.2.0.15/src/http.cc squid-3.2.0.16/src/http.cc --- squid-3.2.0.15/src/http.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/http.cc 2012-03-07 15:42:55.000000000 +1300 @@ -68,6 +68,7 @@ #include "protos.h" #include "rfc1738.h" #include "SquidTime.h" +#include "StatCounters.h" #include "Store.h" @@ -1095,8 +1096,8 @@ delayId.bytesIn(len); #endif - kb_incr(&statCounter.server.all.kbytes_in, len); - kb_incr(&statCounter.server.http.kbytes_in, len); + kb_incr(&(statCounter.server.all.kbytes_in), len); + kb_incr(&(statCounter.server.http.kbytes_in), len); IOStats.Http.reads++; for (clen = len - 1, bin = 0; clen; bin++) @@ -1115,24 +1116,10 @@ * doing so breaks HTTP/0.9 replies beginning with witespace, and in addition * the response splitting countermeasures is extremely likely to trigger on this, * not allowing connection reuse in the first place. + * + * 2012-02-10: which RFC? not 2068 or 2616, + * tolerance there is all about whitespace between requests and header tokens. */ -#if DONT_DO_THIS - if (!flags.headers_parsed && len > 0 && fd_table[serverConnection->fd].uses > 1) { - /* Skip whitespace between replies */ - - while (len > 0 && xisspace(*buf)) - memmove(buf, buf + 1, len--); - - if (len == 0) { - /* Continue to read... */ - /* Timeout NOT increased. This whitespace was from previous reply */ - flags.do_next_read = 1; - maybeReadVirginBody(); - return; - } - } - -#endif if (len == 0) { // reached EOF? eof = 1; @@ -1465,8 +1452,8 @@ if (io.size > 0) { fd_bytes(io.fd, io.size, FD_WRITE); - kb_incr(&statCounter.server.all.kbytes_out, io.size); - kb_incr(&statCounter.server.http.kbytes_out, io.size); + kb_incr(&(statCounter.server.all.kbytes_out), io.size); + kb_incr(&(statCounter.server.http.kbytes_out), io.size); } if (io.flag == COMM_ERR_CLOSING) diff -u -r -N squid-3.2.0.15/src/HttpHdrCc.cc squid-3.2.0.16/src/HttpHdrCc.cc --- squid-3.2.0.15/src/HttpHdrCc.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/HttpHdrCc.cc 2012-03-07 15:42:55.000000000 +1300 @@ -32,9 +32,11 @@ #include "squid-old.h" #include "base/StringArea.h" -#include "Store.h" #include "HttpHeader.h" +#include "HttpHeaderStat.h" #include "HttpHdrCc.h" +#include "StatHist.h" +#include "Store.h" #if HAVE_MAP #include @@ -285,7 +287,7 @@ for (c = CC_PUBLIC; c < CC_ENUM_END; ++c) if (cc->isSet(c)) - statHistCount(hist, c); + hist->count(c); } void diff -u -r -N squid-3.2.0.15/src/HttpHdrSc.cc squid-3.2.0.16/src/HttpHdrSc.cc --- squid-3.2.0.15/src/HttpHdrSc.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/HttpHdrSc.cc 2012-03-07 15:42:55.000000000 +1300 @@ -39,6 +39,7 @@ #include "squid-old.h" #include "Store.h" #include "HttpHeader.h" +#include "HttpHeaderStat.h" #include "HttpHdrSc.h" #if HAVE_MAP diff -u -r -N squid-3.2.0.15/src/HttpHdrScTarget.cc squid-3.2.0.16/src/HttpHdrScTarget.cc --- squid-3.2.0.15/src/HttpHdrScTarget.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/HttpHdrScTarget.cc 2012-03-07 15:42:55.000000000 +1300 @@ -37,6 +37,7 @@ #include "squid-old.h" #include "HttpHdrSc.h" +#include "StatHist.h" extern http_hdr_sc_type &operator++ (http_hdr_sc_type &aHeader); /* copies non-extant fields from new_sc to this sc */ @@ -71,5 +72,5 @@ for (c = SC_NO_STORE; c < SC_ENUM_END; ++c) if (isSet(c)) - statHistCount(hist, c); + hist->count(c); } diff -u -r -N squid-3.2.0.15/src/HttpHeader.cc squid-3.2.0.16/src/HttpHeader.cc --- squid-3.2.0.15/src/HttpHeader.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/HttpHeader.cc 2012-03-07 15:42:55.000000000 +1300 @@ -39,9 +39,11 @@ #include "HttpHdrCc.h" #include "HttpHdrSc.h" #include "HttpHeader.h" +#include "HttpHeaderStat.h" #include "MemBuf.h" #include "mgr/Registration.h" #include "rfc1123.h" +#include "StatHist.h" #include "Store.h" #include "TimeOrTag.h" @@ -374,10 +376,10 @@ assert(label); memset(hs, 0, sizeof(HttpHeaderStat)); hs->label = label; - statHistEnumInit(&hs->hdrUCountDistr, 32); /* not a real enum */ - statHistEnumInit(&hs->fieldTypeDistr, HDR_ENUM_END); - statHistEnumInit(&hs->ccTypeDistr, CC_ENUM_END); - statHistEnumInit(&hs->scTypeDistr, SC_ENUM_END); + hs->hdrUCountDistr.enumInit(32); /* not a real enum */ + hs->fieldTypeDistr.enumInit(HDR_ENUM_END); + hs->ccTypeDistr.enumInit(CC_ENUM_END); + hs->scTypeDistr.enumInit(SC_ENUM_END); } /* @@ -444,7 +446,7 @@ if (owner <= hoReply) { if (0 != entries.count) - statHistCount(&HttpHeaderStats[owner].hdrUCountDistr, entries.count); + HttpHeaderStats[owner].hdrUCountDistr.count(entries.count); HttpHeaderStats[owner].destroyedCount++; @@ -456,7 +458,7 @@ if (e->id < 0 || e->id >= HDR_ENUM_END) { debugs(55, 0, "HttpHeader::clean BUG: entry[" << pos << "] is invalid (" << e->id << "). Ignored."); } else { - statHistCount(&HttpHeaderStats[owner].fieldTypeDistr, e->id); + HttpHeaderStats[owner].fieldTypeDistr.count(e->id); /* yes, this deletion leaves us in an inconsistent state */ delete e; } @@ -1691,19 +1693,19 @@ storeAppendPrintf(e, "\nField type distribution\n"); storeAppendPrintf(e, "%2s\t %-20s\t %5s\t %6s\n", "id", "name", "count", "#/header"); - statHistDump(&hs->fieldTypeDistr, e, httpHeaderFieldStatDumper); + hs->fieldTypeDistr.dump(e, httpHeaderFieldStatDumper); storeAppendPrintf(e, "\nCache-control directives distribution\n"); storeAppendPrintf(e, "%2s\t %-20s\t %5s\t %6s\n", "id", "name", "count", "#/cc_field"); - statHistDump(&hs->ccTypeDistr, e, httpHdrCcStatDumper); + hs->ccTypeDistr.dump(e, httpHdrCcStatDumper); storeAppendPrintf(e, "\nSurrogate-control directives distribution\n"); storeAppendPrintf(e, "%2s\t %-20s\t %5s\t %6s\n", "id", "name", "count", "#/sc_field"); - statHistDump(&hs->scTypeDistr, e, httpHdrScStatDumper); + hs->scTypeDistr.dump(e, httpHdrScStatDumper); storeAppendPrintf(e, "\nNumber of fields per header distribution\n"); storeAppendPrintf(e, "%2s\t %-5s\t %5s\t %6s\n", "id", "#flds", "count", "%total"); - statHistDump(&hs->hdrUCountDistr, e, httpHeaderFldsPerHdrDumper); + hs->hdrUCountDistr.dump(e, httpHeaderFldsPerHdrDumper); dump_stat = NULL; } diff -u -r -N squid-3.2.0.15/src/HttpHeaderStat.h squid-3.2.0.16/src/HttpHeaderStat.h --- squid-3.2.0.15/src/HttpHeaderStat.h 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/src/HttpHeaderStat.h 2012-03-07 15:42:55.000000000 +1300 @@ -0,0 +1,33 @@ +/* + * HttpHeaderStat.h + * + * Created on: Dec 9, 2011 + * Author: kinkie + */ + +#ifndef HTTPHEADERSTAT_H_ +#define HTTPHEADERSTAT_H_ + +/* per header statistics */ + +#include "StatHist.h" +class HttpHeaderStat +{ +public: + const char *label; + HttpHeaderMask *owner_mask; + + StatHist hdrUCountDistr; + StatHist fieldTypeDistr; + StatHist ccTypeDistr; + StatHist scTypeDistr; + + int parsedCount; + int ccParsedCount; + int scParsedCount; + int destroyedCount; + int busyDestroyedCount; +}; + + +#endif /* HTTPHEADERSTAT_H_ */ diff -u -r -N squid-3.2.0.15/src/icp_v2.cc squid-3.2.0.16/src/icp_v2.cc --- squid-3.2.0.15/src/icp_v2.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/icp_v2.cc 2012-03-07 15:42:55.000000000 +1300 @@ -46,6 +46,7 @@ #include "acl/Acl.h" #include "AccessLogEntry.h" #include "wordlist.h" +#include "StatCounters.h" #include "SquidTime.h" #include "SwapDir.h" #include "icmp/net_db.h" @@ -810,7 +811,7 @@ statCounter.icp.replies_sent++; kb_incr(&statCounter.icp.r_kbytes_sent, len); /* this is the sent-reply service time */ - statHistCount(&statCounter.icp.reply_svc_time, delay); + statCounter.icp.replySvcTime.count(delay); } if (ICP_HIT == icp->opcode) @@ -825,7 +826,7 @@ } else { statCounter.icp.replies_recv++; kb_incr(&statCounter.icp.r_kbytes_recv, len); - /* statCounter.icp.query_svc_time set in clientUpdateCounters */ + /* statCounter.icp.querySvcTime set in clientUpdateCounters */ } if (ICP_HIT == icp->opcode) diff -u -r -N squid-3.2.0.15/src/ip/Address.cc squid-3.2.0.16/src/ip/Address.cc --- squid-3.2.0.15/src/ip/Address.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/ip/Address.cc 2012-03-07 15:42:55.000000000 +1300 @@ -270,7 +270,11 @@ bool Ip::Address::IsSiteLocal6() const { - return IN6_IS_ADDR_SITELOCAL( &m_SocketAddr.sin6_addr ); + // RFC 4193 the site-local allocated range is fc00::/7 + // with fd00::/8 as the only currently allocated range (so we test it first). + // BUG: as of 2010-02 Linux and BSD define IN6_IS_ADDR_SITELOCAL() to check for fec::/10 + return m_SocketAddr.sin6_addr.s6_addr[0] == static_cast(0xfd) || + m_SocketAddr.sin6_addr.s6_addr[0] == static_cast(0xfc); } bool diff -u -r -N squid-3.2.0.15/src/ip/Address.h squid-3.2.0.16/src/ip/Address.h --- squid-3.2.0.15/src/ip/Address.h 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/ip/Address.h 2012-03-07 15:42:55.000000000 +1300 @@ -165,9 +165,9 @@ bool IsLocalhost() const; /** Test whether content is an IPv6 Site-Local address. - \retval true if address begins with fe80::/10. + \retval true if address begins with fd00::/8. \retval false if --disable-ipv6 has been compiled. - \retval false if address does not match fe80::/10 + \retval false if address does not match fd00::/8 */ bool IsSiteLocal6() const; diff -u -r -N squid-3.2.0.15/src/ipcache.cc squid-3.2.0.16/src/ipcache.cc --- squid-3.2.0.15/src/ipcache.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/ipcache.cc 2012-03-07 15:42:55.000000000 +1300 @@ -41,6 +41,7 @@ #include "mgr/Registration.h" #include "SquidDns.h" #include "SquidTime.h" +#include "StatCounters.h" #include "Store.h" #include "wordlist.h" @@ -143,7 +144,7 @@ #if USE_DNSHELPER static int ipcacheParse(ipcache_entry *, const char *buf); #else -static int ipcacheParse(ipcache_entry *, rfc1035_rr *, int, const char *error); +static int ipcacheParse(ipcache_entry *, const rfc1035_rr *, int, const char *error); #endif static ipcache_entry *ipcache_get(const char *); static void ipcacheLockEntry(ipcache_entry *); @@ -457,7 +458,7 @@ #else static int -ipcacheParse(ipcache_entry *i, rfc1035_rr * answers, int nr, const char *error_message) +ipcacheParse(ipcache_entry *i, const rfc1035_rr * answers, int nr, const char *error_message) { int k; int j = 0; @@ -591,14 +592,14 @@ #if USE_DNSHELPER ipcacheHandleReply(void *data, char *reply) #else -ipcacheHandleReply(void *data, rfc1035_rr * answers, int na, const char *error_message) +ipcacheHandleReply(void *data, const rfc1035_rr * answers, int na, const char *error_message) #endif { ipcache_entry *i; static_cast(data)->unwrap(&i); IpcacheStats.replies++; const int age = i->age(); - statHistCount(&statCounter.dns.svc_time, age); + statCounter.dns.svcTime.count(age); #if USE_DNSHELPER ipcacheParse(i, reply); diff -u -r -N squid-3.2.0.15/src/log/FormatHttpdCombined.cc squid-3.2.0.16/src/log/FormatHttpdCombined.cc --- squid-3.2.0.15/src/log/FormatHttpdCombined.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/log/FormatHttpdCombined.cc 2012-03-07 15:42:55.000000000 +1300 @@ -48,11 +48,17 @@ const char *user_auth = ::Format::QuoteUrlEncodeUsername(al->cache.authuser); - const char *referer = al->request->header.getStr(HDR_REFERER); + const char *referer = NULL; + const char *agent = NULL; + + if (al && al->request) { + referer = al->request->header.getStr(HDR_REFERER); + agent = al->request->header.getStr(HDR_USER_AGENT); + } + if (!referer || *referer == '\0') referer = "-"; - const char *agent = al->request->header.getStr(HDR_USER_AGENT); if (!agent || *agent == '\0') agent = "-"; diff -u -r -N squid-3.2.0.15/src/log/FormatSquidReferer.cc squid-3.2.0.16/src/log/FormatSquidReferer.cc --- squid-3.2.0.15/src/log/FormatSquidReferer.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/log/FormatSquidReferer.cc 2012-03-07 15:42:55.000000000 +1300 @@ -43,11 +43,12 @@ void Log::Format::SquidReferer(AccessLogEntry *al, Logfile *logfile) { - const char *referer = al->request->header.getStr(HDR_REFERER); + const char *referer = NULL; + if (al && al->request) + referer = al->request->header.getStr(HDR_REFERER); - // do not log unless there is something to be displayed if (!referer || *referer == '\0') - return; + referer = "-"; char clientip[MAX_IPSTRLEN]; al->getLogClientIp(clientip, MAX_IPSTRLEN); diff -u -r -N squid-3.2.0.15/src/log/FormatSquidUseragent.cc squid-3.2.0.16/src/log/FormatSquidUseragent.cc --- squid-3.2.0.15/src/log/FormatSquidUseragent.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/log/FormatSquidUseragent.cc 2012-03-07 15:42:55.000000000 +1300 @@ -43,11 +43,13 @@ void Log::Format::SquidUserAgent(AccessLogEntry * al, Logfile * logfile) { - const char *agent = al->request->header.getStr(HDR_USER_AGENT); + const char *agent = NULL; + + if (al && al->request) + agent = al->request->header.getStr(HDR_USER_AGENT); - // do not log unless there is something to be displayed. if (!agent || *agent == '\0') - return; + agent = "-"; char clientip[MAX_IPSTRLEN]; al->getLogClientIp(clientip, MAX_IPSTRLEN); diff -u -r -N squid-3.2.0.15/src/main.cc squid-3.2.0.16/src/main.cc --- squid-3.2.0.15/src/main.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/main.cc 2012-03-07 15:42:55.000000000 +1300 @@ -83,6 +83,7 @@ #include "ipc/Strand.h" #include "ip/tools.h" #include "SquidTime.h" +#include "StatCounters.h" #include "SwapDir.h" #include "forward.h" #include "MemPool.h" diff -u -r -N squid-3.2.0.15/src/Makefile.am squid-3.2.0.16/src/Makefile.am --- squid-3.2.0.15/src/Makefile.am 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/Makefile.am 2012-03-07 15:42:55.000000000 +1300 @@ -173,7 +173,9 @@ if USE_AIOPS_WIN32 AIOPS_SOURCE = DiskIO/DiskThreads/aiops_win32.cc else -AIOPS_SOURCE = DiskIO/DiskThreads/aiops.cc +AIOPS_SOURCE = DiskIO/DiskThreads/aiops.cc \ + DiskIO/DiskThreads/CommIO.cc \ + DiskIO/DiskThreads/CommIO.h endif EXTRA_LIBRARIES = libAIO.a libBlocking.a libDiskDaemon.a libDiskThreads.a \ @@ -284,7 +286,6 @@ ClientRequestContext.h \ clientStream.cc \ clientStream.h \ - CommIO.h \ CompletionDispatcher.cc \ CompletionDispatcher.h \ CommRead.h \ @@ -357,6 +358,7 @@ HttpHdrScTarget.h \ HttpHdrContRange.cc \ HttpHdrContRange.h \ + HttpHeaderStat.h \ HttpHeader.cc \ HttpHeader.h \ HttpHeaderMask.h \ @@ -428,6 +430,9 @@ SquidMath.cc \ SquidNew.cc \ stat.cc \ + StatCounters.h \ + StatCounters.cc \ + StatHist.h \ StatHist.cc \ String.cc \ stmem.cc \ @@ -518,9 +523,7 @@ $(SNMP_ALL_SOURCE) \ $(UNLINKDSOURCE) \ $(WIN32_ALL_SOURCE) \ - $(LOADABLE_MODULES_SOURCES) \ - DiskIO/DiskThreads/aiops.cc \ - DiskIO/DiskThreads/aiops_win32.cc + $(LOADABLE_MODULES_SOURCES) noinst_HEADERS = \ client_side_request.cci \ @@ -831,6 +834,12 @@ DiskIO/DiskThreads/DiskThreadsIOStrategy.cc \ DiskIO/DiskThreads/DiskThreadsIOStrategy.h +EXTRA_libDiskThreads_a_SOURCES = \ + DiskIO/DiskThreads/aiops.cc \ + DiskIO/DiskThreads/aiops_win32.cc \ + DiskIO/DiskThreads/CommIO.cc \ + DiskIO/DiskThreads/CommIO.h + DiskIO_DiskDaemon_diskd_SOURCES = DiskIO/DiskDaemon/diskd.cc nodist_DiskIO_DiskDaemon_diskd_SOURCES = time.cc DiskIO_DiskDaemon_diskd_LDADD = \ @@ -1011,6 +1020,7 @@ tests/testString \ tests/testURL \ tests/testConfigParser \ + tests/testStatHist \ $(STORE_TESTS) ## NP: required to run the above list. check_PROGRAMS only builds the binaries... @@ -1081,6 +1091,9 @@ tests/stub_cache_manager.cc \ tests/stub_debug.cc \ tests/stub_HelperChildConfig.cc \ + StatCounters.h \ + StatCounters.cc \ + StatHist.h \ tests/stub_StatHist.cc \ tests/stub_store.cc \ tests/stub_store_stats.cc \ @@ -1107,27 +1120,7 @@ $(XTRA_LIBS) tests_testHttpReply_DEPENDENCIES= $(SQUID_CPPUNIT_LA) -## Tests for the ACLMaxUserIP class -## acl needs wordlist. wordlist needs MemBug -## MemBuf needs mem, MemBuf needs event, -## event needs cbdata. -## ACLMaxUserUP needs $(AUTH_LIBS) -## ACLMaxUserIP needs ACLChecklist -## AuthUser request needs HttpHeader, which brings in -## ETag.cc \ -## HttpHeader.cc \ -## HttpHeaderTools.cc \ -## HttpHdrContRange.cc \ -## HttpHdrCc.cc \ -## HttpHdrRange.cc \ -## HttpHdrSc.cc \ -## HttpHdrScTarget.cc \ -## Packer.cc \ -## StatHist.cc \ -## String.cc \ -## -## disk.cc \ -## fs/libfs.la \ + tests_testACLMaxUserIP_SOURCES= \ cbdata.cc \ ClientInfo.h \ @@ -1158,7 +1151,9 @@ Packer.cc \ Parsing.cc \ SquidMath.cc \ - StatHist.cc \ + StatCounters.h \ + StatHist.h \ + tests/stub_StatHist.cc \ stmem.cc \ String.cc \ store_dir.cc \ @@ -1357,7 +1352,10 @@ SquidMath.h \ SquidMath.cc \ stat.cc \ - StatHist.cc \ + StatCounters.h \ + StatCounters.cc \ + StatHist.h \ + tests/stub_StatHist.cc \ stmem.cc \ store.cc \ store_client.cc \ @@ -1438,8 +1436,6 @@ $(REPL_OBJS) \ $(SQUID_CPPUNIT_LA) -# tests/stub_CommIO.cc \ -# tests/stub_comm.cc tests_testDiskIO_SOURCES = \ CacheDigest.cc \ cbdata.cc \ @@ -1480,7 +1476,10 @@ Parsing.cc \ refresh.cc \ RemovalPolicy.cc \ - StatHist.cc \ + StatCounters.h \ + StatCounters.cc \ + StatHist.h \ + tests/stub_StatHist.cc \ stmem.cc \ StoreFileSystem.cc \ StoreIOState.cc \ @@ -1685,6 +1684,9 @@ SquidMath.cc \ SquidMath.h \ stat.cc \ + StatCounters.h \ + StatCounters.cc \ + StatHist.h \ StatHist.cc \ stmem.cc \ store.cc \ @@ -1876,6 +1878,9 @@ SquidMath.h \ SquidMath.cc \ stat.cc \ + StatCounters.h \ + StatCounters.cc \ + StatHist.h \ StatHist.cc \ stmem.cc \ store.cc \ @@ -2063,6 +2068,9 @@ SquidMath.h \ SquidMath.cc \ stat.cc \ + StatCounters.h \ + StatCounters.cc \ + StatHist.h \ StatHist.cc \ stmem.cc \ store.cc \ @@ -2288,6 +2296,9 @@ SquidMath.h \ SquidMath.cc \ stat.cc \ + StatCounters.h \ + StatCounters.cc \ + StatHist.h \ StatHist.cc \ stmem.cc \ store.cc \ @@ -2403,6 +2414,9 @@ Parsing.cc \ RemovalPolicy.cc \ refresh.cc \ + StatCounters.h \ + StatCounters.cc \ + StatHist.h \ StatHist.cc \ stmem.cc \ store.cc \ @@ -2635,6 +2649,9 @@ HttpHdrSc.cc \ HttpHdrScTarget.cc \ url.cc \ + StatCounters.h \ + StatCounters.cc \ + StatHist.h \ StatHist.cc \ HttpHdrRange.cc \ ETag.cc \ @@ -2728,7 +2745,10 @@ Packer.cc \ Parsing.cc \ RemovalPolicy.cc \ - StatHist.cc \ + StatCounters.h \ + StatCounters.cc \ + StatHist.h \ + tests/stub_StatHist.cc \ stmem.cc \ store.cc \ StoreFileSystem.cc \ @@ -2896,9 +2916,10 @@ HttpHdrSc.cc \ HttpHdrScTarget.cc \ url.cc \ - StatHist.cc \ - HttpHdrRange.cc \ - ETag.cc \ + StatCounters.h \ + StatCounters.cc \ + StatHist.h \ + tests/stub_StatHist.cc \ tests/stub_errorpage.cc \ tests/stub_HttpRequest.cc \ tests/stub_access_log.cc \ @@ -2963,7 +2984,6 @@ tests/testMain.cc \ tests/testNull.h \ tests/stub_internal.cc \ - tests/stub_CommIO.cc \ tests/stub_store_rebuild.cc \ tests/stub_store_stats.cc \ fd.cc \ @@ -3031,9 +3051,10 @@ HttpHdrSc.cc \ HttpHdrScTarget.cc \ url.cc \ - StatHist.cc \ - HttpHdrRange.cc \ - ETag.cc \ + StatCounters.h \ + StatCounters.cc \ + StatHist.h \ + tests/stub_StatHist.cc \ tests/stub_errorpage.cc \ tests/stub_HttpRequest.cc \ tests/stub_access_log.cc \ @@ -3182,7 +3203,10 @@ SquidMath.h \ SquidMath.cc \ stat.cc \ - StatHist.cc \ + StatCounters.h \ + StatCounters.cc \ + StatHist.h \ + tests/stub_StatHist.cc \ stmem.cc \ store.cc \ store_client.cc \ @@ -3302,6 +3326,41 @@ tests_testConfigParser_LDFLAGS = $(LIBADD_DL) tests_testConfigParser_DEPENDENCIES = \ $(SQUID_CPPUNIT_LA) + +tests_testStatHist_SOURCES = \ + cbdata.cc \ + MemBuf.cc \ + StatHist.cc \ + StatHist.h \ + String.cc \ + tests/stub_cache_manager.cc \ + tests/stub_comm.cc \ + tests/stub_debug.cc \ + tests/stub_DelayId.cc \ + tests/stub_HelperChildConfig.cc \ + tests/stub_mem.cc \ + tests/stub_MemObject.cc \ + tests/stub_mime.cc \ + tests/stub_pconn.cc \ + tests/stub_stmem.cc \ + tests/stub_store.cc \ + tests/stub_store_stats.cc \ + tests/stub_tools.cc \ + tests/testMain.cc \ + tests/testStatHist.cc \ + tests/testStatHist.h \ + time.cc +nodist_tests_testStatHist_SOURCES = \ + $(TESTSOURCES) +tests_testStatHist_LDFLAGS = $(LIBADD_DL) +tests_testStatHist_LDADD = \ + base/libbase.la \ + $(top_builddir)/lib/libmiscutil.la \ + $(SQUID_CPPUNIT_LIBS) \ + $(SQUID_CPPUNIT_LA) \ + $(COMPAT_LIB) +tests_testStatHist_DEPENDENCIES = $(SQUID_CPPUNIT_LA) + TESTS += testHeaders diff -u -r -N squid-3.2.0.15/src/Makefile.in squid-3.2.0.16/src/Makefile.in --- squid-3.2.0.15/src/Makefile.in 2012-02-06 04:58:32.000000000 +1300 +++ squid-3.2.0.16/src/Makefile.in 2012-03-07 15:46:03.000000000 +1300 @@ -54,7 +54,7 @@ tests/testHttpReply$(EXEEXT) tests/testHttpRequest$(EXEEXT) \ tests/testStore$(EXEEXT) tests/testString$(EXEEXT) \ tests/testURL$(EXEEXT) tests/testConfigParser$(EXEEXT) \ - $(STORE_TESTS) + tests/testStatHist$(EXEEXT) $(STORE_TESTS) @USE_LOADABLE_MODULES_TRUE@am__append_1 = $(INCLTDL) @ENABLE_AUTH_TRUE@am__append_2 = auth @ENABLE_AUTH_TRUE@am__append_3 = tests/testACLMaxUserIP @@ -123,6 +123,7 @@ libDiskThreads_a_AR = $(AR) $(ARFLAGS) libDiskThreads_a_LIBADD = am__libDiskThreads_a_SOURCES_DIST = DiskIO/DiskThreads/aiops.cc \ + DiskIO/DiskThreads/CommIO.cc DiskIO/DiskThreads/CommIO.h \ DiskIO/DiskThreads/aiops_win32.cc \ DiskIO/DiskThreads/async_io.cc \ DiskIO/DiskThreads/DiskThreads.h \ @@ -133,7 +134,8 @@ DiskIO/DiskThreads/DiskThreadsIOStrategy.cc \ DiskIO/DiskThreads/DiskThreadsIOStrategy.h @USE_AIOPS_WIN32_FALSE@am__objects_3 = \ -@USE_AIOPS_WIN32_FALSE@ DiskIO/DiskThreads/aiops.$(OBJEXT) +@USE_AIOPS_WIN32_FALSE@ DiskIO/DiskThreads/aiops.$(OBJEXT) \ +@USE_AIOPS_WIN32_FALSE@ DiskIO/DiskThreads/CommIO.$(OBJEXT) @USE_AIOPS_WIN32_TRUE@am__objects_3 = DiskIO/DiskThreads/aiops_win32.$(OBJEXT) am_libDiskThreads_a_OBJECTS = $(am__objects_3) \ DiskIO/DiskThreads/async_io.$(OBJEXT) \ @@ -203,7 +205,7 @@ client_side.cc client_side.h client_side_reply.cc \ client_side_reply.h client_side_request.cc \ client_side_request.h ClientInfo.h BodyPipe.cc BodyPipe.h \ - ClientRequestContext.h clientStream.cc clientStream.h CommIO.h \ + ClientRequestContext.h clientStream.cc clientStream.h \ CompletionDispatcher.cc CompletionDispatcher.h CommRead.h \ ConfigOption.cc ConfigParser.cc ConfigParser.h CpuAffinity.cc \ CpuAffinity.h CpuAffinityMap.cc CpuAffinityMap.h \ @@ -232,8 +234,8 @@ HttpStatusCode.h HttpStatusLine.cc HttpStatusLine.h \ HttpHdrCc.h HttpHdrCc.cc HttpHdrCc.cci HttpHdrRange.cc \ HttpHdrSc.cc HttpHdrSc.h HttpHdrScTarget.cc HttpHdrScTarget.h \ - HttpHdrContRange.cc HttpHdrContRange.h HttpHeader.cc \ - HttpHeader.h HttpHeaderMask.h HttpHeaderRange.h \ + HttpHdrContRange.cc HttpHdrContRange.h HttpHeaderStat.h \ + HttpHeader.cc HttpHeader.h HttpHeaderMask.h HttpHeaderRange.h \ HttpHeaderTools.cc HttpBody.h HttpBody.cc HttpControlMsg.h \ HttpMsg.cc HttpMsg.h HttpParser.cc HttpParser.h HttpReply.cc \ HttpReply.h HttpRequest.cc HttpRequest.h HttpRequestMethod.cc \ @@ -249,25 +251,25 @@ redirect.cc refresh.cc RemovalPolicy.cc RemovalPolicy.h \ send-announce.cc base/InstanceId.h MemBlob.h MemBlob.cc \ snmp_core.h snmp_core.cc snmp_agent.cc squid-old.h SquidMath.h \ - SquidMath.cc SquidNew.cc stat.cc StatHist.cc String.cc \ - stmem.cc stmem.h store.cc Store.h StoreFileSystem.cc \ - StoreFileSystem.h StoreHashIndex.h store_io.cc StoreIOBuffer.h \ - StoreIOState.cc StoreIOState.h store_client.cc StoreClient.h \ - store_digest.cc store_dir.cc store_key_md5.cc store_log.cc \ - store_rebuild.cc store_swapin.cc store_swapmeta.cc \ - store_swapout.cc StoreMeta.cc StoreMeta.h StoreMetaMD5.cc \ - StoreMetaMD5.h StoreMetaSTD.cc StoreMetaSTD.h \ - StoreMetaSTDLFS.cc StoreMetaSTDLFS.h StoreMetaObjSize.h \ - StoreMetaUnpacker.cc StoreMetaUnpacker.h StoreMetaURL.cc \ - StoreMetaURL.h StoreMetaVary.cc StoreMetaVary.h StoreSearch.h \ - StoreStats.cc StoreStats.h StoreSwapLogData.cc \ - StoreSwapLogData.h Server.cc Server.h structs.h swap_log_op.h \ - SwapDir.cc SwapDir.h MemStore.cc MemStore.h time.cc \ - TimeOrTag.h tools.cc tunnel.cc typedefs.h unlinkd.cc url.cc \ - URL.h URLScheme.cc URLScheme.h urn.cc wccp.cc wccp2.cc \ - whois.cc wordlist.cc wordlist.h win32.cc WinSvc.cc \ - LoadableModule.h LoadableModule.cc LoadableModules.h \ - LoadableModules.cc + SquidMath.cc SquidNew.cc stat.cc StatCounters.h \ + StatCounters.cc StatHist.h StatHist.cc String.cc stmem.cc \ + stmem.h store.cc Store.h StoreFileSystem.cc StoreFileSystem.h \ + StoreHashIndex.h store_io.cc StoreIOBuffer.h StoreIOState.cc \ + StoreIOState.h store_client.cc StoreClient.h store_digest.cc \ + store_dir.cc store_key_md5.cc store_log.cc store_rebuild.cc \ + store_swapin.cc store_swapmeta.cc store_swapout.cc \ + StoreMeta.cc StoreMeta.h StoreMetaMD5.cc StoreMetaMD5.h \ + StoreMetaSTD.cc StoreMetaSTD.h StoreMetaSTDLFS.cc \ + StoreMetaSTDLFS.h StoreMetaObjSize.h StoreMetaUnpacker.cc \ + StoreMetaUnpacker.h StoreMetaURL.cc StoreMetaURL.h \ + StoreMetaVary.cc StoreMetaVary.h StoreSearch.h StoreStats.cc \ + StoreStats.h StoreSwapLogData.cc StoreSwapLogData.h Server.cc \ + Server.h structs.h swap_log_op.h SwapDir.cc SwapDir.h \ + MemStore.cc MemStore.h time.cc TimeOrTag.h tools.cc tunnel.cc \ + typedefs.h unlinkd.cc url.cc URL.h URLScheme.cc URLScheme.h \ + urn.cc wccp.cc wccp2.cc whois.cc wordlist.cc wordlist.h \ + win32.cc WinSvc.cc LoadableModule.h LoadableModule.cc \ + LoadableModules.h LoadableModules.cc am__objects_4 = AclRegs.$(OBJEXT) AuthReg.$(OBJEXT) am__objects_5 = delay_pools.$(OBJEXT) DelayId.$(OBJEXT) \ DelayBucket.$(OBJEXT) DelayConfig.$(OBJEXT) \ @@ -331,23 +333,24 @@ redirect.$(OBJEXT) refresh.$(OBJEXT) RemovalPolicy.$(OBJEXT) \ send-announce.$(OBJEXT) $(am__objects_13) $(am__objects_15) \ SquidMath.$(OBJEXT) SquidNew.$(OBJEXT) stat.$(OBJEXT) \ - StatHist.$(OBJEXT) String.$(OBJEXT) stmem.$(OBJEXT) \ - store.$(OBJEXT) StoreFileSystem.$(OBJEXT) store_io.$(OBJEXT) \ - StoreIOState.$(OBJEXT) store_client.$(OBJEXT) \ - store_digest.$(OBJEXT) store_dir.$(OBJEXT) \ - store_key_md5.$(OBJEXT) store_log.$(OBJEXT) \ - store_rebuild.$(OBJEXT) store_swapin.$(OBJEXT) \ - store_swapmeta.$(OBJEXT) store_swapout.$(OBJEXT) \ - StoreMeta.$(OBJEXT) StoreMetaMD5.$(OBJEXT) \ - StoreMetaSTD.$(OBJEXT) StoreMetaSTDLFS.$(OBJEXT) \ - StoreMetaUnpacker.$(OBJEXT) StoreMetaURL.$(OBJEXT) \ - StoreMetaVary.$(OBJEXT) StoreStats.$(OBJEXT) \ - StoreSwapLogData.$(OBJEXT) Server.$(OBJEXT) SwapDir.$(OBJEXT) \ - MemStore.$(OBJEXT) time.$(OBJEXT) tools.$(OBJEXT) \ - tunnel.$(OBJEXT) $(am__objects_16) url.$(OBJEXT) \ - URLScheme.$(OBJEXT) urn.$(OBJEXT) wccp.$(OBJEXT) \ - wccp2.$(OBJEXT) whois.$(OBJEXT) wordlist.$(OBJEXT) \ - $(am__objects_17) $(am__objects_18) $(am__objects_20) + StatCounters.$(OBJEXT) StatHist.$(OBJEXT) String.$(OBJEXT) \ + stmem.$(OBJEXT) store.$(OBJEXT) StoreFileSystem.$(OBJEXT) \ + store_io.$(OBJEXT) StoreIOState.$(OBJEXT) \ + store_client.$(OBJEXT) store_digest.$(OBJEXT) \ + store_dir.$(OBJEXT) store_key_md5.$(OBJEXT) \ + store_log.$(OBJEXT) store_rebuild.$(OBJEXT) \ + store_swapin.$(OBJEXT) store_swapmeta.$(OBJEXT) \ + store_swapout.$(OBJEXT) StoreMeta.$(OBJEXT) \ + StoreMetaMD5.$(OBJEXT) StoreMetaSTD.$(OBJEXT) \ + StoreMetaSTDLFS.$(OBJEXT) StoreMetaUnpacker.$(OBJEXT) \ + StoreMetaURL.$(OBJEXT) StoreMetaVary.$(OBJEXT) \ + StoreStats.$(OBJEXT) StoreSwapLogData.$(OBJEXT) \ + Server.$(OBJEXT) SwapDir.$(OBJEXT) MemStore.$(OBJEXT) \ + time.$(OBJEXT) tools.$(OBJEXT) tunnel.$(OBJEXT) \ + $(am__objects_16) url.$(OBJEXT) URLScheme.$(OBJEXT) \ + urn.$(OBJEXT) wccp.$(OBJEXT) wccp2.$(OBJEXT) whois.$(OBJEXT) \ + wordlist.$(OBJEXT) $(am__objects_17) $(am__objects_18) \ + $(am__objects_20) am__EXTRA_squid_SOURCES_DIST = DiskIO/AIO/aio_win32.cc \ DiskIO/AIO/aio_win32.h ConfigOption.h CommonPool.h \ CompositePoolNode.h delay_pools.cc DelayId.cc DelayId.h \ @@ -361,8 +364,7 @@ ipc_win32.cc ProfStats.cc LeakFinder.cc LeakFinder.h \ snmp_core.h snmp_core.cc snmp_agent.cc unlinkd.cc win32.cc \ WinSvc.cc LoadableModule.h LoadableModule.cc LoadableModules.h \ - LoadableModules.cc DiskIO/DiskThreads/aiops.cc \ - DiskIO/DiskThreads/aiops_win32.cc + LoadableModules.cc am__objects_21 = DiskIO/DiskIOModules_gen.$(OBJEXT) am__objects_22 = err_type.$(OBJEXT) err_detail_type.$(OBJEXT) \ globals.$(OBJEXT) hier_code.$(OBJEXT) icp_opcode.$(OBJEXT) \ @@ -388,18 +390,18 @@ HttpHdrScTarget.$(OBJEXT) HttpMsg.$(OBJEXT) \ HttpRequestMethod.$(OBJEXT) int.$(OBJEXT) list.$(OBJEXT) \ mem_node.$(OBJEXT) Packer.$(OBJEXT) Parsing.$(OBJEXT) \ - SquidMath.$(OBJEXT) StatHist.$(OBJEXT) stmem.$(OBJEXT) \ - String.$(OBJEXT) store_dir.$(OBJEXT) StoreIOState.$(OBJEXT) \ - StoreMeta.$(OBJEXT) StoreMetaMD5.$(OBJEXT) \ - StoreMetaSTD.$(OBJEXT) StoreMetaSTDLFS.$(OBJEXT) \ - StoreMetaUnpacker.$(OBJEXT) StoreMetaURL.$(OBJEXT) \ - StoreMetaVary.$(OBJEXT) StoreSwapLogData.$(OBJEXT) \ - store_key_md5.$(OBJEXT) swap_log_op.$(OBJEXT) \ - SwapDir.$(OBJEXT) tests/stub_access_log.$(OBJEXT) \ - tests/stub_cache_cf.$(OBJEXT) tests/stub_comm.$(OBJEXT) \ - tests/stub_debug.$(OBJEXT) tests/stub_DelayId.$(OBJEXT) \ - tests/stub_DiskIOModule.$(OBJEXT) tests/stub_fd.$(OBJEXT) \ - tests/stub_HttpRequest.$(OBJEXT) \ + SquidMath.$(OBJEXT) tests/stub_StatHist.$(OBJEXT) \ + stmem.$(OBJEXT) String.$(OBJEXT) store_dir.$(OBJEXT) \ + StoreIOState.$(OBJEXT) StoreMeta.$(OBJEXT) \ + StoreMetaMD5.$(OBJEXT) StoreMetaSTD.$(OBJEXT) \ + StoreMetaSTDLFS.$(OBJEXT) StoreMetaUnpacker.$(OBJEXT) \ + StoreMetaURL.$(OBJEXT) StoreMetaVary.$(OBJEXT) \ + StoreSwapLogData.$(OBJEXT) store_key_md5.$(OBJEXT) \ + swap_log_op.$(OBJEXT) SwapDir.$(OBJEXT) \ + tests/stub_access_log.$(OBJEXT) tests/stub_cache_cf.$(OBJEXT) \ + tests/stub_comm.$(OBJEXT) tests/stub_debug.$(OBJEXT) \ + tests/stub_DelayId.$(OBJEXT) tests/stub_DiskIOModule.$(OBJEXT) \ + tests/stub_fd.$(OBJEXT) tests/stub_HttpRequest.$(OBJEXT) \ tests/stub_MemObject.$(OBJEXT) tests/stub_MemStore.$(OBJEXT) \ tests/stub_mime.$(OBJEXT) tests/stub_store.$(OBJEXT) \ tests/stub_store_rebuild.$(OBJEXT) \ @@ -464,9 +466,10 @@ peer_proxy_negotiate_auth.cc peer_select.cc peer_sourcehash.cc \ peer_userhash.cc redirect.cc refresh.cc RemovalPolicy.cc \ Server.cc snmp_core.h snmp_core.cc snmp_agent.cc SquidMath.h \ - SquidMath.cc stat.cc StatHist.cc stmem.cc store.cc \ - store_client.cc store_digest.cc store_dir.cc store_io.cc \ - store_key_md5.cc store_log.cc store_rebuild.cc store_swapin.cc \ + SquidMath.cc stat.cc StatCounters.h StatCounters.cc StatHist.h \ + tests/stub_StatHist.cc stmem.cc store.cc store_client.cc \ + store_digest.cc store_dir.cc store_io.cc store_key_md5.cc \ + store_log.cc store_rebuild.cc store_swapin.cc \ store_swapmeta.cc store_swapout.cc StoreFileSystem.cc \ StoreIOState.cc StoreMeta.cc StoreMetaMD5.cc StoreMetaSTD.cc \ StoreMetaSTDLFS.cc StoreMetaUnpacker.cc StoreMetaURL.cc \ @@ -510,8 +513,9 @@ peer_sourcehash.$(OBJEXT) peer_userhash.$(OBJEXT) \ redirect.$(OBJEXT) refresh.$(OBJEXT) RemovalPolicy.$(OBJEXT) \ Server.$(OBJEXT) $(am__objects_15) SquidMath.$(OBJEXT) \ - stat.$(OBJEXT) StatHist.$(OBJEXT) stmem.$(OBJEXT) \ - store.$(OBJEXT) store_client.$(OBJEXT) store_digest.$(OBJEXT) \ + stat.$(OBJEXT) StatCounters.$(OBJEXT) \ + tests/stub_StatHist.$(OBJEXT) stmem.$(OBJEXT) store.$(OBJEXT) \ + store_client.$(OBJEXT) store_digest.$(OBJEXT) \ store_dir.$(OBJEXT) store_io.$(OBJEXT) store_key_md5.$(OBJEXT) \ store_log.$(OBJEXT) store_rebuild.$(OBJEXT) \ store_swapin.$(OBJEXT) store_swapmeta.$(OBJEXT) \ @@ -574,7 +578,8 @@ HttpHeader.cc mem.cc ClientInfo.h MemBuf.cc \ HttpHdrContRange.cc Packer.cc HttpHdrCc.h HttpHdrCc.cc \ HttpHdrCc.cci HttpHdrSc.cc HttpHdrScTarget.cc url.cc \ - StatHist.cc HttpHdrRange.cc ETag.cc tests/stub_errorpage.cc \ + StatCounters.h StatCounters.cc StatHist.h \ + tests/stub_StatHist.cc tests/stub_errorpage.cc \ tests/stub_HttpRequest.cc tests/stub_access_log.cc refresh.cc \ tests/stub_MemStore.cc tests/stub_Port.cc \ tests/stub_store_client.cc tests/stub_tools.cc \ @@ -615,9 +620,8 @@ HttpHeader.$(OBJEXT) mem.$(OBJEXT) MemBuf.$(OBJEXT) \ HttpHdrContRange.$(OBJEXT) Packer.$(OBJEXT) \ HttpHdrCc.$(OBJEXT) HttpHdrSc.$(OBJEXT) \ - HttpHdrScTarget.$(OBJEXT) url.$(OBJEXT) StatHist.$(OBJEXT) \ - HttpHdrRange.$(OBJEXT) ETag.$(OBJEXT) \ - tests/stub_errorpage.$(OBJEXT) \ + HttpHdrScTarget.$(OBJEXT) url.$(OBJEXT) StatCounters.$(OBJEXT) \ + tests/stub_StatHist.$(OBJEXT) tests/stub_errorpage.$(OBJEXT) \ tests/stub_HttpRequest.$(OBJEXT) \ tests/stub_access_log.$(OBJEXT) refresh.$(OBJEXT) \ tests/stub_MemStore.$(OBJEXT) tests/stub_Port.$(OBJEXT) \ @@ -652,7 +656,8 @@ HttpHeader.cc HttpMsg.cc HttpReply.cc HttpRequestMethod.cc \ HttpStatusLine.cc int.cc list.cc MemBuf.cc MemObject.cc \ mem_node.cc mem.cc Packer.cc Parsing.cc refresh.cc \ - RemovalPolicy.cc StatHist.cc stmem.cc StoreFileSystem.cc \ + RemovalPolicy.cc StatCounters.h StatCounters.cc StatHist.h \ + tests/stub_StatHist.cc stmem.cc StoreFileSystem.cc \ StoreIOState.cc StoreMeta.cc StoreMetaMD5.cc StoreMetaSTD.cc \ StoreMetaSTDLFS.cc StoreMetaUnpacker.cc StoreMetaURL.cc \ StoreMetaVary.cc StoreSwapLogData.cc store_dir.cc store_io.cc \ @@ -685,7 +690,8 @@ int.$(OBJEXT) list.$(OBJEXT) MemBuf.$(OBJEXT) \ MemObject.$(OBJEXT) mem_node.$(OBJEXT) mem.$(OBJEXT) \ Packer.$(OBJEXT) Parsing.$(OBJEXT) refresh.$(OBJEXT) \ - RemovalPolicy.$(OBJEXT) StatHist.$(OBJEXT) stmem.$(OBJEXT) \ + RemovalPolicy.$(OBJEXT) StatCounters.$(OBJEXT) \ + tests/stub_StatHist.$(OBJEXT) stmem.$(OBJEXT) \ StoreFileSystem.$(OBJEXT) StoreIOState.$(OBJEXT) \ StoreMeta.$(OBJEXT) StoreMetaMD5.$(OBJEXT) \ StoreMetaSTD.$(OBJEXT) StoreMetaSTDLFS.$(OBJEXT) \ @@ -757,14 +763,14 @@ peer_proxy_negotiate_auth.cc peer_select.cc peer_sourcehash.cc \ peer_userhash.cc ProtoPort.cc ProtoPort.h redirect.cc \ refresh.cc RemovalPolicy.cc Server.cc snmp_core.h snmp_core.cc \ - snmp_agent.cc SquidMath.cc SquidMath.h stat.cc StatHist.cc \ - stmem.cc store.cc store_client.cc store_digest.cc store_dir.cc \ - store_io.cc store_key_md5.cc store_log.cc store_rebuild.cc \ - store_swapin.cc store_swapmeta.cc store_swapout.cc \ - StoreFileSystem.cc StoreIOState.cc StoreMeta.cc \ - StoreMetaMD5.cc StoreMetaSTD.cc StoreMetaSTDLFS.cc \ - StoreMetaUnpacker.cc StoreMetaURL.cc StoreMetaVary.cc \ - StoreSwapLogData.cc String.cc SwapDir.cc \ + snmp_agent.cc SquidMath.cc SquidMath.h stat.cc StatCounters.h \ + StatCounters.cc StatHist.h StatHist.cc stmem.cc store.cc \ + store_client.cc store_digest.cc store_dir.cc store_io.cc \ + store_key_md5.cc store_log.cc store_rebuild.cc store_swapin.cc \ + store_swapmeta.cc store_swapout.cc StoreFileSystem.cc \ + StoreIOState.cc StoreMeta.cc StoreMetaMD5.cc StoreMetaSTD.cc \ + StoreMetaSTDLFS.cc StoreMetaUnpacker.cc StoreMetaURL.cc \ + StoreMetaVary.cc StoreSwapLogData.cc String.cc SwapDir.cc \ tests/CapturingStoreEntry.h tests/testEvent.cc \ tests/testEvent.h tests/testMain.cc tests/stub_main_cc.cc \ tests/stub_ipc_Forwarder.cc tests/stub_store_stats.cc time.cc \ @@ -803,19 +809,20 @@ peer_sourcehash.$(OBJEXT) peer_userhash.$(OBJEXT) \ ProtoPort.$(OBJEXT) redirect.$(OBJEXT) refresh.$(OBJEXT) \ RemovalPolicy.$(OBJEXT) Server.$(OBJEXT) $(am__objects_15) \ - SquidMath.$(OBJEXT) stat.$(OBJEXT) StatHist.$(OBJEXT) \ - stmem.$(OBJEXT) store.$(OBJEXT) store_client.$(OBJEXT) \ - store_digest.$(OBJEXT) store_dir.$(OBJEXT) store_io.$(OBJEXT) \ - store_key_md5.$(OBJEXT) store_log.$(OBJEXT) \ - store_rebuild.$(OBJEXT) store_swapin.$(OBJEXT) \ - store_swapmeta.$(OBJEXT) store_swapout.$(OBJEXT) \ - StoreFileSystem.$(OBJEXT) StoreIOState.$(OBJEXT) \ - StoreMeta.$(OBJEXT) StoreMetaMD5.$(OBJEXT) \ - StoreMetaSTD.$(OBJEXT) StoreMetaSTDLFS.$(OBJEXT) \ - StoreMetaUnpacker.$(OBJEXT) StoreMetaURL.$(OBJEXT) \ - StoreMetaVary.$(OBJEXT) StoreSwapLogData.$(OBJEXT) \ - String.$(OBJEXT) SwapDir.$(OBJEXT) tests/testEvent.$(OBJEXT) \ - tests/testMain.$(OBJEXT) tests/stub_main_cc.$(OBJEXT) \ + SquidMath.$(OBJEXT) stat.$(OBJEXT) StatCounters.$(OBJEXT) \ + StatHist.$(OBJEXT) stmem.$(OBJEXT) store.$(OBJEXT) \ + store_client.$(OBJEXT) store_digest.$(OBJEXT) \ + store_dir.$(OBJEXT) store_io.$(OBJEXT) store_key_md5.$(OBJEXT) \ + store_log.$(OBJEXT) store_rebuild.$(OBJEXT) \ + store_swapin.$(OBJEXT) store_swapmeta.$(OBJEXT) \ + store_swapout.$(OBJEXT) StoreFileSystem.$(OBJEXT) \ + StoreIOState.$(OBJEXT) StoreMeta.$(OBJEXT) \ + StoreMetaMD5.$(OBJEXT) StoreMetaSTD.$(OBJEXT) \ + StoreMetaSTDLFS.$(OBJEXT) StoreMetaUnpacker.$(OBJEXT) \ + StoreMetaURL.$(OBJEXT) StoreMetaVary.$(OBJEXT) \ + StoreSwapLogData.$(OBJEXT) String.$(OBJEXT) SwapDir.$(OBJEXT) \ + tests/testEvent.$(OBJEXT) tests/testMain.$(OBJEXT) \ + tests/stub_main_cc.$(OBJEXT) \ tests/stub_ipc_Forwarder.$(OBJEXT) \ tests/stub_store_stats.$(OBJEXT) time.$(OBJEXT) \ tools.$(OBJEXT) tunnel.$(OBJEXT) MemStore.$(OBJEXT) \ @@ -864,14 +871,14 @@ peer_proxy_negotiate_auth.cc peer_select.cc peer_sourcehash.cc \ peer_userhash.cc ProtoPort.cc ProtoPort.h RemovalPolicy.cc \ redirect.cc refresh.cc Server.cc snmp_core.h snmp_core.cc \ - snmp_agent.cc SquidMath.h SquidMath.cc stat.cc StatHist.cc \ - stmem.cc store.cc store_client.cc store_digest.cc store_dir.cc \ - store_io.cc store_key_md5.cc store_log.cc store_rebuild.cc \ - store_swapin.cc store_swapmeta.cc store_swapout.cc \ - StoreFileSystem.cc StoreIOState.cc StoreMeta.cc \ - StoreMetaMD5.cc StoreMetaSTD.cc StoreMetaSTDLFS.cc \ - StoreMetaUnpacker.cc StoreMetaURL.cc StoreMetaVary.cc \ - StoreSwapLogData.cc String.cc SwapDir.cc \ + snmp_agent.cc SquidMath.h SquidMath.cc stat.cc StatCounters.h \ + StatCounters.cc StatHist.h StatHist.cc stmem.cc store.cc \ + store_client.cc store_digest.cc store_dir.cc store_io.cc \ + store_key_md5.cc store_log.cc store_rebuild.cc store_swapin.cc \ + store_swapmeta.cc store_swapout.cc StoreFileSystem.cc \ + StoreIOState.cc StoreMeta.cc StoreMetaMD5.cc StoreMetaSTD.cc \ + StoreMetaSTDLFS.cc StoreMetaUnpacker.cc StoreMetaURL.cc \ + StoreMetaVary.cc StoreSwapLogData.cc String.cc SwapDir.cc \ tests/testEventLoop.cc tests/testEventLoop.h tests/testMain.cc \ tests/stub_main_cc.cc tests/stub_ipc_Forwarder.cc \ tests/stub_store_stats.cc time.cc tools.cc tunnel.cc \ @@ -910,18 +917,18 @@ peer_sourcehash.$(OBJEXT) peer_userhash.$(OBJEXT) \ ProtoPort.$(OBJEXT) RemovalPolicy.$(OBJEXT) redirect.$(OBJEXT) \ refresh.$(OBJEXT) Server.$(OBJEXT) $(am__objects_15) \ - SquidMath.$(OBJEXT) stat.$(OBJEXT) StatHist.$(OBJEXT) \ - stmem.$(OBJEXT) store.$(OBJEXT) store_client.$(OBJEXT) \ - store_digest.$(OBJEXT) store_dir.$(OBJEXT) store_io.$(OBJEXT) \ - store_key_md5.$(OBJEXT) store_log.$(OBJEXT) \ - store_rebuild.$(OBJEXT) store_swapin.$(OBJEXT) \ - store_swapmeta.$(OBJEXT) store_swapout.$(OBJEXT) \ - StoreFileSystem.$(OBJEXT) StoreIOState.$(OBJEXT) \ - StoreMeta.$(OBJEXT) StoreMetaMD5.$(OBJEXT) \ - StoreMetaSTD.$(OBJEXT) StoreMetaSTDLFS.$(OBJEXT) \ - StoreMetaUnpacker.$(OBJEXT) StoreMetaURL.$(OBJEXT) \ - StoreMetaVary.$(OBJEXT) StoreSwapLogData.$(OBJEXT) \ - String.$(OBJEXT) SwapDir.$(OBJEXT) \ + SquidMath.$(OBJEXT) stat.$(OBJEXT) StatCounters.$(OBJEXT) \ + StatHist.$(OBJEXT) stmem.$(OBJEXT) store.$(OBJEXT) \ + store_client.$(OBJEXT) store_digest.$(OBJEXT) \ + store_dir.$(OBJEXT) store_io.$(OBJEXT) store_key_md5.$(OBJEXT) \ + store_log.$(OBJEXT) store_rebuild.$(OBJEXT) \ + store_swapin.$(OBJEXT) store_swapmeta.$(OBJEXT) \ + store_swapout.$(OBJEXT) StoreFileSystem.$(OBJEXT) \ + StoreIOState.$(OBJEXT) StoreMeta.$(OBJEXT) \ + StoreMetaMD5.$(OBJEXT) StoreMetaSTD.$(OBJEXT) \ + StoreMetaSTDLFS.$(OBJEXT) StoreMetaUnpacker.$(OBJEXT) \ + StoreMetaURL.$(OBJEXT) StoreMetaVary.$(OBJEXT) \ + StoreSwapLogData.$(OBJEXT) String.$(OBJEXT) SwapDir.$(OBJEXT) \ tests/testEventLoop.$(OBJEXT) tests/testMain.$(OBJEXT) \ tests/stub_main_cc.$(OBJEXT) \ tests/stub_ipc_Forwarder.$(OBJEXT) \ @@ -961,7 +968,7 @@ Packer.$(OBJEXT) String.$(OBJEXT) \ tests/stub_cache_cf.$(OBJEXT) \ tests/stub_cache_manager.$(OBJEXT) tests/stub_debug.$(OBJEXT) \ - tests/stub_HelperChildConfig.$(OBJEXT) \ + tests/stub_HelperChildConfig.$(OBJEXT) StatCounters.$(OBJEXT) \ tests/stub_StatHist.$(OBJEXT) tests/stub_store.$(OBJEXT) \ tests/stub_store_stats.$(OBJEXT) tests/testHttpReply.$(OBJEXT) \ tests/testMain.$(OBJEXT) time.$(OBJEXT) wordlist.$(OBJEXT) @@ -1006,16 +1013,16 @@ peer_digest.cc peer_proxy_negotiate_auth.cc peer_select.cc \ peer_sourcehash.cc peer_userhash.cc redirect.cc refresh.cc \ RemovalPolicy.cc Server.cc snmp_core.h snmp_core.cc \ - snmp_agent.cc SquidMath.h SquidMath.cc stat.cc StatHist.cc \ - stmem.cc store.cc store_client.cc store_digest.cc store_dir.cc \ - store_io.cc store_key_md5.cc store_log.cc store_rebuild.cc \ - store_swapin.cc store_swapmeta.cc store_swapout.cc \ - StoreFileSystem.cc StoreIOState.cc StoreMeta.cc \ - StoreMetaMD5.cc StoreMetaSTD.cc StoreMetaSTDLFS.cc \ - StoreMetaUnpacker.cc StoreMetaURL.cc StoreMetaVary.cc \ - StoreSwapLogData.cc event.cc tools.cc tunnel.cc SwapDir.cc \ - MemStore.cc url.cc URLScheme.cc urn.cc wccp2.cc whois.cc \ - FadingCounter.cc win32.cc wordlist.cc + snmp_agent.cc SquidMath.h SquidMath.cc stat.cc StatCounters.h \ + StatCounters.cc StatHist.h StatHist.cc stmem.cc store.cc \ + store_client.cc store_digest.cc store_dir.cc store_io.cc \ + store_key_md5.cc store_log.cc store_rebuild.cc store_swapin.cc \ + store_swapmeta.cc store_swapout.cc StoreFileSystem.cc \ + StoreIOState.cc StoreMeta.cc StoreMetaMD5.cc StoreMetaSTD.cc \ + StoreMetaSTDLFS.cc StoreMetaUnpacker.cc StoreMetaURL.cc \ + StoreMetaVary.cc StoreSwapLogData.cc event.cc tools.cc \ + tunnel.cc SwapDir.cc MemStore.cc url.cc URLScheme.cc urn.cc \ + wccp2.cc whois.cc FadingCounter.cc win32.cc wordlist.cc am_tests_testHttpRequest_OBJECTS = AccessLogEntry.$(OBJEXT) \ $(am__objects_4) HttpParser.$(OBJEXT) HttpRequest.$(OBJEXT) \ HttpRequestMethod.$(OBJEXT) mem.$(OBJEXT) String.$(OBJEXT) \ @@ -1053,21 +1060,22 @@ peer_sourcehash.$(OBJEXT) peer_userhash.$(OBJEXT) \ redirect.$(OBJEXT) refresh.$(OBJEXT) RemovalPolicy.$(OBJEXT) \ Server.$(OBJEXT) $(am__objects_15) SquidMath.$(OBJEXT) \ - stat.$(OBJEXT) StatHist.$(OBJEXT) stmem.$(OBJEXT) \ - store.$(OBJEXT) store_client.$(OBJEXT) store_digest.$(OBJEXT) \ - store_dir.$(OBJEXT) store_io.$(OBJEXT) store_key_md5.$(OBJEXT) \ - store_log.$(OBJEXT) store_rebuild.$(OBJEXT) \ - store_swapin.$(OBJEXT) store_swapmeta.$(OBJEXT) \ - store_swapout.$(OBJEXT) StoreFileSystem.$(OBJEXT) \ - StoreIOState.$(OBJEXT) StoreMeta.$(OBJEXT) \ - StoreMetaMD5.$(OBJEXT) StoreMetaSTD.$(OBJEXT) \ - StoreMetaSTDLFS.$(OBJEXT) StoreMetaUnpacker.$(OBJEXT) \ - StoreMetaURL.$(OBJEXT) StoreMetaVary.$(OBJEXT) \ - StoreSwapLogData.$(OBJEXT) event.$(OBJEXT) tools.$(OBJEXT) \ - tunnel.$(OBJEXT) SwapDir.$(OBJEXT) MemStore.$(OBJEXT) \ - url.$(OBJEXT) URLScheme.$(OBJEXT) urn.$(OBJEXT) \ - wccp2.$(OBJEXT) whois.$(OBJEXT) FadingCounter.$(OBJEXT) \ - $(am__objects_17) wordlist.$(OBJEXT) + stat.$(OBJEXT) StatCounters.$(OBJEXT) StatHist.$(OBJEXT) \ + stmem.$(OBJEXT) store.$(OBJEXT) store_client.$(OBJEXT) \ + store_digest.$(OBJEXT) store_dir.$(OBJEXT) store_io.$(OBJEXT) \ + store_key_md5.$(OBJEXT) store_log.$(OBJEXT) \ + store_rebuild.$(OBJEXT) store_swapin.$(OBJEXT) \ + store_swapmeta.$(OBJEXT) store_swapout.$(OBJEXT) \ + StoreFileSystem.$(OBJEXT) StoreIOState.$(OBJEXT) \ + StoreMeta.$(OBJEXT) StoreMetaMD5.$(OBJEXT) \ + StoreMetaSTD.$(OBJEXT) StoreMetaSTDLFS.$(OBJEXT) \ + StoreMetaUnpacker.$(OBJEXT) StoreMetaURL.$(OBJEXT) \ + StoreMetaVary.$(OBJEXT) StoreSwapLogData.$(OBJEXT) \ + event.$(OBJEXT) tools.$(OBJEXT) tunnel.$(OBJEXT) \ + SwapDir.$(OBJEXT) MemStore.$(OBJEXT) url.$(OBJEXT) \ + URLScheme.$(OBJEXT) urn.$(OBJEXT) wccp2.$(OBJEXT) \ + whois.$(OBJEXT) FadingCounter.$(OBJEXT) $(am__objects_17) \ + wordlist.$(OBJEXT) nodist_tests_testHttpRequest_OBJECTS = $(am__objects_22) tests_testHttpRequest_OBJECTS = $(am_tests_testHttpRequest_OBJECTS) \ $(nodist_tests_testHttpRequest_OBJECTS) @@ -1075,7 +1083,7 @@ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(tests_testHttpRequest_LDFLAGS) $(LDFLAGS) -o $@ am__tests_testNull_SOURCES_DIST = tests/testNull.cc tests/testMain.cc \ - tests/testNull.h tests/stub_internal.cc tests/stub_CommIO.cc \ + tests/testNull.h tests/stub_internal.cc \ tests/stub_store_rebuild.cc tests/stub_store_stats.cc fd.cc \ disk.cc FileMap.h filemap.cc HttpBody.h HttpBody.cc \ HttpReply.cc HttpStatusLine.cc int.cc list.cc MemObject.cc \ @@ -1101,7 +1109,8 @@ HttpHeader.cc mem.cc ClientInfo.h MemBuf.cc \ HttpHdrContRange.cc Packer.cc HttpHdrCc.h HttpHdrCc.cc \ HttpHdrCc.cci HttpHdrSc.cc HttpHdrScTarget.cc url.cc \ - StatHist.cc HttpHdrRange.cc ETag.cc tests/stub_errorpage.cc \ + StatCounters.h StatCounters.cc StatHist.h \ + tests/stub_StatHist.cc tests/stub_errorpage.cc \ tests/stub_HttpRequest.cc tests/stub_access_log.cc refresh.cc \ tests/stub_store_client.cc tests/stub_tools.cc \ tests/testStoreSupport.cc tests/testStoreSupport.h time.cc \ @@ -1112,7 +1121,7 @@ DiskIO/DiskIOModule.h am_tests_testNull_OBJECTS = tests/testNull.$(OBJEXT) \ tests/testMain.$(OBJEXT) tests/stub_internal.$(OBJEXT) \ - tests/stub_CommIO.$(OBJEXT) tests/stub_store_rebuild.$(OBJEXT) \ + tests/stub_store_rebuild.$(OBJEXT) \ tests/stub_store_stats.$(OBJEXT) fd.$(OBJEXT) disk.$(OBJEXT) \ filemap.$(OBJEXT) HttpBody.$(OBJEXT) HttpReply.$(OBJEXT) \ HttpStatusLine.$(OBJEXT) int.$(OBJEXT) list.$(OBJEXT) \ @@ -1138,9 +1147,8 @@ HttpHeader.$(OBJEXT) mem.$(OBJEXT) MemBuf.$(OBJEXT) \ HttpHdrContRange.$(OBJEXT) Packer.$(OBJEXT) \ HttpHdrCc.$(OBJEXT) HttpHdrSc.$(OBJEXT) \ - HttpHdrScTarget.$(OBJEXT) url.$(OBJEXT) StatHist.$(OBJEXT) \ - HttpHdrRange.$(OBJEXT) ETag.$(OBJEXT) \ - tests/stub_errorpage.$(OBJEXT) \ + HttpHdrScTarget.$(OBJEXT) url.$(OBJEXT) StatCounters.$(OBJEXT) \ + tests/stub_StatHist.$(OBJEXT) tests/stub_errorpage.$(OBJEXT) \ tests/stub_HttpRequest.$(OBJEXT) \ tests/stub_access_log.$(OBJEXT) refresh.$(OBJEXT) \ tests/stub_store_client.$(OBJEXT) \ @@ -1160,7 +1168,8 @@ HttpHdrScTarget.cc HttpHeader.cc HttpHeaderTools.cc HttpMsg.cc \ HttpReply.cc HttpRequestMethod.cc HttpStatusLine.cc int.cc \ list.cc mem.cc MemBuf.cc MemObject.cc mem_node.cc Packer.cc \ - Parsing.cc RemovalPolicy.cc StatHist.cc stmem.cc store.cc \ + Parsing.cc RemovalPolicy.cc StatCounters.h StatCounters.cc \ + StatHist.h tests/stub_StatHist.cc stmem.cc store.cc \ StoreFileSystem.cc StoreIOState.cc StoreMeta.cc \ StoreMetaMD5.cc StoreMetaSTD.cc StoreMetaSTDLFS.cc \ StoreMetaURL.cc StoreMetaUnpacker.cc StoreMetaVary.cc \ @@ -1202,14 +1211,14 @@ HttpStatusLine.$(OBJEXT) int.$(OBJEXT) list.$(OBJEXT) \ mem.$(OBJEXT) MemBuf.$(OBJEXT) MemObject.$(OBJEXT) \ mem_node.$(OBJEXT) Packer.$(OBJEXT) Parsing.$(OBJEXT) \ - RemovalPolicy.$(OBJEXT) StatHist.$(OBJEXT) stmem.$(OBJEXT) \ - store.$(OBJEXT) StoreFileSystem.$(OBJEXT) \ - StoreIOState.$(OBJEXT) StoreMeta.$(OBJEXT) \ - StoreMetaMD5.$(OBJEXT) StoreMetaSTD.$(OBJEXT) \ - StoreMetaSTDLFS.$(OBJEXT) StoreMetaURL.$(OBJEXT) \ - StoreMetaUnpacker.$(OBJEXT) StoreMetaVary.$(OBJEXT) \ - StoreSwapLogData.$(OBJEXT) store_dir.$(OBJEXT) \ - store_io.$(OBJEXT) store_key_md5.$(OBJEXT) \ + RemovalPolicy.$(OBJEXT) StatCounters.$(OBJEXT) \ + tests/stub_StatHist.$(OBJEXT) stmem.$(OBJEXT) store.$(OBJEXT) \ + StoreFileSystem.$(OBJEXT) StoreIOState.$(OBJEXT) \ + StoreMeta.$(OBJEXT) StoreMetaMD5.$(OBJEXT) \ + StoreMetaSTD.$(OBJEXT) StoreMetaSTDLFS.$(OBJEXT) \ + StoreMetaURL.$(OBJEXT) StoreMetaUnpacker.$(OBJEXT) \ + StoreMetaVary.$(OBJEXT) StoreSwapLogData.$(OBJEXT) \ + store_dir.$(OBJEXT) store_io.$(OBJEXT) store_key_md5.$(OBJEXT) \ store_swapmeta.$(OBJEXT) store_swapout.$(OBJEXT) \ String.$(OBJEXT) SwapDir.$(OBJEXT) tests/testRock.$(OBJEXT) \ tests/testMain.$(OBJEXT) tests/testStoreSupport.$(OBJEXT) \ @@ -1237,6 +1246,23 @@ tests_testRock_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(tests_testRock_LDFLAGS) $(LDFLAGS) -o $@ +am_tests_testStatHist_OBJECTS = cbdata.$(OBJEXT) MemBuf.$(OBJEXT) \ + StatHist.$(OBJEXT) String.$(OBJEXT) \ + tests/stub_cache_manager.$(OBJEXT) tests/stub_comm.$(OBJEXT) \ + tests/stub_debug.$(OBJEXT) tests/stub_DelayId.$(OBJEXT) \ + tests/stub_HelperChildConfig.$(OBJEXT) \ + tests/stub_mem.$(OBJEXT) tests/stub_MemObject.$(OBJEXT) \ + tests/stub_mime.$(OBJEXT) tests/stub_pconn.$(OBJEXT) \ + tests/stub_stmem.$(OBJEXT) tests/stub_store.$(OBJEXT) \ + tests/stub_store_stats.$(OBJEXT) tests/stub_tools.$(OBJEXT) \ + tests/testMain.$(OBJEXT) tests/testStatHist.$(OBJEXT) \ + time.$(OBJEXT) +nodist_tests_testStatHist_OBJECTS = $(am__objects_23) +tests_testStatHist_OBJECTS = $(am_tests_testStatHist_OBJECTS) \ + $(nodist_tests_testStatHist_OBJECTS) +tests_testStatHist_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(tests_testStatHist_LDFLAGS) $(LDFLAGS) -o $@ am__tests_testStore_SOURCES_DIST = CacheDigest.cc cbdata.cc \ ClientInfo.h ConfigOption.cc ConfigParser.cc CommonPool.h \ CompositePoolNode.h delay_pools.cc DelayId.cc DelayId.h \ @@ -1252,17 +1278,17 @@ HttpHdrScTarget.cc HttpHeaderTools.cc HttpHeader.cc HttpMsg.cc \ HttpRequestMethod.cc int.cc list.cc mem.cc mem_node.cc \ MemBuf.cc Packer.cc Parsing.cc RemovalPolicy.cc refresh.cc \ - StatHist.cc stmem.cc store.cc store_dir.cc store_io.cc \ - store_swapout.cc StoreIOState.cc StoreMeta.cc StoreMetaMD5.cc \ - StoreMetaSTD.cc StoreMetaSTDLFS.cc StoreMetaUnpacker.cc \ - StoreMetaURL.cc StoreMetaVary.cc StoreSwapLogData.cc \ - store_key_md5.cc String.cc SwapDir.cc \ - tests/CapturingStoreEntry.h tests/stub_access_log.cc \ - tests/stub_acl.cc tests/stub_cache_cf.cc \ - tests/stub_cache_manager.cc tests/stub_client_side_request.cc \ - tests/stub_comm.cc tests/stub_debug.cc \ - tests/stub_DiskIOModule.cc tests/stub_errorpage.cc \ - tests/stub_fd.cc tests/stub_helper.cc \ + StatCounters.h StatCounters.cc StatHist.h StatHist.cc stmem.cc \ + store.cc store_dir.cc store_io.cc store_swapout.cc \ + StoreIOState.cc StoreMeta.cc StoreMetaMD5.cc StoreMetaSTD.cc \ + StoreMetaSTDLFS.cc StoreMetaUnpacker.cc StoreMetaURL.cc \ + StoreMetaVary.cc StoreSwapLogData.cc store_key_md5.cc \ + String.cc SwapDir.cc tests/CapturingStoreEntry.h \ + tests/stub_access_log.cc tests/stub_acl.cc \ + tests/stub_cache_cf.cc tests/stub_cache_manager.cc \ + tests/stub_client_side_request.cc tests/stub_comm.cc \ + tests/stub_debug.cc tests/stub_DiskIOModule.cc \ + tests/stub_errorpage.cc tests/stub_fd.cc tests/stub_helper.cc \ tests/stub_HelperChildConfig.cc tests/stub_http.cc HttpBody.h \ HttpBody.cc tests/stub_HttpReply.cc tests/stub_HttpRequest.cc \ tests/stub_libcomm.cc tests/stub_MemObject.cc \ @@ -1288,15 +1314,15 @@ HttpMsg.$(OBJEXT) HttpRequestMethod.$(OBJEXT) int.$(OBJEXT) \ list.$(OBJEXT) mem.$(OBJEXT) mem_node.$(OBJEXT) \ MemBuf.$(OBJEXT) Packer.$(OBJEXT) Parsing.$(OBJEXT) \ - RemovalPolicy.$(OBJEXT) refresh.$(OBJEXT) StatHist.$(OBJEXT) \ - stmem.$(OBJEXT) store.$(OBJEXT) store_dir.$(OBJEXT) \ - store_io.$(OBJEXT) store_swapout.$(OBJEXT) \ - StoreIOState.$(OBJEXT) StoreMeta.$(OBJEXT) \ - StoreMetaMD5.$(OBJEXT) StoreMetaSTD.$(OBJEXT) \ - StoreMetaSTDLFS.$(OBJEXT) StoreMetaUnpacker.$(OBJEXT) \ - StoreMetaURL.$(OBJEXT) StoreMetaVary.$(OBJEXT) \ - StoreSwapLogData.$(OBJEXT) store_key_md5.$(OBJEXT) \ - String.$(OBJEXT) SwapDir.$(OBJEXT) \ + RemovalPolicy.$(OBJEXT) refresh.$(OBJEXT) \ + StatCounters.$(OBJEXT) StatHist.$(OBJEXT) stmem.$(OBJEXT) \ + store.$(OBJEXT) store_dir.$(OBJEXT) store_io.$(OBJEXT) \ + store_swapout.$(OBJEXT) StoreIOState.$(OBJEXT) \ + StoreMeta.$(OBJEXT) StoreMetaMD5.$(OBJEXT) \ + StoreMetaSTD.$(OBJEXT) StoreMetaSTDLFS.$(OBJEXT) \ + StoreMetaUnpacker.$(OBJEXT) StoreMetaURL.$(OBJEXT) \ + StoreMetaVary.$(OBJEXT) StoreSwapLogData.$(OBJEXT) \ + store_key_md5.$(OBJEXT) String.$(OBJEXT) SwapDir.$(OBJEXT) \ tests/stub_access_log.$(OBJEXT) tests/stub_acl.$(OBJEXT) \ tests/stub_cache_cf.$(OBJEXT) \ tests/stub_cache_manager.$(OBJEXT) \ @@ -1373,11 +1399,12 @@ peer_sourcehash.cc peer_userhash.cc ProtoPort.cc ProtoPort.h \ redirect.cc refresh.cc RemovalPolicy.cc Server.cc snmp_core.h \ snmp_core.cc snmp_agent.cc SquidMath.h SquidMath.cc stat.cc \ - StatHist.cc stmem.cc store.cc store_client.cc store_digest.cc \ - store_dir.cc store_io.cc store_key_md5.cc store_log.cc \ - store_rebuild.cc store_swapin.cc store_swapmeta.cc \ - store_swapout.cc StoreFileSystem.cc StoreIOState.cc \ - StoreMeta.cc StoreMetaMD5.cc StoreMetaSTD.cc \ + StatCounters.h StatCounters.cc StatHist.h \ + tests/stub_StatHist.cc stmem.cc store.cc store_client.cc \ + store_digest.cc store_dir.cc store_io.cc store_key_md5.cc \ + store_log.cc store_rebuild.cc store_swapin.cc \ + store_swapmeta.cc store_swapout.cc StoreFileSystem.cc \ + StoreIOState.cc StoreMeta.cc StoreMetaMD5.cc StoreMetaSTD.cc \ StoreMetaSTDLFS.cc StoreMetaUnpacker.cc StoreMetaURL.cc \ StoreMetaVary.cc StoreSwapLogData.cc String.cc SwapDir.cc \ MemStore.cc tests/stub_debug.cc tests/stub_DiskIOModule.cc \ @@ -1418,20 +1445,20 @@ peer_sourcehash.$(OBJEXT) peer_userhash.$(OBJEXT) \ ProtoPort.$(OBJEXT) redirect.$(OBJEXT) refresh.$(OBJEXT) \ RemovalPolicy.$(OBJEXT) Server.$(OBJEXT) $(am__objects_15) \ - SquidMath.$(OBJEXT) stat.$(OBJEXT) StatHist.$(OBJEXT) \ - stmem.$(OBJEXT) store.$(OBJEXT) store_client.$(OBJEXT) \ - store_digest.$(OBJEXT) store_dir.$(OBJEXT) store_io.$(OBJEXT) \ - store_key_md5.$(OBJEXT) store_log.$(OBJEXT) \ - store_rebuild.$(OBJEXT) store_swapin.$(OBJEXT) \ - store_swapmeta.$(OBJEXT) store_swapout.$(OBJEXT) \ - StoreFileSystem.$(OBJEXT) StoreIOState.$(OBJEXT) \ - StoreMeta.$(OBJEXT) StoreMetaMD5.$(OBJEXT) \ - StoreMetaSTD.$(OBJEXT) StoreMetaSTDLFS.$(OBJEXT) \ - StoreMetaUnpacker.$(OBJEXT) StoreMetaURL.$(OBJEXT) \ - StoreMetaVary.$(OBJEXT) StoreSwapLogData.$(OBJEXT) \ - String.$(OBJEXT) SwapDir.$(OBJEXT) MemStore.$(OBJEXT) \ - tests/stub_debug.$(OBJEXT) tests/stub_DiskIOModule.$(OBJEXT) \ - tests/stub_main_cc.$(OBJEXT) \ + SquidMath.$(OBJEXT) stat.$(OBJEXT) StatCounters.$(OBJEXT) \ + tests/stub_StatHist.$(OBJEXT) stmem.$(OBJEXT) store.$(OBJEXT) \ + store_client.$(OBJEXT) store_digest.$(OBJEXT) \ + store_dir.$(OBJEXT) store_io.$(OBJEXT) store_key_md5.$(OBJEXT) \ + store_log.$(OBJEXT) store_rebuild.$(OBJEXT) \ + store_swapin.$(OBJEXT) store_swapmeta.$(OBJEXT) \ + store_swapout.$(OBJEXT) StoreFileSystem.$(OBJEXT) \ + StoreIOState.$(OBJEXT) StoreMeta.$(OBJEXT) \ + StoreMetaMD5.$(OBJEXT) StoreMetaSTD.$(OBJEXT) \ + StoreMetaSTDLFS.$(OBJEXT) StoreMetaUnpacker.$(OBJEXT) \ + StoreMetaURL.$(OBJEXT) StoreMetaVary.$(OBJEXT) \ + StoreSwapLogData.$(OBJEXT) String.$(OBJEXT) SwapDir.$(OBJEXT) \ + MemStore.$(OBJEXT) tests/stub_debug.$(OBJEXT) \ + tests/stub_DiskIOModule.$(OBJEXT) tests/stub_main_cc.$(OBJEXT) \ tests/stub_ipc_Forwarder.$(OBJEXT) \ tests/stub_store_stats.$(OBJEXT) tests/testURL.$(OBJEXT) \ tests/testURLScheme.$(OBJEXT) tests/testMain.$(OBJEXT) \ @@ -1475,7 +1502,8 @@ HttpHeader.cc mem.cc ClientInfo.h MemBuf.cc \ HttpHdrContRange.cc Packer.cc HttpHdrCc.h HttpHdrCc.cc \ HttpHdrCc.cci HttpHdrSc.cc HttpHdrScTarget.cc url.cc \ - StatHist.cc HttpHdrRange.cc ETag.cc tests/stub_errorpage.cc \ + StatCounters.h StatCounters.cc StatHist.h StatHist.cc \ + HttpHdrRange.cc ETag.cc tests/stub_errorpage.cc \ tests/stub_HttpRequest.cc tests/stub_access_log.cc refresh.cc \ tests/stub_store_client.cc tests/stub_tools.cc \ tests/testStoreSupport.cc tests/testStoreSupport.h time.cc \ @@ -1518,8 +1546,8 @@ HttpHeader.$(OBJEXT) mem.$(OBJEXT) MemBuf.$(OBJEXT) \ HttpHdrContRange.$(OBJEXT) Packer.$(OBJEXT) \ HttpHdrCc.$(OBJEXT) HttpHdrSc.$(OBJEXT) \ - HttpHdrScTarget.$(OBJEXT) url.$(OBJEXT) StatHist.$(OBJEXT) \ - HttpHdrRange.$(OBJEXT) ETag.$(OBJEXT) \ + HttpHdrScTarget.$(OBJEXT) url.$(OBJEXT) StatCounters.$(OBJEXT) \ + StatHist.$(OBJEXT) HttpHdrRange.$(OBJEXT) ETag.$(OBJEXT) \ tests/stub_errorpage.$(OBJEXT) \ tests/stub_HttpRequest.$(OBJEXT) \ tests/stub_access_log.$(OBJEXT) refresh.$(OBJEXT) \ @@ -1568,14 +1596,14 @@ peer_digest.cc peer_proxy_negotiate_auth.cc peer_select.cc \ peer_sourcehash.cc peer_userhash.cc pconn.cc redirect.cc \ refresh.cc RemovalPolicy.cc Server.cc snmp_core.h snmp_core.cc \ - snmp_agent.cc SquidMath.h SquidMath.cc stat.cc StatHist.cc \ - stmem.cc store.cc store_client.cc store_digest.cc store_dir.cc \ - store_key_md5.cc store_io.cc store_log.cc store_rebuild.cc \ - store_swapin.cc store_swapmeta.cc store_swapout.cc \ - StoreFileSystem.cc StoreIOState.cc StoreMeta.cc \ - StoreMetaMD5.cc StoreMetaSTD.cc StoreMetaSTDLFS.cc \ - StoreMetaUnpacker.cc StoreMetaURL.cc StoreMetaVary.cc \ - StoreSwapLogData.cc String.cc SwapDir.cc \ + snmp_agent.cc SquidMath.h SquidMath.cc stat.cc StatCounters.h \ + StatCounters.cc StatHist.h StatHist.cc stmem.cc store.cc \ + store_client.cc store_digest.cc store_dir.cc store_key_md5.cc \ + store_io.cc store_log.cc store_rebuild.cc store_swapin.cc \ + store_swapmeta.cc store_swapout.cc StoreFileSystem.cc \ + StoreIOState.cc StoreMeta.cc StoreMetaMD5.cc StoreMetaSTD.cc \ + StoreMetaSTDLFS.cc StoreMetaUnpacker.cc StoreMetaURL.cc \ + StoreMetaVary.cc StoreSwapLogData.cc String.cc SwapDir.cc \ tests/test_http_range.cc tests/stub_ipc_Forwarder.cc \ tests/stub_main_cc.cc tests/stub_MemStore.cc \ tests/stub_store_stats.cc time.cc tools.cc tunnel.cc \ @@ -1615,8 +1643,8 @@ peer_userhash.$(OBJEXT) pconn.$(OBJEXT) redirect.$(OBJEXT) \ refresh.$(OBJEXT) RemovalPolicy.$(OBJEXT) Server.$(OBJEXT) \ $(am__objects_15) SquidMath.$(OBJEXT) stat.$(OBJEXT) \ - StatHist.$(OBJEXT) stmem.$(OBJEXT) store.$(OBJEXT) \ - store_client.$(OBJEXT) store_digest.$(OBJEXT) \ + StatCounters.$(OBJEXT) StatHist.$(OBJEXT) stmem.$(OBJEXT) \ + store.$(OBJEXT) store_client.$(OBJEXT) store_digest.$(OBJEXT) \ store_dir.$(OBJEXT) store_key_md5.$(OBJEXT) store_io.$(OBJEXT) \ store_log.$(OBJEXT) store_rebuild.$(OBJEXT) \ store_swapin.$(OBJEXT) store_swapmeta.$(OBJEXT) \ @@ -1688,8 +1716,9 @@ $(LDFLAGS) -o $@ SOURCES = $(libAIO_a_SOURCES) $(libBlocking_a_SOURCES) \ $(libDiskDaemon_a_SOURCES) $(libDiskThreads_a_SOURCES) \ - $(libIpcIo_a_SOURCES) $(libMmapped_a_SOURCES) \ - $(libsquid_la_SOURCES) $(DiskIO_DiskDaemon_diskd_SOURCES) \ + $(EXTRA_libDiskThreads_a_SOURCES) $(libIpcIo_a_SOURCES) \ + $(libMmapped_a_SOURCES) $(libsquid_la_SOURCES) \ + $(DiskIO_DiskDaemon_diskd_SOURCES) \ $(nodist_DiskIO_DiskDaemon_diskd_SOURCES) $(cf_gen_SOURCES) \ $(dnsserver_SOURCES) $(recv_announce_SOURCES) $(squid_SOURCES) \ $(EXTRA_squid_SOURCES) $(nodist_squid_SOURCES) \ @@ -1714,6 +1743,8 @@ $(nodist_tests_testHttpRequest_SOURCES) \ $(tests_testNull_SOURCES) $(nodist_tests_testNull_SOURCES) \ $(tests_testRock_SOURCES) $(nodist_tests_testRock_SOURCES) \ + $(tests_testStatHist_SOURCES) \ + $(nodist_tests_testStatHist_SOURCES) \ $(tests_testStore_SOURCES) $(nodist_tests_testStore_SOURCES) \ $(tests_testString_SOURCES) $(nodist_tests_testString_SOURCES) \ $(tests_testURL_SOURCES) $(nodist_tests_testURL_SOURCES) \ @@ -1723,7 +1754,8 @@ $(nodist_ufsdump_SOURCES) $(unlinkd_SOURCES) DIST_SOURCES = $(am__libAIO_a_SOURCES_DIST) $(libBlocking_a_SOURCES) \ $(libDiskDaemon_a_SOURCES) \ - $(am__libDiskThreads_a_SOURCES_DIST) $(libIpcIo_a_SOURCES) \ + $(am__libDiskThreads_a_SOURCES_DIST) \ + $(EXTRA_libDiskThreads_a_SOURCES) $(libIpcIo_a_SOURCES) \ $(libMmapped_a_SOURCES) $(libsquid_la_SOURCES) \ $(DiskIO_DiskDaemon_diskd_SOURCES) $(cf_gen_SOURCES) \ $(dnsserver_SOURCES) $(recv_announce_SOURCES) \ @@ -1740,6 +1772,7 @@ $(am__tests_testHttpRequest_SOURCES_DIST) \ $(am__tests_testNull_SOURCES_DIST) \ $(am__tests_testRock_SOURCES_DIST) \ + $(tests_testStatHist_SOURCES) \ $(am__tests_testStore_SOURCES_DIST) \ $(tests_testString_SOURCES) $(am__tests_testURL_SOURCES_DIST) \ $(am__tests_testUfs_SOURCES_DIST) \ @@ -2141,7 +2174,10 @@ @USE_AIO_WIN32_FALSE@AIO_WIN32_SOURCES = @USE_AIO_WIN32_TRUE@AIO_WIN32_SOURCES = $(AIO_WIN32_ALL_SOURCES) -@USE_AIOPS_WIN32_FALSE@AIOPS_SOURCE = DiskIO/DiskThreads/aiops.cc +@USE_AIOPS_WIN32_FALSE@AIOPS_SOURCE = DiskIO/DiskThreads/aiops.cc \ +@USE_AIOPS_WIN32_FALSE@ DiskIO/DiskThreads/CommIO.cc \ +@USE_AIOPS_WIN32_FALSE@ DiskIO/DiskThreads/CommIO.h + @USE_AIOPS_WIN32_TRUE@AIOPS_SOURCE = DiskIO/DiskThreads/aiops_win32.cc EXTRA_LIBRARIES = libAIO.a libBlocking.a libDiskDaemon.a libDiskThreads.a \ libMmapped.a libIpcIo.a @@ -2190,15 +2226,15 @@ client_side_reply.h client_side_request.cc \ client_side_request.h ClientInfo.h BodyPipe.cc BodyPipe.h \ ClientInfo.h ClientRequestContext.h clientStream.cc \ - clientStream.h CommIO.h CompletionDispatcher.cc \ - CompletionDispatcher.h CommRead.h ConfigOption.cc \ - ConfigParser.cc ConfigParser.h CpuAffinity.cc CpuAffinity.h \ - CpuAffinityMap.cc CpuAffinityMap.h CpuAffinitySet.cc \ - CpuAffinitySet.h debug.cc Debug.h defines.h \ - $(DELAY_POOL_SOURCE) disk.cc $(DISKIO_SOURCE) dlink.h dlink.cc \ - $(DNSSOURCE) enums.h err_type.h err_detail_type.h errorpage.cc \ - errorpage.h ETag.cc ETag.h event.cc event.h EventLoop.h \ - EventLoop.cc external_acl.cc ExternalACL.h ExternalACLEntry.cc \ + clientStream.h CompletionDispatcher.cc CompletionDispatcher.h \ + CommRead.h ConfigOption.cc ConfigParser.cc ConfigParser.h \ + CpuAffinity.cc CpuAffinity.h CpuAffinityMap.cc \ + CpuAffinityMap.h CpuAffinitySet.cc CpuAffinitySet.h debug.cc \ + Debug.h defines.h $(DELAY_POOL_SOURCE) disk.cc \ + $(DISKIO_SOURCE) dlink.h dlink.cc $(DNSSOURCE) enums.h \ + err_type.h err_detail_type.h errorpage.cc errorpage.h ETag.cc \ + ETag.h event.cc event.h EventLoop.h EventLoop.cc \ + external_acl.cc ExternalACL.h ExternalACLEntry.cc \ ExternalACLEntry.h FadingCounter.h FadingCounter.cc fd.cc \ fde.cc fde.h FileMap.h filemap.cc forward.cc forward.h \ fqdncache.cc ftp.cc Generic.h globals.h gopher.cc helper.cc \ @@ -2207,8 +2243,8 @@ HttpStatusCode.h HttpStatusLine.cc HttpStatusLine.h \ HttpHdrCc.h HttpHdrCc.cc HttpHdrCc.cci HttpHdrRange.cc \ HttpHdrSc.cc HttpHdrSc.h HttpHdrScTarget.cc HttpHdrScTarget.h \ - HttpHdrContRange.cc HttpHdrContRange.h HttpHeader.cc \ - HttpHeader.h HttpHeaderMask.h HttpHeaderRange.h \ + HttpHdrContRange.cc HttpHdrContRange.h HttpHeaderStat.h \ + HttpHeader.cc HttpHeader.h HttpHeaderMask.h HttpHeaderRange.h \ HttpHeaderTools.cc HttpBody.h HttpBody.cc HttpControlMsg.h \ HttpMsg.cc HttpMsg.h HttpParser.cc HttpParser.h HttpReply.cc \ HttpReply.h HttpRequest.cc HttpRequest.h HttpRequestMethod.cc \ @@ -2223,24 +2259,24 @@ peer_userhash.cc PeerSelectState.h PingData.h protos.h \ redirect.cc refresh.cc RemovalPolicy.cc RemovalPolicy.h \ send-announce.cc $(SBUF_SOURCE) $(SNMP_SOURCE) squid-old.h \ - SquidMath.h SquidMath.cc SquidNew.cc stat.cc StatHist.cc \ - String.cc stmem.cc stmem.h store.cc Store.h StoreFileSystem.cc \ - StoreFileSystem.h StoreHashIndex.h store_io.cc StoreIOBuffer.h \ - StoreIOState.cc StoreIOState.h store_client.cc StoreClient.h \ - store_digest.cc store_dir.cc store_key_md5.cc store_log.cc \ - store_rebuild.cc store_swapin.cc store_swapmeta.cc \ - store_swapout.cc StoreMeta.cc StoreMeta.h StoreMetaMD5.cc \ - StoreMetaMD5.h StoreMetaSTD.cc StoreMetaSTD.h \ - StoreMetaSTDLFS.cc StoreMetaSTDLFS.h StoreMetaObjSize.h \ - StoreMetaUnpacker.cc StoreMetaUnpacker.h StoreMetaURL.cc \ - StoreMetaURL.h StoreMetaVary.cc StoreMetaVary.h StoreSearch.h \ - StoreStats.cc StoreStats.h StoreSwapLogData.cc \ - StoreSwapLogData.h Server.cc Server.h structs.h swap_log_op.h \ - SwapDir.cc SwapDir.h MemStore.cc MemStore.h time.cc \ - TimeOrTag.h tools.cc tunnel.cc typedefs.h $(UNLINKDSOURCE) \ - url.cc URL.h URLScheme.cc URLScheme.h urn.cc wccp.cc wccp2.cc \ - whois.cc wordlist.cc wordlist.h $(WIN32_SOURCE) \ - $(WINSVC_SOURCE) $(am__append_8) + SquidMath.h SquidMath.cc SquidNew.cc stat.cc StatCounters.h \ + StatCounters.cc StatHist.h StatHist.cc String.cc stmem.cc \ + stmem.h store.cc Store.h StoreFileSystem.cc StoreFileSystem.h \ + StoreHashIndex.h store_io.cc StoreIOBuffer.h StoreIOState.cc \ + StoreIOState.h store_client.cc StoreClient.h store_digest.cc \ + store_dir.cc store_key_md5.cc store_log.cc store_rebuild.cc \ + store_swapin.cc store_swapmeta.cc store_swapout.cc \ + StoreMeta.cc StoreMeta.h StoreMetaMD5.cc StoreMetaMD5.h \ + StoreMetaSTD.cc StoreMetaSTD.h StoreMetaSTDLFS.cc \ + StoreMetaSTDLFS.h StoreMetaObjSize.h StoreMetaUnpacker.cc \ + StoreMetaUnpacker.h StoreMetaURL.cc StoreMetaURL.h \ + StoreMetaVary.cc StoreMetaVary.h StoreSearch.h StoreStats.cc \ + StoreStats.h StoreSwapLogData.cc StoreSwapLogData.h Server.cc \ + Server.h structs.h swap_log_op.h SwapDir.cc SwapDir.h \ + MemStore.cc MemStore.h time.cc TimeOrTag.h tools.cc tunnel.cc \ + typedefs.h $(UNLINKDSOURCE) url.cc URL.h URLScheme.cc \ + URLScheme.h urn.cc wccp.cc wccp2.cc whois.cc wordlist.cc \ + wordlist.h $(WIN32_SOURCE) $(WINSVC_SOURCE) $(am__append_8) EXTRA_squid_SOURCES = \ $(AIO_WIN32_ALL_SOURCES) \ $(all_AUTHMODULES) \ @@ -2261,9 +2297,7 @@ $(SNMP_ALL_SOURCE) \ $(UNLINKDSOURCE) \ $(WIN32_ALL_SOURCE) \ - $(LOADABLE_MODULES_SOURCES) \ - DiskIO/DiskThreads/aiops.cc \ - DiskIO/DiskThreads/aiops_win32.cc + $(LOADABLE_MODULES_SOURCES) noinst_HEADERS = \ client_side_request.cci \ @@ -2501,6 +2535,12 @@ DiskIO/DiskThreads/DiskThreadsIOStrategy.cc \ DiskIO/DiskThreads/DiskThreadsIOStrategy.h +EXTRA_libDiskThreads_a_SOURCES = \ + DiskIO/DiskThreads/aiops.cc \ + DiskIO/DiskThreads/aiops_win32.cc \ + DiskIO/DiskThreads/CommIO.cc \ + DiskIO/DiskThreads/CommIO.h + DiskIO_DiskDaemon_diskd_SOURCES = DiskIO/DiskDaemon/diskd.cc nodist_DiskIO_DiskDaemon_diskd_SOURCES = time.cc DiskIO_DiskDaemon_diskd_LDADD = \ @@ -2607,6 +2647,9 @@ tests/stub_cache_manager.cc \ tests/stub_debug.cc \ tests/stub_HelperChildConfig.cc \ + StatCounters.h \ + StatCounters.cc \ + StatHist.h \ tests/stub_StatHist.cc \ tests/stub_store.cc \ tests/stub_store_stats.cc \ @@ -2665,7 +2708,9 @@ Packer.cc \ Parsing.cc \ SquidMath.cc \ - StatHist.cc \ + StatCounters.h \ + StatHist.h \ + tests/stub_StatHist.cc \ stmem.cc \ String.cc \ store_dir.cc \ @@ -2867,7 +2912,10 @@ SquidMath.h \ SquidMath.cc \ stat.cc \ - StatHist.cc \ + StatCounters.h \ + StatCounters.cc \ + StatHist.h \ + tests/stub_StatHist.cc \ stmem.cc \ store.cc \ store_client.cc \ @@ -2951,9 +2999,6 @@ $(REPL_OBJS) \ $(SQUID_CPPUNIT_LA) - -# tests/stub_CommIO.cc \ -# tests/stub_comm.cc tests_testDiskIO_SOURCES = \ CacheDigest.cc \ cbdata.cc \ @@ -2994,7 +3039,10 @@ Parsing.cc \ refresh.cc \ RemovalPolicy.cc \ - StatHist.cc \ + StatCounters.h \ + StatCounters.cc \ + StatHist.h \ + tests/stub_StatHist.cc \ stmem.cc \ StoreFileSystem.cc \ StoreIOState.cc \ @@ -3200,6 +3248,9 @@ SquidMath.cc \ SquidMath.h \ stat.cc \ + StatCounters.h \ + StatCounters.cc \ + StatHist.h \ StatHist.cc \ stmem.cc \ store.cc \ @@ -3393,6 +3444,9 @@ SquidMath.h \ SquidMath.cc \ stat.cc \ + StatCounters.h \ + StatCounters.cc \ + StatHist.h \ StatHist.cc \ stmem.cc \ store.cc \ @@ -3583,6 +3637,9 @@ SquidMath.h \ SquidMath.cc \ stat.cc \ + StatCounters.h \ + StatCounters.cc \ + StatHist.h \ StatHist.cc \ stmem.cc \ store.cc \ @@ -3812,6 +3869,9 @@ SquidMath.h \ SquidMath.cc \ stat.cc \ + StatCounters.h \ + StatCounters.cc \ + StatHist.h \ StatHist.cc \ stmem.cc \ store.cc \ @@ -3928,6 +3988,9 @@ Parsing.cc \ RemovalPolicy.cc \ refresh.cc \ + StatCounters.h \ + StatCounters.cc \ + StatHist.h \ StatHist.cc \ stmem.cc \ store.cc \ @@ -4161,6 +4224,9 @@ HttpHdrSc.cc \ HttpHdrScTarget.cc \ url.cc \ + StatCounters.h \ + StatCounters.cc \ + StatHist.h \ StatHist.cc \ HttpHdrRange.cc \ ETag.cc \ @@ -4256,7 +4322,10 @@ Packer.cc \ Parsing.cc \ RemovalPolicy.cc \ - StatHist.cc \ + StatCounters.h \ + StatCounters.cc \ + StatHist.h \ + tests/stub_StatHist.cc \ stmem.cc \ store.cc \ StoreFileSystem.cc \ @@ -4427,9 +4496,10 @@ HttpHdrSc.cc \ HttpHdrScTarget.cc \ url.cc \ - StatHist.cc \ - HttpHdrRange.cc \ - ETag.cc \ + StatCounters.h \ + StatCounters.cc \ + StatHist.h \ + tests/stub_StatHist.cc \ tests/stub_errorpage.cc \ tests/stub_HttpRequest.cc \ tests/stub_access_log.cc \ @@ -4496,7 +4566,6 @@ tests/testMain.cc \ tests/testNull.h \ tests/stub_internal.cc \ - tests/stub_CommIO.cc \ tests/stub_store_rebuild.cc \ tests/stub_store_stats.cc \ fd.cc \ @@ -4564,9 +4633,10 @@ HttpHdrSc.cc \ HttpHdrScTarget.cc \ url.cc \ - StatHist.cc \ - HttpHdrRange.cc \ - ETag.cc \ + StatCounters.h \ + StatCounters.cc \ + StatHist.h \ + tests/stub_StatHist.cc \ tests/stub_errorpage.cc \ tests/stub_HttpRequest.cc \ tests/stub_access_log.cc \ @@ -4715,7 +4785,10 @@ SquidMath.h \ SquidMath.cc \ stat.cc \ - StatHist.cc \ + StatCounters.h \ + StatCounters.cc \ + StatHist.h \ + tests/stub_StatHist.cc \ stmem.cc \ store.cc \ store_client.cc \ @@ -4842,6 +4915,42 @@ tests_testConfigParser_DEPENDENCIES = \ $(SQUID_CPPUNIT_LA) +tests_testStatHist_SOURCES = \ + cbdata.cc \ + MemBuf.cc \ + StatHist.cc \ + StatHist.h \ + String.cc \ + tests/stub_cache_manager.cc \ + tests/stub_comm.cc \ + tests/stub_debug.cc \ + tests/stub_DelayId.cc \ + tests/stub_HelperChildConfig.cc \ + tests/stub_mem.cc \ + tests/stub_MemObject.cc \ + tests/stub_mime.cc \ + tests/stub_pconn.cc \ + tests/stub_stmem.cc \ + tests/stub_store.cc \ + tests/stub_store_stats.cc \ + tests/stub_tools.cc \ + tests/testMain.cc \ + tests/testStatHist.cc \ + tests/testStatHist.h \ + time.cc + +nodist_tests_testStatHist_SOURCES = \ + $(TESTSOURCES) + +tests_testStatHist_LDFLAGS = $(LIBADD_DL) +tests_testStatHist_LDADD = \ + base/libbase.la \ + $(top_builddir)/lib/libmiscutil.la \ + $(SQUID_CPPUNIT_LIBS) \ + $(SQUID_CPPUNIT_LA) \ + $(COMPAT_LIB) + +tests_testStatHist_DEPENDENCIES = $(SQUID_CPPUNIT_LA) all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-recursive @@ -4948,6 +5057,9 @@ DiskIO/DiskThreads/aiops.$(OBJEXT): \ DiskIO/DiskThreads/$(am__dirstamp) \ DiskIO/DiskThreads/$(DEPDIR)/$(am__dirstamp) +DiskIO/DiskThreads/CommIO.$(OBJEXT): \ + DiskIO/DiskThreads/$(am__dirstamp) \ + DiskIO/DiskThreads/$(DEPDIR)/$(am__dirstamp) DiskIO/DiskThreads/aiops_win32.$(OBJEXT): \ DiskIO/DiskThreads/$(am__dirstamp) \ DiskIO/DiskThreads/$(DEPDIR)/$(am__dirstamp) @@ -5194,6 +5306,8 @@ tests/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) tests/$(DEPDIR) @: > tests/$(DEPDIR)/$(am__dirstamp) +tests/stub_StatHist.$(OBJEXT): tests/$(am__dirstamp) \ + tests/$(DEPDIR)/$(am__dirstamp) tests/stub_access_log.$(OBJEXT): tests/$(am__dirstamp) \ tests/$(DEPDIR)/$(am__dirstamp) tests/stub_cache_cf.$(OBJEXT): tests/$(am__dirstamp) \ @@ -5315,8 +5429,6 @@ tests/testHttpParser$(EXEEXT): $(tests_testHttpParser_OBJECTS) $(tests_testHttpParser_DEPENDENCIES) tests/$(am__dirstamp) @rm -f tests/testHttpParser$(EXEEXT) $(tests_testHttpParser_LINK) $(tests_testHttpParser_OBJECTS) $(tests_testHttpParser_LDADD) $(LIBS) -tests/stub_StatHist.$(OBJEXT): tests/$(am__dirstamp) \ - tests/$(DEPDIR)/$(am__dirstamp) tests/testHttpReply.$(OBJEXT): tests/$(am__dirstamp) \ tests/$(DEPDIR)/$(am__dirstamp) tests/testHttpReply$(EXEEXT): $(tests_testHttpReply_OBJECTS) $(tests_testHttpReply_DEPENDENCIES) tests/$(am__dirstamp) @@ -5331,8 +5443,6 @@ $(tests_testHttpRequest_LINK) $(tests_testHttpRequest_OBJECTS) $(tests_testHttpRequest_LDADD) $(LIBS) tests/testNull.$(OBJEXT): tests/$(am__dirstamp) \ tests/$(DEPDIR)/$(am__dirstamp) -tests/stub_CommIO.$(OBJEXT): tests/$(am__dirstamp) \ - tests/$(DEPDIR)/$(am__dirstamp) tests/testNull$(EXEEXT): $(tests_testNull_OBJECTS) $(tests_testNull_DEPENDENCIES) tests/$(am__dirstamp) @rm -f tests/testNull$(EXEEXT) $(tests_testNull_LINK) $(tests_testNull_OBJECTS) $(tests_testNull_LDADD) $(LIBS) @@ -5341,6 +5451,15 @@ tests/testRock$(EXEEXT): $(tests_testRock_OBJECTS) $(tests_testRock_DEPENDENCIES) tests/$(am__dirstamp) @rm -f tests/testRock$(EXEEXT) $(tests_testRock_LINK) $(tests_testRock_OBJECTS) $(tests_testRock_LDADD) $(LIBS) +tests/stub_mem.$(OBJEXT): tests/$(am__dirstamp) \ + tests/$(DEPDIR)/$(am__dirstamp) +tests/stub_stmem.$(OBJEXT): tests/$(am__dirstamp) \ + tests/$(DEPDIR)/$(am__dirstamp) +tests/testStatHist.$(OBJEXT): tests/$(am__dirstamp) \ + tests/$(DEPDIR)/$(am__dirstamp) +tests/testStatHist$(EXEEXT): $(tests_testStatHist_OBJECTS) $(tests_testStatHist_DEPENDENCIES) tests/$(am__dirstamp) + @rm -f tests/testStatHist$(EXEEXT) + $(tests_testStatHist_LINK) $(tests_testStatHist_OBJECTS) $(tests_testStatHist_LDADD) $(LIBS) tests/stub_HttpReply.$(OBJEXT): tests/$(am__dirstamp) \ tests/$(DEPDIR)/$(am__dirstamp) tests/stub_libcomm.$(OBJEXT): tests/$(am__dirstamp) \ @@ -5403,6 +5522,7 @@ -rm -f DiskIO/DiskDaemon/diskd.$(OBJEXT) -rm -f DiskIO/DiskIOModule.$(OBJEXT) -rm -f DiskIO/DiskIOModules_gen.$(OBJEXT) + -rm -f DiskIO/DiskThreads/CommIO.$(OBJEXT) -rm -f DiskIO/DiskThreads/DiskThreadsDiskFile.$(OBJEXT) -rm -f DiskIO/DiskThreads/DiskThreadsDiskIOModule.$(OBJEXT) -rm -f DiskIO/DiskThreads/DiskThreadsIOStrategy.$(OBJEXT) @@ -5418,7 +5538,6 @@ -rm -f DiskIO/ReadRequest.$(OBJEXT) -rm -f DiskIO/WriteRequest.$(OBJEXT) -rm -f tests/TestSwapDir.$(OBJEXT) - -rm -f tests/stub_CommIO.$(OBJEXT) -rm -f tests/stub_DelayId.$(OBJEXT) -rm -f tests/stub_DiskIOModule.$(OBJEXT) -rm -f tests/stub_HelperChildConfig.$(OBJEXT) @@ -5450,8 +5569,10 @@ -rm -f tests/stub_libcomm.$(OBJEXT) -rm -f tests/stub_libicmp.$(OBJEXT) -rm -f tests/stub_main_cc.$(OBJEXT) + -rm -f tests/stub_mem.$(OBJEXT) -rm -f tests/stub_mime.$(OBJEXT) -rm -f tests/stub_pconn.$(OBJEXT) + -rm -f tests/stub_stmem.$(OBJEXT) -rm -f tests/stub_store.$(OBJEXT) -rm -f tests/stub_store_client.$(OBJEXT) -rm -f tests/stub_store_rebuild.$(OBJEXT) @@ -5473,6 +5594,7 @@ -rm -f tests/testMain.$(OBJEXT) -rm -f tests/testNull.$(OBJEXT) -rm -f tests/testRock.$(OBJEXT) + -rm -f tests/testStatHist.$(OBJEXT) -rm -f tests/testStore.$(OBJEXT) -rm -f tests/testStoreController.$(OBJEXT) -rm -f tests/testStoreEntryStream.$(OBJEXT) @@ -5548,6 +5670,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SquidConfig.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SquidMath.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SquidNew.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StatCounters.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StatHist.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StoreFileSystem.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StoreIOState.Po@am__quote@ @@ -5673,6 +5796,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@DiskIO/DiskDaemon/$(DEPDIR)/DiskdFile.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@DiskIO/DiskDaemon/$(DEPDIR)/DiskdIOStrategy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@DiskIO/DiskDaemon/$(DEPDIR)/diskd.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@DiskIO/DiskThreads/$(DEPDIR)/CommIO.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@DiskIO/DiskThreads/$(DEPDIR)/DiskThreadsDiskFile.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@DiskIO/DiskThreads/$(DEPDIR)/DiskThreadsDiskIOModule.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@DiskIO/DiskThreads/$(DEPDIR)/DiskThreadsIOStrategy.Po@am__quote@ @@ -5686,7 +5810,6 @@ @AMDEP_TRUE@@am__include@ @am__quote@DiskIO/Mmapped/$(DEPDIR)/MmappedFile.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@DiskIO/Mmapped/$(DEPDIR)/MmappedIOStrategy.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/TestSwapDir.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/stub_CommIO.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/stub_DelayId.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/stub_DiskIOModule.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/stub_HelperChildConfig.Po@am__quote@ @@ -5718,8 +5841,10 @@ @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/stub_libcomm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/stub_libicmp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/stub_main_cc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/stub_mem.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/stub_mime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/stub_pconn.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/stub_stmem.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/stub_store.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/stub_store_client.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/stub_store_rebuild.Po@am__quote@ @@ -5741,6 +5866,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/testMain.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/testNull.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/testRock.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/testStatHist.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/testStore.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/testStoreController.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/testStoreEntryStream.Po@am__quote@ diff -u -r -N squid-3.2.0.15/src/MemStore.cc squid-3.2.0.16/src/MemStore.cc --- squid-3.2.0.15/src/MemStore.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/MemStore.cc 2012-03-07 15:42:55.000000000 +1300 @@ -259,8 +259,25 @@ return; // cannot keep due to entry state or properties } + // since we copy everything at once, we can only keep complete entries + if (e.store_status != STORE_OK) { + debugs(20, 7, HERE << "Incomplete: " << e); + return; + } + assert(e.mem_obj); - if (!willFit(e.mem_obj->endOffset())) { + + const int64_t loadedSize = e.mem_obj->endOffset(); + const int64_t expectedSize = e.mem_obj->expectedReplySize(); + + // since we copy everything at once, we can only keep fully loaded entries + if (loadedSize != expectedSize) { + debugs(20, 7, HERE << "partially loaded: " << loadedSize << " != " << + expectedSize); + return; + } + + if (!willFit(expectedSize)) { debugs(20, 5, HERE << "No mem-cache space for " << e); return; // failed to free enough space } diff -u -r -N squid-3.2.0.15/src/PeerDigest.h squid-3.2.0.16/src/PeerDigest.h --- squid-3.2.0.15/src/PeerDigest.h 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/PeerDigest.h 2012-03-07 15:42:55.000000000 +1300 @@ -40,6 +40,9 @@ #include "cbdata.h" +/* for CacheDigestGuessStats */ +#include "StatCounters.h" + struct _Version { short int current; /* current version */ short int required; /* minimal version that can safely handle current version */ @@ -116,7 +119,7 @@ } times; struct { - cd_guess_stats guess; + CacheDigestGuessStats guess; int used_count; struct { diff -u -r -N squid-3.2.0.15/src/protos.h squid-3.2.0.16/src/protos.h --- squid-3.2.0.15/src/protos.h 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/protos.h 2012-03-07 15:42:55.000000000 +1300 @@ -200,6 +200,8 @@ #include "HttpStatusCode.h" SQUIDCEXTERN const char *httpStatusString(http_status status); +class StatHist; + /* Http Cache Control Header Field */ SQUIDCEXTERN void httpHdrCcInitModule(void); SQUIDCEXTERN void httpHdrCcCleanModule(void); @@ -374,21 +376,6 @@ SQUIDCEXTERN double statRequestHitDiskRatio(int minutes); SQUIDCEXTERN double statByteHitRatio(int minutes); -/* StatHist */ -SQUIDCEXTERN void statHistClean(StatHist * H); -SQUIDCEXTERN void statHistCount(StatHist * H, double val); -SQUIDCEXTERN void statHistCopy(StatHist * Dest, const StatHist * Orig); -SQUIDCEXTERN void statHistSafeCopy(StatHist * Dest, const StatHist * Orig); -SQUIDCEXTERN double statHistDeltaMedian(const StatHist * A, const StatHist * B); -SQUIDCEXTERN double statHistDeltaPctile(const StatHist * A, const StatHist * B, double pctile); -SQUIDCEXTERN void statHistDump(const StatHist * H, StoreEntry * sentry, StatHistBinDumper * bd); -SQUIDCEXTERN void statHistLogInit(StatHist * H, int capacity, double min, double max); -SQUIDCEXTERN void statHistEnumInit(StatHist * H, int last_enum); -SQUIDCEXTERN void statHistIntInit(StatHist * H, int n); -SQUIDCEXTERN StatHistBinDumper statHistEnumDumper; -SQUIDCEXTERN StatHistBinDumper statHistIntDumper; - - /* mem */ SQUIDCEXTERN void memClean(void); SQUIDCEXTERN void memInitModule(void); @@ -612,7 +599,7 @@ int *wfd, void **hIpc); - +class CacheDigestGuessStats; /* CacheDigest */ SQUIDCEXTERN CacheDigest *cacheDigestCreate(int capacity, int bpe); SQUIDCEXTERN void cacheDigestDestroy(CacheDigest * cd); @@ -624,8 +611,8 @@ SQUIDCEXTERN void cacheDigestDel(CacheDigest * cd, const cache_key * key); SQUIDCEXTERN size_t cacheDigestCalcMaskSize(int cap, int bpe); SQUIDCEXTERN int cacheDigestBitUtil(const CacheDigest * cd); -SQUIDCEXTERN void cacheDigestGuessStatsUpdate(cd_guess_stats * stats, int real_hit, int guess_hit); -SQUIDCEXTERN void cacheDigestGuessStatsReport(const cd_guess_stats * stats, StoreEntry * sentry, const char *label); +SQUIDCEXTERN void cacheDigestGuessStatsUpdate(CacheDigestGuessStats * stats, int real_hit, int guess_hit); +SQUIDCEXTERN void cacheDigestGuessStatsReport(const CacheDigestGuessStats * stats, StoreEntry * sentry, const char *label); SQUIDCEXTERN void cacheDigestReport(CacheDigest * cd, const char *label, StoreEntry * e); SQUIDCEXTERN void internalStart(const Comm::ConnectionPointer &clientConn, HttpRequest *, StoreEntry *); @@ -669,87 +656,88 @@ /* * hack to allow snmp access to the statistics counters */ -SQUIDCEXTERN StatCounters *snmpStatGet(int); +class StatCounters; + SQUIDCEXTERN StatCounters *snmpStatGet(int); -/* Vary support functions */ -SQUIDCEXTERN int varyEvaluateMatch(StoreEntry * entry, HttpRequest * req); + /* Vary support functions */ + SQUIDCEXTERN int varyEvaluateMatch(StoreEntry * entry, HttpRequest * req); -/* CygWin & Windows NT Port */ -/* win32.c */ + /* CygWin & Windows NT Port */ + /* win32.c */ #if _SQUID_WINDOWS_ -SQUIDCEXTERN int WIN32_Subsystem_Init(int *, char ***); -SQUIDCEXTERN void WIN32_sendSignal(int); -SQUIDCEXTERN void WIN32_Abort(int); -SQUIDCEXTERN void WIN32_Exit(void); -SQUIDCEXTERN void WIN32_SetServiceCommandLine(void); -SQUIDCEXTERN void WIN32_InstallService(void); -SQUIDCEXTERN void WIN32_RemoveService(void); -SQUIDCEXTERN int SquidMain(int, char **); + SQUIDCEXTERN int WIN32_Subsystem_Init(int *, char ***); + SQUIDCEXTERN void WIN32_sendSignal(int); + SQUIDCEXTERN void WIN32_Abort(int); + SQUIDCEXTERN void WIN32_Exit(void); + SQUIDCEXTERN void WIN32_SetServiceCommandLine(void); + SQUIDCEXTERN void WIN32_InstallService(void); + SQUIDCEXTERN void WIN32_RemoveService(void); + SQUIDCEXTERN int SquidMain(int, char **); #endif /* _SQUID_WINDOWS_ */ #if _SQUID_MSWIN_ -SQUIDCEXTERN int WIN32_pipe(int[2]); + SQUIDCEXTERN int WIN32_pipe(int[2]); -SQUIDCEXTERN int WIN32_getrusage(int, struct rusage *); -SQUIDCEXTERN void WIN32_ExceptionHandlerInit(void); + SQUIDCEXTERN int WIN32_getrusage(int, struct rusage *); + SQUIDCEXTERN void WIN32_ExceptionHandlerInit(void); -SQUIDCEXTERN int Win32__WSAFDIsSet(int fd, fd_set* set); -SQUIDCEXTERN DWORD WIN32_IpAddrChangeMonitorInit(); + SQUIDCEXTERN int Win32__WSAFDIsSet(int fd, fd_set* set); + SQUIDCEXTERN DWORD WIN32_IpAddrChangeMonitorInit(); #endif -/* external_acl.c */ -class external_acl; - SQUIDCEXTERN void parse_externalAclHelper(external_acl **); + /* external_acl.c */ + class external_acl; + SQUIDCEXTERN void parse_externalAclHelper(external_acl **); - SQUIDCEXTERN void dump_externalAclHelper(StoreEntry * sentry, const char *name, const external_acl *); + SQUIDCEXTERN void dump_externalAclHelper(StoreEntry * sentry, const char *name, const external_acl *); - SQUIDCEXTERN void free_externalAclHelper(external_acl **); + SQUIDCEXTERN void free_externalAclHelper(external_acl **); - typedef void EAH(void *data, void *result); - class ACLChecklist; - SQUIDCEXTERN void externalAclLookup(ACLChecklist * ch, void *acl_data, EAH * handler, void *data); + typedef void EAH(void *data, void *result); + class ACLChecklist; + SQUIDCEXTERN void externalAclLookup(ACLChecklist * ch, void *acl_data, EAH * handler, void *data); - SQUIDCEXTERN void externalAclInit(void); + SQUIDCEXTERN void externalAclInit(void); - SQUIDCEXTERN void externalAclShutdown(void); + SQUIDCEXTERN void externalAclShutdown(void); - SQUIDCEXTERN char *strtokFile(void); + SQUIDCEXTERN char *strtokFile(void); #if USE_WCCPv2 - SQUIDCEXTERN void parse_wccp2_method(int *v); - SQUIDCEXTERN void free_wccp2_method(int *v); - SQUIDCEXTERN void dump_wccp2_method(StoreEntry * e, const char *label, int v); - SQUIDCEXTERN void parse_wccp2_amethod(int *v); - SQUIDCEXTERN void free_wccp2_amethod(int *v); - SQUIDCEXTERN void dump_wccp2_amethod(StoreEntry * e, const char *label, int v); + SQUIDCEXTERN void parse_wccp2_method(int *v); + SQUIDCEXTERN void free_wccp2_method(int *v); + SQUIDCEXTERN void dump_wccp2_method(StoreEntry * e, const char *label, int v); + SQUIDCEXTERN void parse_wccp2_amethod(int *v); + SQUIDCEXTERN void free_wccp2_amethod(int *v); + SQUIDCEXTERN void dump_wccp2_amethod(StoreEntry * e, const char *label, int v); - SQUIDCEXTERN void parse_wccp2_service(void *v); - SQUIDCEXTERN void free_wccp2_service(void *v); - SQUIDCEXTERN void dump_wccp2_service(StoreEntry * e, const char *label, void *v); + SQUIDCEXTERN void parse_wccp2_service(void *v); + SQUIDCEXTERN void free_wccp2_service(void *v); + SQUIDCEXTERN void dump_wccp2_service(StoreEntry * e, const char *label, void *v); - SQUIDCEXTERN int check_null_wccp2_service(void *v); + SQUIDCEXTERN int check_null_wccp2_service(void *v); - SQUIDCEXTERN void parse_wccp2_service_info(void *v); + SQUIDCEXTERN void parse_wccp2_service_info(void *v); - SQUIDCEXTERN void free_wccp2_service_info(void *v); + SQUIDCEXTERN void free_wccp2_service_info(void *v); - SQUIDCEXTERN void dump_wccp2_service_info(StoreEntry * e, const char *label, void *v); + SQUIDCEXTERN void dump_wccp2_service_info(StoreEntry * e, const char *label, void *v); #endif #if USE_AUTH #if HAVE_AUTH_MODULE_NEGOTIATE && HAVE_KRB5 && HAVE_GSSAPI - /* upstream proxy authentication */ - SQUIDCEXTERN char *peer_proxy_negotiate_auth(char *principal_name, char *proxy); + /* upstream proxy authentication */ + SQUIDCEXTERN char *peer_proxy_negotiate_auth(char *principal_name, char *proxy); #endif - namespace Auth { - /* call to ensure the auth component schemes exist. */ - extern void Init(void); - } // namespace Auth + namespace Auth { + /* call to ensure the auth component schemes exist. */ + extern void Init(void); + } // namespace Auth #endif /* USE_AUTH */ diff -u -r -N squid-3.2.0.15/src/Server.cc squid-3.2.0.16/src/Server.cc --- squid-3.2.0.15/src/Server.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/Server.cc 2012-03-07 15:42:55.000000000 +1300 @@ -44,6 +44,7 @@ #include "HttpReply.h" #include "errorpage.h" #include "err_detail_type.h" +#include "StatCounters.h" #include "SquidTime.h" #if USE_ADAPTATION @@ -365,7 +366,7 @@ if (io.size > 0) { fd_bytes(io.fd, io.size, FD_WRITE); - kb_incr(&statCounter.server.all.kbytes_out, io.size); + kb_incr(&(statCounter.server.all.kbytes_out), io.size); // kids should increment their counters } diff -u -r -N squid-3.2.0.15/src/snmp_agent.cc squid-3.2.0.16/src/snmp_agent.cc --- squid-3.2.0.15/src/snmp_agent.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/snmp_agent.cc 2012-03-07 15:42:55.000000000 +1300 @@ -36,6 +36,8 @@ #include "cache_snmp.h" #include "Store.h" #include "mem_node.h" +#include "StatCounters.h" +#include "StatHist.h" #include "SquidMath.h" #include "SquidTime.h" @@ -572,35 +574,35 @@ break; case PERF_MEDIAN_HTTP_ALL: - x = statHistDeltaMedian(&l->client_http.all_svc_time, - &f->client_http.all_svc_time); + x = statHistDeltaMedian(l->client_http.allSvcTime, + f->client_http.allSvcTime); break; case PERF_MEDIAN_HTTP_MISS: - x = statHistDeltaMedian(&l->client_http.miss_svc_time, - &f->client_http.miss_svc_time); + x = statHistDeltaMedian(l->client_http.missSvcTime, + f->client_http.missSvcTime); break; case PERF_MEDIAN_HTTP_NM: - x = statHistDeltaMedian(&l->client_http.nm_svc_time, - &f->client_http.nm_svc_time); + x = statHistDeltaMedian(l->client_http.nearMissSvcTime, + f->client_http.nearMissSvcTime); break; case PERF_MEDIAN_HTTP_HIT: - x = statHistDeltaMedian(&l->client_http.hit_svc_time, - &f->client_http.hit_svc_time); + x = statHistDeltaMedian(l->client_http.hitSvcTime, + f->client_http.hitSvcTime); break; case PERF_MEDIAN_ICP_QUERY: - x = statHistDeltaMedian(&l->icp.query_svc_time, &f->icp.query_svc_time); + x = statHistDeltaMedian(l->icp.querySvcTime, f->icp.querySvcTime); break; case PERF_MEDIAN_ICP_REPLY: - x = statHistDeltaMedian(&l->icp.reply_svc_time, &f->icp.reply_svc_time); + x = statHistDeltaMedian(l->icp.replySvcTime, f->icp.replySvcTime); break; case PERF_MEDIAN_DNS: - x = statHistDeltaMedian(&l->dns.svc_time, &f->dns.svc_time); + x = statHistDeltaMedian(l->dns.svcTime, f->dns.svcTime); break; case PERF_MEDIAN_RHR: @@ -612,8 +614,8 @@ break; case PERF_MEDIAN_HTTP_NH: - x = statHistDeltaMedian(&l->client_http.nh_svc_time, - &f->client_http.nh_svc_time); + x = statHistDeltaMedian(l->client_http.nearHitSvcTime, + f->client_http.nearHitSvcTime); break; default: diff -u -r -N squid-3.2.0.15/src/ssl/certificate_db.cc squid-3.2.0.16/src/ssl/certificate_db.cc --- squid-3.2.0.15/src/ssl/certificate_db.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/ssl/certificate_db.cc 2012-03-07 15:42:55.000000000 +1300 @@ -175,7 +175,6 @@ const std::string Ssl::CertificateDb::db_file("index.txt"); const std::string Ssl::CertificateDb::cert_dir("certs"); const std::string Ssl::CertificateDb::size_file("size"); -const size_t Ssl::CertificateDb::min_db_size(4096); Ssl::CertificateDb::CertificateDb(std::string const & aDb_path, size_t aMax_db_size, size_t aFs_block_size) : db_path(aDb_path), @@ -207,7 +206,7 @@ { const Locker locker(dbLock, Here); load(); - if (!db || !cert || !pkey || min_db_size > max_db_size) + if (!db || !cert || !pkey) return false; Row row; ASN1_INTEGER * ai = X509_get_serialNumber(cert.get()); @@ -227,14 +226,18 @@ if (pure_find(subject.get(), cert, pkey)) return true; } - // check db size. - while (max_db_size < size()) { - if (!deleteInvalidCertificate()) - break; - } - while (max_db_size < size()) { - deleteOldestCertificate(); + // check db size while trying to minimize calls to size() + while (size() > max_db_size) { + if (deleteInvalidCertificate()) + continue; // try to find another invalid certificate if needed + + // there are no more invalid ones, but there must be valid certificates + do { + if (!deleteOldestCertificate()) + return false; // errors prevented us from freeing enough space + } while (size() > max_db_size); + break; } row.setValue(cnlType, "V"); @@ -408,11 +411,12 @@ size_t Ssl::CertificateDb::readSize() const { - size_t db_size; std::ifstream size_file(size_full.c_str()); if (!size_file && enabled_disk_store) - throw std::runtime_error("cannot read \"" + size_full + "\" file"); - size_file >> db_size; + throw std::runtime_error("cannot open for reading: " + size_full); + size_t db_size = 0; + if (!(size_file >> db_size)) + throw std::runtime_error("error while reading " + size_full); return db_size; } diff -u -r -N squid-3.2.0.15/src/ssl/ErrorDetailManager.cc squid-3.2.0.16/src/ssl/ErrorDetailManager.cc --- squid-3.2.0.15/src/ssl/ErrorDetailManager.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/ssl/ErrorDetailManager.cc 2012-03-07 15:42:55.000000000 +1300 @@ -209,14 +209,14 @@ return false; } - const char *errorName = parser.getByName("name").termedBuf(); - if (!errorName) { + const String errorName = parser.getByName("name"); + if (!errorName.size()) { debugs(83, DBG_IMPORTANT, HERE << "WARNING! invalid or no error detail name on:" << s); return false; } - Ssl::ssl_error_t ssl_error = Ssl::GetErrorCode(errorName); + Ssl::ssl_error_t ssl_error = Ssl::GetErrorCode(errorName.termedBuf()); if (ssl_error == SSL_ERROR_NONE) { debugs(83, DBG_IMPORTANT, HERE << "WARNING! invalid error detail name: " << errorName); diff -u -r -N squid-3.2.0.15/src/ssl/gadgets.cc squid-3.2.0.16/src/ssl/gadgets.cc --- squid-3.2.0.15/src/ssl/gadgets.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/ssl/gadgets.cc 2012-03-07 15:42:55.000000000 +1300 @@ -236,7 +236,7 @@ return certificate; } -EVP_PKEY * Ssl::readSslPrivateKey(char const * keyFilename) +EVP_PKEY * Ssl::readSslPrivateKey(char const * keyFilename, pem_password_cb *passwd_callback) { if (!keyFilename) return NULL; @@ -245,7 +245,7 @@ return NULL; if (!BIO_read_filename(bio.get(), keyFilename)) return NULL; - EVP_PKEY *pkey = PEM_read_bio_PrivateKey(bio.get(), NULL, NULL, NULL); + EVP_PKEY *pkey = PEM_read_bio_PrivateKey(bio.get(), NULL, passwd_callback, NULL); return pkey; } diff -u -r -N squid-3.2.0.15/src/ssl/gadgets.h squid-3.2.0.16/src/ssl/gadgets.h --- squid-3.2.0.15/src/ssl/gadgets.h 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/ssl/gadgets.h 2012-03-07 15:42:55.000000000 +1300 @@ -123,7 +123,7 @@ \ingroup SslCrtdSslAPI * Read private key from file. Make sure that this is not encrypted file. */ -EVP_PKEY * readSslPrivateKey(char const * keyFilename); +EVP_PKEY * readSslPrivateKey(char const * keyFilename, pem_password_cb *passwd_callback = NULL); /** \ingroup SslCrtdSslAPI diff -u -r -N squid-3.2.0.15/src/ssl/support.cc squid-3.2.0.16/src/ssl/support.cc --- squid-3.2.0.15/src/ssl/support.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/ssl/support.cc 2012-03-07 15:42:55.000000000 +1300 @@ -1318,7 +1318,7 @@ chain.reset(sk_X509_new_null()); if (!chain) debugs(83, DBG_IMPORTANT, "WARNING: unable to allocate memory for cert chain"); - pkey.reset(readSslPrivateKey(keyFilename)); + pkey.reset(readSslPrivateKey(keyFilename, ssl_ask_password_cb)); cert.reset(readSslX509CertificatesChain(certFilename, chain.get())); if (!pkey || !cert || !X509_check_private_key(cert.get(), pkey.get())) { pkey.reset(NULL); diff -u -r -N squid-3.2.0.15/src/stat.cc squid-3.2.0.16/src/stat.cc --- squid-3.2.0.15/src/stat.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/stat.cc 2012-03-07 15:42:55.000000000 +1300 @@ -54,6 +54,7 @@ #include "MemBuf.h" #include "SquidMath.h" #include "SquidTime.h" +#include "StatCounters.h" #include "mgr/CountersAction.h" #include "mgr/FunAction.h" #include "mgr/InfoAction.h" @@ -1090,16 +1091,16 @@ stats.client_http_kbytes_in = XAVG(client_http.kbytes_in.kb); stats.client_http_kbytes_out = XAVG(client_http.kbytes_out.kb); - stats.client_http_all_median_svc_time = statHistDeltaMedian(&l->client_http.all_svc_time, - &f->client_http.all_svc_time) / 1000.0; - stats.client_http_miss_median_svc_time = statHistDeltaMedian(&l->client_http.miss_svc_time, - &f->client_http.miss_svc_time) / 1000.0; - stats.client_http_nm_median_svc_time = statHistDeltaMedian(&l->client_http.nm_svc_time, - &f->client_http.nm_svc_time) / 1000.0; - stats.client_http_nh_median_svc_time = statHistDeltaMedian(&l->client_http.nh_svc_time, - &f->client_http.nh_svc_time) / 1000.0; - stats.client_http_hit_median_svc_time = statHistDeltaMedian(&l->client_http.hit_svc_time, - &f->client_http.hit_svc_time) / 1000.0; + stats.client_http_all_median_svc_time = statHistDeltaMedian(l->client_http.allSvcTime, + f->client_http.allSvcTime) / 1000.0; + stats.client_http_miss_median_svc_time = statHistDeltaMedian(l->client_http.missSvcTime, + f->client_http.missSvcTime) / 1000.0; + stats.client_http_nm_median_svc_time = statHistDeltaMedian(l->client_http.nearMissSvcTime, + f->client_http.nearMissSvcTime) / 1000.0; + stats.client_http_nh_median_svc_time = statHistDeltaMedian(l->client_http.nearHitSvcTime, + f->client_http.nearHitSvcTime) / 1000.0; + stats.client_http_hit_median_svc_time = statHistDeltaMedian(l->client_http.hitSvcTime, + f->client_http.hitSvcTime) / 1000.0; stats.server_all_requests = XAVG(server.all.requests); stats.server_all_errors = XAVG(server.all.errors); @@ -1136,12 +1137,12 @@ stats.icp_q_kbytes_recv = XAVG(icp.q_kbytes_recv.kb); stats.icp_r_kbytes_recv = XAVG(icp.r_kbytes_recv.kb); - stats.icp_query_median_svc_time = statHistDeltaMedian(&l->icp.query_svc_time, - &f->icp.query_svc_time) / 1000000.0; - stats.icp_reply_median_svc_time = statHistDeltaMedian(&l->icp.reply_svc_time, - &f->icp.reply_svc_time) / 1000000.0; - stats.dns_median_svc_time = statHistDeltaMedian(&l->dns.svc_time, - &f->dns.svc_time) / 1000.0; + stats.icp_query_median_svc_time = statHistDeltaMedian(l->icp.querySvcTime, + f->icp.querySvcTime) / 1000000.0; + stats.icp_reply_median_svc_time = statHistDeltaMedian(l->icp.replySvcTime, + f->icp.replySvcTime) / 1000000.0; + stats.dns_median_svc_time = statHistDeltaMedian(l->dns.svcTime, + f->dns.svcTime) / 1000.0; stats.unlink_requests = XAVG(unlink.requests); stats.page_faults = XAVG(page_faults); @@ -1150,7 +1151,7 @@ stats.average_select_fd_period = f->select_fds > l->select_fds ? (f->select_time - l->select_time) / (f->select_fds - l->select_fds) : 0.0; - stats.median_select_fds = statHistDeltaMedian(&l->select_fds_hist, &f->select_fds_hist); + stats.median_select_fds = statHistDeltaMedian(l->select_fds_hist, f->select_fds_hist); stats.swap_outs = XAVG(swap.outs); stats.swap_ins = XAVG(swap.ins); stats.swap_files_cleaned = XAVG(swap.files_cleaned); @@ -1485,28 +1486,28 @@ /* * HTTP svc_time hist is kept in milli-seconds; max of 3 hours. */ - statHistLogInit(&C->client_http.all_svc_time, 300, 0.0, 3600000.0 * 3.0); - statHistLogInit(&C->client_http.miss_svc_time, 300, 0.0, 3600000.0 * 3.0); - statHistLogInit(&C->client_http.nm_svc_time, 300, 0.0, 3600000.0 * 3.0); - statHistLogInit(&C->client_http.nh_svc_time, 300, 0.0, 3600000.0 * 3.0); - statHistLogInit(&C->client_http.hit_svc_time, 300, 0.0, 3600000.0 * 3.0); + C->client_http.allSvcTime.logInit(300, 0.0, 3600000.0 * 3.0); + C->client_http.missSvcTime.logInit(300, 0.0, 3600000.0 * 3.0); + C->client_http.nearMissSvcTime.logInit(300, 0.0, 3600000.0 * 3.0); + C->client_http.nearHitSvcTime.logInit(300, 0.0, 3600000.0 * 3.0); + C->client_http.hitSvcTime.logInit(300, 0.0, 3600000.0 * 3.0); /* * ICP svc_time hist is kept in micro-seconds; max of 1 minute. */ - statHistLogInit(&C->icp.query_svc_time, 300, 0.0, 1000000.0 * 60.0); - statHistLogInit(&C->icp.reply_svc_time, 300, 0.0, 1000000.0 * 60.0); + C->icp.querySvcTime.logInit(300, 0.0, 1000000.0 * 60.0); + C->icp.replySvcTime.logInit(300, 0.0, 1000000.0 * 60.0); /* * DNS svc_time hist is kept in milli-seconds; max of 10 minutes. */ - statHistLogInit(&C->dns.svc_time, 300, 0.0, 60000.0 * 10.0); + C->dns.svcTime.logInit(300, 0.0, 60000.0 * 10.0); /* * Cache Digest Stuff */ - statHistEnumInit(&C->cd.on_xition_count, CacheDigestHashFuncCount); - statHistEnumInit(&C->comm_icp_incoming, INCOMING_ICP_MAX); - statHistEnumInit(&C->comm_dns_incoming, INCOMING_DNS_MAX); - statHistEnumInit(&C->comm_http_incoming, INCOMING_HTTP_MAX); - statHistIntInit(&C->select_fds_hist, 256); /* was SQUID_MAXFD, but it is way too much. It is OK to crop this statistics */ + C->cd.on_xition_count.enumInit(CacheDigestHashFuncCount); + C->comm_icp_incoming.enumInit(INCOMING_ICP_MAX); + C->comm_dns_incoming.enumInit(INCOMING_DNS_MAX); + C->comm_http_incoming.enumInit(INCOMING_HTTP_MAX); + C->select_fds_hist.enumInit(256); /* was SQUID_MAXFD, but it is way too much. It is OK to crop this statistics */ } /* add special cases here as they arrive */ @@ -1514,19 +1515,19 @@ statCountersClean(StatCounters * C) { assert(C); - statHistClean(&C->client_http.all_svc_time); - statHistClean(&C->client_http.miss_svc_time); - statHistClean(&C->client_http.nm_svc_time); - statHistClean(&C->client_http.nh_svc_time); - statHistClean(&C->client_http.hit_svc_time); - statHistClean(&C->icp.query_svc_time); - statHistClean(&C->icp.reply_svc_time); - statHistClean(&C->dns.svc_time); - statHistClean(&C->cd.on_xition_count); - statHistClean(&C->comm_icp_incoming); - statHistClean(&C->comm_dns_incoming); - statHistClean(&C->comm_http_incoming); - statHistClean(&C->select_fds_hist); + C->client_http.allSvcTime.clear(); + C->client_http.missSvcTime.clear(); + C->client_http.nearMissSvcTime.clear(); + C->client_http.nearHitSvcTime.clear(); + C->client_http.hitSvcTime.clear(); + C->icp.querySvcTime.clear(); + C->icp.replySvcTime.clear(); + C->dns.svcTime.clear(); + C->cd.on_xition_count.clear(); + C->comm_icp_incoming.clear(); + C->comm_dns_incoming.clear(); + C->comm_http_incoming.clear(); + C->select_fds_hist.clear(); } /* add special cases here as they arrive */ @@ -1540,42 +1541,42 @@ statCountersInitSpecial(dest); /* now handle special cases */ /* note: we assert that histogram capacities do not change */ - statHistCopy(&dest->client_http.all_svc_time, &orig->client_http.all_svc_time); - statHistCopy(&dest->client_http.miss_svc_time, &orig->client_http.miss_svc_time); - statHistCopy(&dest->client_http.nm_svc_time, &orig->client_http.nm_svc_time); - statHistCopy(&dest->client_http.nh_svc_time, &orig->client_http.nh_svc_time); - statHistCopy(&dest->client_http.hit_svc_time, &orig->client_http.hit_svc_time); - statHistCopy(&dest->icp.query_svc_time, &orig->icp.query_svc_time); - statHistCopy(&dest->icp.reply_svc_time, &orig->icp.reply_svc_time); - statHistCopy(&dest->dns.svc_time, &orig->dns.svc_time); - statHistCopy(&dest->cd.on_xition_count, &orig->cd.on_xition_count); - statHistCopy(&dest->comm_icp_incoming, &orig->comm_icp_incoming); - statHistCopy(&dest->comm_http_incoming, &orig->comm_http_incoming); - statHistCopy(&dest->select_fds_hist, &orig->select_fds_hist); + dest->client_http.allSvcTime=orig->client_http.allSvcTime; + dest->client_http.missSvcTime=orig->client_http.missSvcTime; + dest->client_http.nearMissSvcTime=orig->client_http.nearMissSvcTime; + dest->client_http.nearHitSvcTime=orig->client_http.nearHitSvcTime; + + dest->client_http.hitSvcTime=orig->client_http.hitSvcTime; + dest->icp.querySvcTime=orig->icp.querySvcTime; + dest->icp.replySvcTime=orig->icp.replySvcTime; + dest->dns.svcTime=orig->dns.svcTime; + dest->cd.on_xition_count=orig->cd.on_xition_count; + dest->comm_icp_incoming=orig->comm_icp_incoming; + dest->comm_http_incoming=orig->comm_http_incoming; + dest->select_fds_hist=orig->select_fds_hist; } static void statCountersHistograms(StoreEntry * sentry) { - StatCounters *f = &statCounter; - storeAppendPrintf(sentry, "client_http.all_svc_time histogram:\n"); - statHistDump(&f->client_http.all_svc_time, sentry, NULL); - storeAppendPrintf(sentry, "client_http.miss_svc_time histogram:\n"); - statHistDump(&f->client_http.miss_svc_time, sentry, NULL); - storeAppendPrintf(sentry, "client_http.nm_svc_time histogram:\n"); - statHistDump(&f->client_http.nm_svc_time, sentry, NULL); - storeAppendPrintf(sentry, "client_http.nh_svc_time histogram:\n"); - statHistDump(&f->client_http.nh_svc_time, sentry, NULL); - storeAppendPrintf(sentry, "client_http.hit_svc_time histogram:\n"); - statHistDump(&f->client_http.hit_svc_time, sentry, NULL); - storeAppendPrintf(sentry, "icp.query_svc_time histogram:\n"); - statHistDump(&f->icp.query_svc_time, sentry, NULL); - storeAppendPrintf(sentry, "icp.reply_svc_time histogram:\n"); - statHistDump(&f->icp.reply_svc_time, sentry, NULL); + storeAppendPrintf(sentry, "client_http.allSvcTime histogram:\n"); + statCounter.client_http.allSvcTime.dump(sentry, NULL); + storeAppendPrintf(sentry, "client_http.missSvcTime histogram:\n"); + statCounter.client_http.missSvcTime.dump(sentry, NULL); + storeAppendPrintf(sentry, "client_http.nearMissSvcTime histogram:\n"); + statCounter.client_http.nearMissSvcTime.dump(sentry, NULL); + storeAppendPrintf(sentry, "client_http.nearHitSvcTime histogram:\n"); + statCounter.client_http.nearHitSvcTime.dump(sentry, NULL); + storeAppendPrintf(sentry, "client_http.hitSvcTime histogram:\n"); + statCounter.client_http.hitSvcTime.dump(sentry, NULL); + storeAppendPrintf(sentry, "icp.querySvcTime histogram:\n"); + statCounter.icp.querySvcTime.dump(sentry, NULL); + storeAppendPrintf(sentry, "icp.replySvcTime histogram:\n"); + statCounter.icp.replySvcTime.dump(sentry, NULL); storeAppendPrintf(sentry, "dns.svc_time histogram:\n"); - statHistDump(&f->dns.svc_time, sentry, NULL); + statCounter.dns.svcTime.dump(sentry, NULL); storeAppendPrintf(sentry, "select_fds_hist histogram:\n"); - statHistDump(&f->select_fds_hist, sentry, NULL); + statCounter.select_fds_hist.dump(sentry, NULL); } static void @@ -1871,31 +1872,31 @@ switch (which) { case PCTILE_HTTP: - x = statHistDeltaPctile(&l->client_http.all_svc_time, &f->client_http.all_svc_time, pctile); + x = statHistDeltaPctile(l->client_http.allSvcTime,f->client_http.allSvcTime, pctile); break; case PCTILE_HIT: - x = statHistDeltaPctile(&l->client_http.hit_svc_time, &f->client_http.hit_svc_time, pctile); + x = statHistDeltaPctile(l->client_http.hitSvcTime,f->client_http.hitSvcTime, pctile); break; case PCTILE_MISS: - x = statHistDeltaPctile(&l->client_http.miss_svc_time, &f->client_http.miss_svc_time, pctile); + x = statHistDeltaPctile(l->client_http.missSvcTime,f->client_http.missSvcTime, pctile); break; case PCTILE_NM: - x = statHistDeltaPctile(&l->client_http.nm_svc_time, &f->client_http.nm_svc_time, pctile); + x = statHistDeltaPctile(l->client_http.nearMissSvcTime,f->client_http.nearMissSvcTime, pctile); break; case PCTILE_NH: - x = statHistDeltaPctile(&l->client_http.nh_svc_time, &f->client_http.nh_svc_time, pctile); + x = statHistDeltaPctile(l->client_http.nearHitSvcTime,f->client_http.nearHitSvcTime, pctile); break; case PCTILE_ICP_QUERY: - x = statHistDeltaPctile(&l->icp.query_svc_time, &f->icp.query_svc_time, pctile); + x = statHistDeltaPctile(l->icp.querySvcTime,f->icp.querySvcTime, pctile); break; case PCTILE_DNS: - x = statHistDeltaPctile(&l->dns.svc_time, &f->dns.svc_time, pctile); + x = statHistDeltaPctile(l->dns.svcTime,f->dns.svcTime, pctile); break; default: diff -u -r -N squid-3.2.0.15/src/StatCounters.cc squid-3.2.0.16/src/StatCounters.cc --- squid-3.2.0.15/src/StatCounters.cc 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/src/StatCounters.cc 2012-03-07 15:42:55.000000000 +1300 @@ -0,0 +1,35 @@ +/* + * 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. + * + * AUTHOR: Francesco Chemolli (Harvest-derived) + * + */ + +#include "squid.h" +#include "StatCounters.h" + +StatCounters statCounter; diff -u -r -N squid-3.2.0.15/src/StatCounters.h squid-3.2.0.16/src/StatCounters.h --- squid-3.2.0.15/src/StatCounters.h 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/src/StatCounters.h 2012-03-07 15:42:55.000000000 +1300 @@ -0,0 +1,188 @@ +/* + * AUTHOR: Francesco Chemolli (Harvest-derived) + * + * 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. + * + * + */ +#ifndef STATCOUNTERS_H_ +#define STATCOUNTERS_H_ + +#include "StatHist.h" + +#if USE_CACHE_DIGESTS +/** statistics for cache digests and other hit "predictors" */ +class CacheDigestGuessStats +{ +public: + int trueHits; + int falseHits; + int trueMisses; + int falseMisses; + int closeHits; /// \todo: temporary remove it later +}; +#endif + + +/** General collection of process-wide statistics. + * + * \note if you add a field to StatCounters, + * you MUST sync statCountersInitSpecial, statCountersClean, and statCountersCopy + */ +class StatCounters +{ +public: + struct { + int clients; + int requests; + int hits; + int mem_hits; + int disk_hits; + int errors; + kb_t kbytes_in; + kb_t kbytes_out; + kb_t hit_kbytes_out; + StatHist missSvcTime; + StatHist nearMissSvcTime; + StatHist nearHitSvcTime; + StatHist hitSvcTime; + StatHist allSvcTime; + } client_http; + + struct { + + struct { + int requests; + int errors; + kb_t kbytes_in; + kb_t kbytes_out; + } all , http, ftp, other; + } server; + + struct { + int pkts_sent; + int queries_sent; + int replies_sent; + int pkts_recv; + int queries_recv; + int replies_recv; + int hits_sent; + int hits_recv; + int replies_queued; + int replies_dropped; + kb_t kbytes_sent; + kb_t q_kbytes_sent; + kb_t r_kbytes_sent; + kb_t kbytes_recv; + kb_t q_kbytes_recv; + kb_t r_kbytes_recv; + StatHist querySvcTime; + StatHist replySvcTime; + int query_timeouts; + int times_used; + } icp; + + struct { + int pkts_sent; + int pkts_recv; + } htcp; + + struct { + int requests; + } unlink; + + struct { + StatHist svcTime; + } dns; + + struct { + int times_used; + kb_t kbytes_sent; + kb_t kbytes_recv; + kb_t memory; + int msgs_sent; + int msgs_recv; +#if USE_CACHE_DIGESTS + + CacheDigestGuessStats guess; +#endif + + StatHist on_xition_count; + } cd; + + struct { + int times_used; + } netdb; + int page_faults; + unsigned long int select_loops; + int select_fds; + double select_time; + double cputime; + + struct timeval timestamp; + StatHist comm_icp_incoming; + StatHist comm_dns_incoming; + StatHist comm_http_incoming; + StatHist select_fds_hist; + + struct { + struct { + int opens; + int closes; + int reads; + int writes; + int seeks; + int unlinks; + } disk; + + struct { + int accepts; + int sockets; + int connects; + int binds; + int closes; + int reads; + int writes; + int recvfroms; + int sendtos; + } sock; + int selects; + } syscalls; + int aborted_requests; + + struct { + int files_cleaned; + int outs; + int ins; + } swap; + +private: +}; + +extern StatCounters statCounter; + +#endif /* STATCOUNTERS_H_ */ diff -u -r -N squid-3.2.0.15/src/StatHist.cc squid-3.2.0.16/src/StatHist.cc --- squid-3.2.0.15/src/StatHist.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/StatHist.cc 2012-03-07 15:42:55.000000000 +1300 @@ -1,7 +1,5 @@ /* - * $Id$ - * * DEBUG: section 62 Generic Histogram * AUTHOR: Duane Wessels * @@ -33,25 +31,10 @@ * */ -/* - * Important restrictions on val_in and val_out functions: - * - * - val_in: ascending, defined on [0, oo), val_in(0) == 0; - * - val_out: x == val_out(val_in(x)) where val_in(x) is defined - * - * In practice, the requirements are less strict, - * but then it gets hard to define them without math notation. - * val_in is applied after offseting the value but before scaling - * See log and linear based histograms for examples - */ - #include "squid.h" -#include "Store.h" +#include "StatHist.h" /* Local functions */ -static void statHistInit(StatHist * H, int capacity, hbase_f * val_in, hbase_f * val_out, double min, double max); -static int statHistBin(const StatHist * H, double v); -static double statHistVal(const StatHist * H, int bin); static StatHistBinDumper statHistBinDumper; namespace Math @@ -62,158 +45,114 @@ }; /* low level init, higher level functions has less params */ -static void -statHistInit(StatHist * H, int capacity, hbase_f * val_in, hbase_f * val_out, double min, double max) -{ - assert(H); - assert(capacity > 0); - assert(val_in && val_out); - /* check before we divide to get scale */ - assert(val_in(max - min) > 0); - H->bins = (int *)xcalloc(capacity, sizeof(int)); - H->min = min; - H->max = max; - H->capacity = capacity; - H->scale = capacity / val_in(max - min); - H->val_in = val_in; - H->val_out = val_out; - - /* HPUX users: If you get one of the assertions below, please send - * [at least] the values of all variables involved in the assertions - * when reporting a bug! - */ - - /* check that functions are valid */ - /* a min value should go into bin[0] */ - assert(statHistBin(H, min) == 0); - /* a max value should go into the last bin */ - assert(statHistBin(H, max) == H->capacity - 1); - /* it is hard to test val_out, here is a crude test */ - assert(((int) floor(0.99 + statHistVal(H, 0) - min)) == 0); -} - void -statHistClean(StatHist * H) +StatHist::init(unsigned int newCapacity, hbase_f * val_in_, hbase_f * val_out_, double newMin, double newMax) { - xfree(H->bins); - H->bins = NULL; + /* check before we divide to get scale_ */ + assert(val_in_(newMax - newMin) > 0); + min_ = newMin; + max_ = newMax; + capacity_ = newCapacity; + val_in = val_in_; + val_out = val_out_; + bins = static_cast(xcalloc(capacity_, sizeof(bins_type))); + scale_ = capacity_ / val_in(max_ - min_); } -/* assumes that somebody already called init for Dest */ void -statHistCopy(StatHist * Dest, const StatHist * Orig) +StatHist::clear() { - assert(Dest); - assert(Orig); - debugs(62, 3, "statHistCopy: Dest=" << Dest << ", Orig=" << Orig); - assert(Dest->bins); - /* better be safe than sorry */ - debugs(62, 3, "statHistCopy: capacity " << Dest->capacity << " " << Orig->capacity); - assert(Dest->capacity == Orig->capacity); - debugs(62, 3, "statHistCopy: min " << Dest->min << " " << Orig->min ); - assert(Dest->min == Orig->min); - debugs(62, 3, "statHistCopy: max " << Dest->max << " " << Orig->max ); - assert(Dest->max == Orig->max); - debugs(62, 3, "statHistCopy: scale " << Dest->scale << " " << Orig->scale ); - assert(fabs(Dest->scale - Orig->scale) < 0.0000001); - assert(Dest->val_in == Orig->val_in); - assert(Dest->val_out == Orig->val_out); - /* actual copy */ - debugs(62, 3, "statHistCopy: copying " << - (long int) (Dest->capacity * sizeof(*Dest->bins)) << " bytes to " << - Dest->bins << " from " << Orig->bins); - - memcpy(Dest->bins, Orig->bins, Dest->capacity * sizeof(*Dest->bins)); + for (unsigned int i=0; ibins); - - if (Dest->capacity == Orig->capacity) - statHistCopy(Dest, Orig); + if (src.bins!=NULL) { + bins = static_cast(xcalloc(src.capacity_, sizeof(int))); + memcpy(bins,src.bins,capacity_*sizeof(*bins)); + } } void -statHistCount(StatHist * H, double val) +StatHist::count(double val) { - const int bin = statHistBin(H, val); - assert(H->bins); /* make sure it got initialized */ - assert(0 <= bin && bin < H->capacity); - H->bins[bin]++; + if (bins==NULL) //do not count before initialization or after destruction + return; + const unsigned int bin = findBin(val); + ++bins[bin]; } -static int -statHistBin(const StatHist * H, double v) +unsigned int +StatHist::findBin(double v) { - int bin; -#if BROKEN_STAT_HIST_BIN - - return 0; - /* NOTREACHED */ -#endif - v -= H->min; /* offset */ + v -= min_; /* offset */ if (v <= 0.0) /* too small */ return 0; - bin = (int) floor(H->scale * H->val_in(v) + 0.5); + unsigned int bin; + double tmp_bin=floor(scale_ * val_in(v) + 0.5); - if (bin < 0) /* should not happen */ - bin = 0; + if (tmp_bin < 0.0) // should not happen + return 0; + bin = static_cast (tmp_bin); - if (bin >= H->capacity) /* too big */ - bin = H->capacity - 1; + if (bin >= capacity_) /* too big */ + bin = capacity_ - 1; return bin; } -static double -statHistVal(const StatHist * H, int bin) +double +StatHist::val(unsigned int bin) const { - return H->val_out((double) bin / H->scale) + H->min; + return val_out((double) bin / scale_) + min_; } double -statHistDeltaMedian(const StatHist * A, const StatHist * B) +statHistDeltaMedian(const StatHist & A, const StatHist & B) { return statHistDeltaPctile(A, B, 0.5); } double -statHistDeltaPctile(const StatHist * A, const StatHist * B, double pctile) +statHistDeltaPctile(const StatHist & A, const StatHist & B, double pctile) +{ + return A.deltaPctile(B, pctile); +} + +double +StatHist::deltaPctile(const StatHist & B, double pctile) const { - int i; - int s1 = 0; - int h = 0; - int a = 0; - int b = 0; - int I = 0; - int J = A->capacity; - int K; + unsigned int i; + bins_type s1 = 0; + bins_type h = 0; + bins_type a = 0; + bins_type b = 0; + unsigned int I = 0; + unsigned int J = capacity_; + unsigned int K; double f; - int *D = (int *)xcalloc(A->capacity, sizeof(int)); - assert(A->capacity == B->capacity); - for (i = 0; i < A->capacity; i++) { - D[i] = B->bins[i] - A->bins[i]; + assert(capacity_ == B.capacity_); + + int *D = static_cast(xcalloc(capacity_, sizeof(int))); + + for (i = 0; i < capacity_; ++i) { + D[i] = B.bins[i] - bins[i]; assert(D[i] >= 0); } - for (i = 0; i < A->capacity; i++) + for (i = 0; i < capacity_; ++i) s1 += D[i]; h = int(s1 * pctile); - for (i = 0; i < A->capacity; i++) { + for (i = 0; i < capacity_; ++i) { J = i; b += D[J]; @@ -241,9 +180,9 @@ f = (h - a) / (b - a); - K = (int) floor(f * (double) (J - I) + I); + K = (unsigned int) floor(f * (double) (J - I) + I); - return statHistVal(A, K); + return val(K); } static void @@ -255,18 +194,17 @@ } void -statHistDump(const StatHist * H, StoreEntry * sentry, StatHistBinDumper * bd) +StatHist::dump(StoreEntry * sentry, StatHistBinDumper * bd) const { - int i; - double left_border = H->min; + double left_border = min_; if (!bd) bd = statHistBinDumper; - for (i = 0; i < H->capacity; i++) { - const double right_border = statHistVal(H, i + 1); + for (unsigned int i = 0; i < capacity_; ++i) { + const double right_border = val(i + 1); assert(right_border - left_border > 0.0); - bd(sentry, i, left_border, right_border - left_border, H->bins[i]); + bd(sentry, i, left_border, right_border - left_border, bins[i]); left_border = right_border; } } @@ -286,9 +224,9 @@ } void -statHistLogInit(StatHist * H, int capacity, double min, double max) +StatHist::logInit(unsigned int capacity, double min, double max) { - statHistInit(H, capacity, Math::Log, Math::Exp, min, max); + init(capacity, Math::Log, Math::Exp, min, max); } /* linear histogram for enums */ @@ -300,9 +238,9 @@ } void -statHistEnumInit(StatHist * H, int last_enum) +StatHist::enumInit(unsigned int last_enum) { - statHistInit(H, last_enum + 3, Math::Null, Math::Null, (double) -1, (double) (last_enum + 1 + 1)); + init(last_enum + 3, Math::Null, Math::Null, -1.0, (2.0 + last_enum)); } void @@ -314,12 +252,6 @@ } void -statHistIntInit(StatHist * H, int n) -{ - statHistInit(H, n, Math::Null, Math::Null, (double) 0, (double) n - 1); -} - -void statHistIntDumper(StoreEntry * sentry, int idx, double val, double size, int count) { if (count) diff -u -r -N squid-3.2.0.15/src/StatHist.h squid-3.2.0.16/src/StatHist.h --- squid-3.2.0.15/src/StatHist.h 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/src/StatHist.h 2012-03-07 15:42:55.000000000 +1300 @@ -0,0 +1,159 @@ +/* + * 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. + */ + +#ifndef STATHIST_H_ +#define STATHIST_H_ + +/* for StoreEntry */ +#include "Store.h" + + +/// function signature for in/out StatHist adaptation +typedef double hbase_f(double); + +/// function signature for StatHist dumping functions +typedef void StatHistBinDumper(StoreEntry *, int idx, double val, double size, int count); + +/** Generic histogram class + * + * see important comments on hbase_f restrictions in StatHist.cc + */ +class StatHist +{ +public: + /** + * \note the default constructor doesn't fully initialize. + * you have to call one of the *init functions to specialize the + * histogram + * \todo merge functionality from the *init functions to the constructor and + * drop these + * \todo specialize the class in a small hierarchy so that all + * relevant initializations are done at build-time + */ + StatHist(); + StatHist(const StatHist&); //not needed + ~StatHist(); + + typedef uint64_t bins_type; + + StatHist &operator=(const StatHist &); + + /** clear the contents of the histograms + * + * \todo remove: this function has been replaced in its purpose + * by the destructor + */ + void clear(); + + /** Calculate the percentile for value pctile for the difference between + * this and the supplied histogram. + */ + double deltaPctile(const StatHist &B, double pctile) const; + /** obtain the output-transformed value from the specified bin + * + */ + double val(unsigned int bin) const; + /** increment the counter for the histogram entry + * associated to the supplied value + */ + void count(double val); + /** iterate the supplied bd function over the histogram values + */ + void dump(StoreEntry *sentry, StatHistBinDumper * bd) const; + /** Initialize the Histogram using a logarithmic values distribution + */ + void logInit(unsigned int capacity, double min, double max); + /** initialize the histogram to count occurrences in an enum-represented set + */ + void enumInit(unsigned int last_enum); +protected: + /** low-level initialize function. called by *Init high-level functions + * \note Important restrictions on val_in and val_out functions: + * + * - val_in: ascending, defined on [0, oo), val_in(0) == 0; + * - val_out: x == val_out(val_in(x)) where val_in(x) is defined + * + * In practice, the requirements are less strict, + * but then it gets hard to define them without math notation. + * val_in is applied after offseting the value but before scaling + * See log and linear based histograms for examples + */ + void init(unsigned int capacity, hbase_f * val_in, hbase_f * val_out, double min, double max); + /// find what entry in the histogram corresponds to v, by applying + /// the preset input transformation function + unsigned int findBin(double v); + /// the histogram counters + bins_type *bins; + unsigned int capacity_; + /// minimum value to be stored, corresponding to the first bin + double min_; + /// value of the maximum counter in the histogram + double max_; + /// scaling factor when looking for a bin + double scale_; + hbase_f *val_in; /* e.g., log() for log-based histogram */ + hbase_f *val_out; /* e.g., exp() for log based histogram */ +}; + +double statHistDeltaMedian(const StatHist & A, const StatHist & B); +double statHistDeltaPctile(const StatHist & A, const StatHist & B, double pctile); +StatHistBinDumper statHistEnumDumper; +StatHistBinDumper statHistIntDumper; + +inline StatHist& +StatHist::operator =(const StatHist & src) +{ + if (this==&src) //handle self-assignment + return *this; + xfree(bins); // xfree can handle NULL pointers, no need to check + capacity_=src.capacity_; + bins = static_cast(xcalloc(src.capacity_, sizeof(bins_type))); + min_=src.min_; + max_=src.max_; + scale_=src.scale_; + val_in=src.val_in; + val_out=src.val_out; + memcpy(bins,src.bins,capacity_*sizeof(*bins)); + return *this; +} + +inline +StatHist::StatHist() : + bins(NULL), capacity_(0), min_(0), max_(0), + scale_(1.0), val_in(NULL), val_out(NULL) +{} + +inline +StatHist::~StatHist() +{ + xfree(bins); //can handle case of bins being NULL + bins=NULL; + capacity_=0; //mark as destructed, may be needed for troubleshooting +} + +#endif /* STATHIST_H_ */ diff -u -r -N squid-3.2.0.15/src/store.cc squid-3.2.0.16/src/store.cc --- squid-3.2.0.15/src/store.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/store.cc 2012-03-07 15:42:55.000000000 +1300 @@ -47,6 +47,7 @@ #include "HttpRequest.h" #include "MemObject.h" #include "mem_node.h" +#include "StatCounters.h" #include "StoreMeta.h" #include "SwapDir.h" #include "StoreIOState.h" @@ -1636,7 +1637,8 @@ // are we using a shared memory cache? if (Config.memShared && IamWorkerProcess()) { - assert(new_status != IN_MEMORY); // we do not call this otherwise + // enumerate calling cases if shared memory is enabled + assert(new_status != IN_MEMORY || EBIT_TEST(flags, ENTRY_SPECIAL)); // This method was designed to update replacement policy, not to // actually purge something from the memory cache (TODO: rename?). // Shared memory cache does not have a policy that needs updates. @@ -1901,6 +1903,9 @@ if (mem_status == IN_MEMORY) return; + if (EBIT_TEST(flags, ENTRY_SPECIAL)) + return; // cannot trim because we do not load them again + if (!preserveSwappable) { if (mem_obj->policyLowestOffsetToKeep(0) == 0) { /* Nothing to do */ diff -u -r -N squid-3.2.0.15/src/store_client.cc squid-3.2.0.16/src/store_client.cc --- squid-3.2.0.15/src/store_client.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/store_client.cc 2012-03-07 15:42:55.000000000 +1300 @@ -40,6 +40,7 @@ #include "Store.h" #include "HttpReply.h" #include "MemObject.h" +#include "StatCounters.h" #include "StoreMeta.h" #include "StoreMetaUnpacker.h" #if USE_DELAY_POOLS diff -u -r -N squid-3.2.0.15/src/store_dir.cc squid-3.2.0.16/src/store_dir.cc --- squid-3.2.0.15/src/store_dir.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/store_dir.cc 2012-03-07 15:42:55.000000000 +1300 @@ -685,6 +685,10 @@ void StoreController::reference(StoreEntry &e) { + // special entries do not belong to any specific Store, but are IN_MEMORY + if (EBIT_TEST(e.flags, ENTRY_SPECIAL)) + return; + /* Notify the fs that we're referencing this object again */ if (e.swap_dirn > -1) @@ -706,6 +710,10 @@ { bool keepInStoreTable = true; // keep if there are no objections + // special entries do not belong to any specific Store, but are IN_MEMORY + if (EBIT_TEST(e.flags, ENTRY_SPECIAL)) + return keepInStoreTable; + /* Notify the fs that we're not referencing this object any more */ if (e.swap_filen > -1) @@ -777,7 +785,13 @@ StoreController::handleIdleEntry(StoreEntry &e) { bool keepInLocalMemory = false; - if (memStore) { + + if (EBIT_TEST(e.flags, ENTRY_SPECIAL)) { + // Icons (and cache digests?) should stay in store_table until we + // have a dedicated storage for them (that would not purge them). + // They are not managed [well] by any specific Store handled below. + keepInLocalMemory = true; + } else if (memStore) { memStore->considerKeeping(e); // leave keepInLocalMemory false; memStore maintains its own cache } else { @@ -794,6 +808,8 @@ return; } + debugs(20, 5, HERE << "keepInLocalMemory: " << keepInLocalMemory); + // TODO: move this into [non-shared] memory cache class when we have one if (keepInLocalMemory) { e.setMemStatus(IN_MEMORY); diff -u -r -N squid-3.2.0.15/src/store_rebuild.cc squid-3.2.0.16/src/store_rebuild.cc --- squid-3.2.0.15/src/store_rebuild.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/store_rebuild.cc 2012-03-07 15:42:55.000000000 +1300 @@ -35,6 +35,7 @@ #include "squid-old.h" #include "event.h" +#include "StatCounters.h" #include "Store.h" #include "SwapDir.h" #include "StoreSearch.h" diff -u -r -N squid-3.2.0.15/src/store_swapin.cc squid-3.2.0.16/src/store_swapin.cc --- squid-3.2.0.15/src/store_swapin.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/store_swapin.cc 2012-03-07 15:42:55.000000000 +1300 @@ -34,6 +34,7 @@ */ #include "squid-old.h" +#include "StatCounters.h" #include "StoreClient.h" #include "Store.h" @@ -84,7 +85,7 @@ sc->callback(0, errflag ? true : false); } - statCounter.swap.ins++; + ++statCounter.swap.ins; } static void diff -u -r -N squid-3.2.0.15/src/store_swapout.cc squid-3.2.0.16/src/store_swapout.cc --- squid-3.2.0.15/src/store_swapout.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/store_swapout.cc 2012-03-07 15:42:55.000000000 +1300 @@ -41,6 +41,7 @@ #include "mem_node.h" #include "MemObject.h" #include "SwapDir.h" +#include "StatCounters.h" #include "swap_log_op.h" static void storeSwapOutStart(StoreEntry * e); @@ -348,7 +349,7 @@ storeDirSwapLog(e, SWAP_LOG_ADD); } - statCounter.swap.outs++; + ++statCounter.swap.outs; } debugs(20, 3, "storeSwapOutFileClosed: " << __FILE__ << ":" << __LINE__); @@ -363,6 +364,7 @@ // must be checked in the caller assert(!EBIT_TEST(flags, ENTRY_ABORTED)); + assert(!swappingOut()); if (!Config.cacheSwap.n_configured) return false; @@ -382,11 +384,11 @@ return true; } - // if we are swapping out already, do not repeat same checks - if (swap_status != SWAPOUT_NONE) { - debugs(20, 3, HERE << " already started"); - decision = MemObject::SwapOut::swPossible; - return true; + // if we swapped out already, do not start over + if (swap_status == SWAPOUT_DONE) { + debugs(20, 3, HERE << "already did"); + decision = MemObject::SwapOut::swImpossible; + return false; } if (!checkCachable()) { diff -u -r -N squid-3.2.0.15/src/structs.h squid-3.2.0.16/src/structs.h --- squid-3.2.0.15/src/structs.h 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/structs.h 2012-03-07 15:42:55.000000000 +1300 @@ -755,21 +755,6 @@ domain_type *next; }; -#if USE_CACHE_DIGESTS - -/* statistics for cache digests and other hit "predictors" */ - -struct _cd_guess_stats { - /* public, read-only */ - int true_hits; - int false_hits; - int true_misses; - int false_misses; - int close_hits; /* tmp, remove it later */ -}; - -#endif - class PeerDigest; struct peer { @@ -1085,171 +1070,6 @@ int max_stale; }; -/* - * "very generic" histogram; - * see important comments on hbase_f restrictions in StatHist.c - */ - -struct _StatHist { - int *bins; - int capacity; - double min; - double max; - double scale; - hbase_f *val_in; /* e.g., log() for log-based histogram */ - hbase_f *val_out; /* e.g., exp() for log based histogram */ -}; - -/* - * if you add a field to StatCounters, - * you MUST sync statCountersInitSpecial, statCountersClean, and statCountersCopy - */ - -struct _StatCounters { - - struct { - int clients; - int requests; - int hits; - int mem_hits; - int disk_hits; - int errors; - kb_t kbytes_in; - kb_t kbytes_out; - kb_t hit_kbytes_out; - StatHist miss_svc_time; - StatHist nm_svc_time; - StatHist nh_svc_time; - StatHist hit_svc_time; - StatHist all_svc_time; - } client_http; - - struct { - - struct { - int requests; - int errors; - kb_t kbytes_in; - kb_t kbytes_out; - } all , http, ftp, other; - } server; - - struct { - int pkts_sent; - int queries_sent; - int replies_sent; - int pkts_recv; - int queries_recv; - int replies_recv; - int hits_sent; - int hits_recv; - int replies_queued; - int replies_dropped; - kb_t kbytes_sent; - kb_t q_kbytes_sent; - kb_t r_kbytes_sent; - kb_t kbytes_recv; - kb_t q_kbytes_recv; - kb_t r_kbytes_recv; - StatHist query_svc_time; - StatHist reply_svc_time; - int query_timeouts; - int times_used; - } icp; - - struct { - int pkts_sent; - int pkts_recv; - } htcp; - - struct { - int requests; - } unlink; - - struct { - StatHist svc_time; - } dns; - - struct { - int times_used; - kb_t kbytes_sent; - kb_t kbytes_recv; - kb_t memory; - int msgs_sent; - int msgs_recv; -#if USE_CACHE_DIGESTS - - cd_guess_stats guess; -#endif - - StatHist on_xition_count; - } cd; - - struct { - int times_used; - } netdb; - int page_faults; - unsigned long int select_loops; - int select_fds; - double select_time; - double cputime; - - struct timeval timestamp; - StatHist comm_icp_incoming; - StatHist comm_dns_incoming; - StatHist comm_http_incoming; - StatHist select_fds_hist; - - struct { - struct { - int opens; - int closes; - int reads; - int writes; - int seeks; - int unlinks; - } disk; - - struct { - int accepts; - int sockets; - int connects; - int binds; - int closes; - int reads; - int writes; - int recvfroms; - int sendtos; - } sock; - int selects; - } syscalls; - int aborted_requests; - - struct { - int files_cleaned; - int outs; - int ins; - } swap; -}; - -/* per header statistics */ - -struct _HttpHeaderStat { - const char *label; - HttpHeaderMask *owner_mask; - - StatHist hdrUCountDistr; - StatHist fieldTypeDistr; - StatHist ccTypeDistr; - StatHist scTypeDistr; - - int parsedCount; - int ccParsedCount; - int scParsedCount; - int destroyedCount; - int busyDestroyedCount; -}; - struct _CacheDigest { /* public, read-only */ diff -u -r -N squid-3.2.0.15/src/tests/stub_CommIO.cc squid-3.2.0.16/src/tests/stub_CommIO.cc --- squid-3.2.0.15/src/tests/stub_CommIO.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/tests/stub_CommIO.cc 1970-01-01 12:00:00.000000000 +1200 @@ -1,37 +0,0 @@ -#include "squid-old.h" -#include "CommIO.h" - -bool CommIO::Initialised = false; -bool CommIO::DoneSignalled = false; -int CommIO::DoneFD = -1; -int CommIO::DoneReadFD = -1; - -void -CommIO::ResetNotifications() -{ - fatal("Not Implemented"); -} - -void -CommIO::Initialise() -{ - fatal("Not Implemented"); -} - -void -CommIO::NotifyIOClose() -{ - fatal("Not Implemented"); -} - -void -CommIO::NULLFDHandler(int, void *) -{ - fatal("Not Implemented"); -} - -void -CommIO::FlushPipe() -{ - fatal("Not Implemented"); -} diff -u -r -N squid-3.2.0.15/src/tests/stub_mem.cc squid-3.2.0.16/src/tests/stub_mem.cc --- squid-3.2.0.15/src/tests/stub_mem.cc 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/src/tests/stub_mem.cc 2012-03-07 15:42:55.000000000 +1300 @@ -0,0 +1,69 @@ +/* + * stub file for mem.cc + */ + +#include "squid.h" + +#define STUB_API "stub_mem.cc" +#include "STUB.h" +/* mem* definitions are still in protos.h */ +#include "protos.h" + +extern "C" void +memFreeString(size_t size, void *buf) +{ + xfree(buf); +} + +extern "C" void * +memAllocString(size_t net_size, size_t * gross_size) +{ + *gross_size=net_size; + return xmalloc(net_size); +} + +extern "C" void +memFreeBuf(size_t size, void *buf) +{ + xfree(buf); +} + +extern "C" void * +memAllocBuf(size_t net_size, size_t * gross_size) +{ + *gross_size=net_size; + return xcalloc(1, net_size); +} + +/* net_size is the new size, *gross size is the old gross size, to be changed to + * the new gross size as a side-effect. + */ +extern "C" void * +memReallocBuf(void *oldbuf, size_t net_size, size_t * gross_size) +{ + void *rv=xrealloc(oldbuf,net_size); +// if (net_size > *gross_size) +// memset(rv+net_size,0,net_size-*gross_size); + *gross_size=net_size; + return rv; +} + +static void +cxx_xfree(void * ptr) +{ + xfree(ptr); +} + +FREE * +memFreeBufFunc(size_t size) +{ + return cxx_xfree; +} + +void * +memAllocate(mem_type type) +STUB_RETVAL(NULL) + +void +memFree(void *p, int type) +STUB diff -u -r -N squid-3.2.0.15/src/tests/stub_StatHist.cc squid-3.2.0.16/src/tests/stub_StatHist.cc --- squid-3.2.0.15/src/tests/stub_StatHist.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/tests/stub_StatHist.cc 2012-03-07 15:42:55.000000000 +1300 @@ -1,22 +1,39 @@ #include "squid.h" +#define STUB_API "StatHist.cc" +#include "STUB.h" +#include "StatHist.h" -// for StatHist definitions -#include "protos.h" void -statHistDump(const StatHist * H, StoreEntry * sentry, StatHistBinDumper * bd) -{ - fatal("statHistDump: Not implemented"); -} +StatHist::dump(StoreEntry * sentry, StatHistBinDumper * bd) const +{} void -statHistCount(StatHist * H, double val) -{ - fatal("statHistCount: Not implemented"); -} +StatHist::enumInit(unsigned int i) +{} void -statHistEnumInit(StatHist * H, int last_enum) -{ -//NO-OP fatal("statHistEnumInit: Not implemented"); -} +StatHist::count(double d) +{} + +double +statHistDeltaMedian(const StatHist & A, const StatHist & B) +STUB_RETVAL(0.0) + +double +statHistDeltaPctile(const StatHist & A, const StatHist & B, double pctile) +STUB_RETVAL(0.0) + +void +StatHist::clear() +STUB + +void +StatHist::logInit(unsigned int i, double d1, double d2) +STUB + +class StoreEntry; +void +statHistIntDumper(StoreEntry * sentry, int idx, double val, double size, int count) +STUB + diff -u -r -N squid-3.2.0.15/src/tests/stub_stmem.cc squid-3.2.0.16/src/tests/stub_stmem.cc --- squid-3.2.0.15/src/tests/stub_stmem.cc 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/src/tests/stub_stmem.cc 2012-03-07 15:42:55.000000000 +1300 @@ -0,0 +1,12 @@ +#include "squid.h" +#include "stmem.h" + +#define STUB_API "stmem.cc" +#include "tests/STUB.h" + +mem_hdr::mem_hdr() STUB +mem_hdr::~mem_hdr() STUB +size_t mem_hdr::size() const STUB_RETVAL(0) +int64_t mem_hdr::endOffset () const STUB_RETVAL(0) +bool mem_hdr::write (StoreIOBuffer const &writeBuffer) STUB_RETVAL(false) + diff -u -r -N squid-3.2.0.15/src/tests/testStatHist.cc squid-3.2.0.16/src/tests/testStatHist.cc --- squid-3.2.0.15/src/tests/testStatHist.cc 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/src/tests/testStatHist.cc 2012-03-07 15:42:55.000000000 +1300 @@ -0,0 +1,78 @@ +#define SQUID_UNIT_TEST 1 +#include "squid.h" +#include "testStatHist.h" +#include "StatHist.h" + +CPPUNIT_TEST_SUITE_REGISTRATION(testStatHist); + +typedef enum { + ZERO, ONE, TWO, THREE, FOUR, FIVE +} number ; + +class InspectingStatHist : public StatHist +{ +public: + bool operator==(const InspectingStatHist &); + bins_type counter(double val) { + return bins[findBin(val)]; + } +}; + +bool +InspectingStatHist::operator ==(const InspectingStatHist & src) +{ + assert(bins != NULL && src.bins != NULL); // TODO: remove after initializing bins at construction time + if (capacity_ != src.capacity_ || + min_!=src.min_ || + max_!=src.max_ || + scale_!=src.scale_ || + val_in!=src.val_in || + val_out!=src.val_out) + return false; + return (memcmp(bins,src.bins,capacity_*sizeof(*bins))==0); +} + + + +void +testStatHist::testStatHistBaseEquality() +{ + InspectingStatHist raw, test; + raw.enumInit(FIVE); + test.enumInit(FIVE); + CPPUNIT_ASSERT(raw==test); + test.count(ZERO); + CPPUNIT_ASSERT_ASSERTION_FAIL(CPPUNIT_ASSERT(raw==test)); +} + +void +testStatHist::testStatHistBaseAssignment() +{ + InspectingStatHist raw, test; + raw.enumInit(FIVE); + test.enumInit(FIVE); + test.count(ZERO); + CPPUNIT_ASSERT_ASSERTION_FAIL(CPPUNIT_ASSERT(raw==test)); + test=raw; + CPPUNIT_ASSERT(raw==test); +} + + +void +testStatHist::testStatHistLog() +{ + const double min=0.0, max=10000.0; + const int capacity=10; + InspectingStatHist raw, test; + raw.logInit(capacity,min,max); + test=raw; + CPPUNIT_ASSERT(test.counter(min)==0); + test.count(min); + CPPUNIT_ASSERT(test.counter(min)==1); + CPPUNIT_ASSERT(test.counter(max)==0); + test.count(max); + CPPUNIT_ASSERT(test.counter(max)==1); + test=raw; + test.count(max); + //CPPUNIT_ASSERT(test.val(capacity-1)==1); //FIXME: val() returns a density +} diff -u -r -N squid-3.2.0.15/src/tests/testStatHist.h squid-3.2.0.16/src/tests/testStatHist.h --- squid-3.2.0.15/src/tests/testStatHist.h 1970-01-01 12:00:00.000000000 +1200 +++ squid-3.2.0.16/src/tests/testStatHist.h 2012-03-07 15:42:55.000000000 +1300 @@ -0,0 +1,27 @@ +/* + * StatHist unit test + */ + +#ifndef TESTSTATHIST_H_ +#define TESTSTATHIST_H_ + +#include + + +class testStatHist : public CPPUNIT_NS::TestFixture +{ + CPPUNIT_TEST_SUITE( testStatHist ); + CPPUNIT_TEST( testStatHistBaseEquality ); + CPPUNIT_TEST( testStatHistBaseAssignment ); + CPPUNIT_TEST( testStatHistLog ); + CPPUNIT_TEST_SUITE_END(); + +public: + +protected: + void testStatHistBaseEquality(); + void testStatHistBaseAssignment(); + void testStatHistLog(); +}; + +#endif /* TESTSTATHIST_H_ */ diff -u -r -N squid-3.2.0.15/src/tunnel.cc squid-3.2.0.16/src/tunnel.cc --- squid-3.2.0.15/src/tunnel.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/tunnel.cc 2012-03-07 15:42:55.000000000 +1300 @@ -51,6 +51,7 @@ #include "MemBuf.h" #include "http.h" #include "PeerSelectState.h" +#include "StatCounters.h" class TunnelStateData { @@ -249,8 +250,8 @@ if (len > 0) { server.bytesIn(len); - kb_incr(&statCounter.server.all.kbytes_in, len); - kb_incr(&statCounter.server.other.kbytes_in, len); + kb_incr(&(statCounter.server.all.kbytes_in), len); + kb_incr(&(statCounter.server.other.kbytes_in), len); } copy (len, errcode, xerrno, server, client, WriteClientDone); @@ -293,7 +294,7 @@ if (len > 0) { client.bytesIn(len); - kb_incr(&statCounter.client_http.kbytes_in, len); + kb_incr(&(statCounter.client_http.kbytes_in), len); } copy (len, errcode, xerrno, client, server, WriteServerDone); @@ -369,8 +370,8 @@ } /* Valid data */ - kb_incr(&statCounter.server.all.kbytes_out, len); - kb_incr(&statCounter.server.other.kbytes_out, len); + kb_incr(&(statCounter.server.all.kbytes_out), len); + kb_incr(&(statCounter.server.other.kbytes_out), len); client.dataSent(len); /* If the other end has closed, so should we */ @@ -432,7 +433,7 @@ } /* Valid data */ - kb_incr(&statCounter.client_http.kbytes_out, len); + kb_incr(&(statCounter.client_http.kbytes_out), len); server.dataSent(len); /* If the other end has closed, so should we */ diff -u -r -N squid-3.2.0.15/src/typedefs.h squid-3.2.0.16/src/typedefs.h --- squid-3.2.0.15/src/typedefs.h 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/typedefs.h 2012-03-07 15:42:55.000000000 +1300 @@ -55,8 +55,6 @@ typedef struct _HttpHeaderFieldAttrs HttpHeaderFieldAttrs; -typedef struct _HttpHeaderStat HttpHeaderStat; - typedef struct _domain_ping domain_ping; typedef struct _domain_type domain_type; @@ -83,14 +81,8 @@ typedef struct _CommWriteStateData CommWriteStateData; -typedef struct _StatCounters StatCounters; - typedef struct _storeSwapLogData storeSwapLogData; -typedef struct _StatHist StatHist; - -typedef struct _cd_guess_stats cd_guess_stats; - typedef struct _CacheDigest CacheDigest; typedef struct _Version Version; @@ -145,10 +137,7 @@ typedef int HLPSAVAIL(void *); typedef void HLPSONEQ(void *); typedef void HLPCMDOPTS(int *argc, char **argv); -typedef void IDNSCB(void *, rfc1035_rr *, int, const char *); - -typedef double hbase_f(double); -typedef void StatHistBinDumper(StoreEntry *, int idx, double val, double size, int count); +typedef void IDNSCB(void *, const rfc1035_rr *, int, const char *); /* MD5 cache keys */ typedef unsigned char cache_key; diff -u -r -N squid-3.2.0.15/src/unlinkd.cc squid-3.2.0.16/src/unlinkd.cc --- squid-3.2.0.15/src/unlinkd.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/unlinkd.cc 2012-03-07 15:42:55.000000000 +1300 @@ -35,6 +35,7 @@ #include "squid-old.h" #include "SquidTime.h" +#include "StatCounters.h" #include "SwapDir.h" #include "fde.h" #include "xusleep.h" @@ -131,13 +132,13 @@ return; } - statCounter.unlink.requests++; + ++statCounter.unlink.requests; /* * Increment this syscalls counter here, even though the syscall * is executed by the helper process. We try to be consistent * in counting unlink operations. */ - statCounter.syscalls.disk.unlinks++; + ++statCounter.syscalls.disk.unlinks; queuelen++; } diff -u -r -N squid-3.2.0.15/src/url.cc squid-3.2.0.16/src/url.cc --- squid-3.2.0.15/src/url.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/url.cc 2012-03-07 15:42:55.000000000 +1300 @@ -125,6 +125,12 @@ if (strncasecmp(b, "file", len) == 0) return AnyP::PROTO_FTP; + if (strncasecmp(b, "coap", len) == 0) + return AnyP::PROTO_COAP; + + if (strncasecmp(b, "coaps", len) == 0) + return AnyP::PROTO_COAPS; + if (strncasecmp(b, "gopher", len) == 0) return AnyP::PROTO_GOPHER; @@ -160,6 +166,12 @@ case AnyP::PROTO_FTP: return 21; + case AnyP::PROTO_COAP: + case AnyP::PROTO_COAPS: + // coaps:// default is TBA as of draft-ietf-core-coap-08. + // Assuming IANA policy of allocating same port for base and TLS protocol versions will occur. + return 5683; + case AnyP::PROTO_GOPHER: return 70; diff -u -r -N squid-3.2.0.15/src/whois.cc squid-3.2.0.16/src/whois.cc --- squid-3.2.0.15/src/whois.cc 2012-02-06 04:52:31.000000000 +1300 +++ squid-3.2.0.16/src/whois.cc 2012-03-07 15:42:55.000000000 +1300 @@ -42,6 +42,7 @@ #include "comm.h" #include "HttpRequest.h" #include "forward.h" +#include "StatCounters.h" #define WHOIS_PORT 43 @@ -169,8 +170,8 @@ if (!dataWritten) setReplyToOK(entry); - kb_incr(&statCounter.server.all.kbytes_in, aBufferLength); - kb_incr(&statCounter.server.http.kbytes_in, aBufferLength); + kb_incr(&(statCounter.server.all.kbytes_in), aBufferLength); + kb_incr(&(statCounter.server.http.kbytes_in), aBufferLength); /* No range support, we always grab it all */ dataWritten = true;