Summary(uk.UTF-8): Squid - кеш об'єктів Internet
Summary(zh_CN.UTF-8): SQUID 高速缓冲代理服务器
Name: squid
-Version: 3.4.9
+Version: 3.5.1
Release: 1
Epoch: 7
License: GPL v2
Group: Networking/Daemons
-Source0: http://www.squid-cache.org/Versions/v3/3.4/%{name}-%{version}.tar.xz
-# Source0-md5: 497e5be7b3430d12667628296760beca
+Source0: http://www.squid-cache.org/Versions/v3/3.5/%{name}-%{version}.tar.xz
+# Source0-md5: b3c9d9726314c1136b7a4c06447db24b
Source1: %{name}.init
Source2: %{name}.sysconfig
Source3: http://squid-docs.sourceforge.net/latest/zip-files/book-full-html.zip
Samba.
%package msnt_auth
-Summary: MSNT domain authentication helper for Squid
-Summary(pl.UTF-8): Obsługa uwierzytelniania w domenie MSNT dla squida
+Summary: NT domain authentication helper for Squid
+Summary(pl.UTF-8): Obsługa uwierzytelniania domenie NT dla squida
Group: Networking/Admin
Requires: %{name} = %{epoch}:%{version}-%{release}
Jest to moduł uwierzytelniania proxy, który pozwala na
uwierzytelnianie użytkowników proxy poprzez LDAP.
+%package delayer_acl
+Summary: Squid external ACL helper adding artificial delay to requests
+Summary(pl.UTF-8): Wsparcie kontroli dostępu przez sztuczne opóźnianie zapytań
+Group: Networking/Admin
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description delayer_acl
+Squid external acl helper. Causes squid to delay responding to HTTP
+requests.
+
+%description delayer_acl -l pl.UTF-8
+Jest to moduł kontroli dostępu (ACL) do proxy, który pozwala na
+opóźnianie odpowiedzi na zapytania HTTP.
+
%package ip_acl
Summary: IP external ACL helper for Squid
Summary(pl.UTF-8): Wsparcie kontroli dostępu przez IP dla squida
%files
%defattr(644,root,root,755)
-%doc CONTRIBUTORS COPYRIGHT CREDITS README ChangeLog QUICKSTART
-%doc RELEASENOTES.html SPONSORS docs/* src/mib.txt book-full.html
+%doc CONTRIBUTORS CREDITS README ChangeLog QUICKSTART
+%doc RELEASENOTES.html docs/* src/mib.txt book-full.html
%doc src/squid.conf.default src/squid.conf.documented src/mime.conf.default
%doc errors/TRANSLATORS
%attr(755,root,root) %{_bindir}/purge
%lang(it) %{_datadir}/squid/errors/it-*
%lang(ja) %{_datadir}/squid/errors/ja
%lang(ja) %{_datadir}/squid/errors/ja-*
+%lang(ka) %{_datadir}/squid/errors/ka
+%lang(ka) %{_datadir}/squid/errors/ka-ge
%lang(ko) %{_datadir}/squid/errors/ko
%lang(ko) %{_datadir}/squid/errors/ko-*
%lang(lt) %{_datadir}/squid/errors/lt
%lang(vi) %{_datadir}/squid/errors/vi
%lang(vi) %{_datadir}/squid/errors/vi-*
%lang(zh_CN) %{_datadir}/squid/errors/zh-cn
+%lang(zh_CN) %{_datadir}/squid/errors/zh-hans
+%lang(zh_CN) %{_datadir}/squid/errors/zh-hans-cn
+%lang(zh_CN) %{_datadir}/squid/errors/zh-hans-sg
%lang(zh_CN) %{_datadir}/squid/errors/zh-sg
%lang(zh_CN) %{_datadir}/squid/errors/zh-tw
%lang(zh_TW) %{_datadir}/squid/errors/zh-hk
+%lang(zh_TW) %{_datadir}/squid/errors/zh-hant
+%lang(zh_TW) %{_datadir}/squid/errors/zh-hant-hk
+%lang(zh_TW) %{_datadir}/squid/errors/zh-hant-mo
+%lang(zh_TW) %{_datadir}/squid/errors/zh-hant-tw
%lang(zh_TW) %{_datadir}/squid/errors/zh-mo
%{systemdtmpfilesdir}/squid.conf
%files ldap_auth
%defattr(644,root,root,755)
-%doc helpers/basic_auth/LDAP/README
%attr(755,root,root) %{_libexecdir}/basic_ldap_auth
%{_mandir}/man8/basic_ldap_auth.*
%files msnt_auth
%defattr(644,root,root,755)
-%doc helpers/basic_auth/MSNT/README*
-%doc helpers/basic_auth/MSNT-multi-domain/README*
-%attr(755,root,root) %{_libexecdir}/basic_msnt_auth
+%attr(755,root,root) %{_libexecdir}/basic_smb_lm_auth
%attr(755,root,root) %{_libexecdir}/basic_msnt_multi_domain_auth
-%attr(640,root,squid) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/msntauth.conf
+%{_mandir}/man8/basic_msnt_multi_domain_auth.8*
%files nis_auth
%defattr(644,root,root,755)
%files pop3_auth
%defattr(644,root,root,755)
%{_libexecdir}/basic_pop3_auth
+%{_mandir}/man8/basic_pop3_auth.8*
%files digest_edirectory_auth
%defattr(644,root,root,755)
%defattr(644,root,root,755)
%{_libexecdir}/negotiate_wrapper_auth
+%files delayer_acl
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libexecdir}/ext_delayer_acl
+%{_mandir}/man8/ext_delayer_acl.8*
+
%files ip_acl
%defattr(644,root,root,755)
%doc helpers/external_acl/file_userip/example*
%attr(755,root,root) %{_libexecdir}/ext_file_userip_acl
-%{_mandir}/man8/ext_file_userip_acl.*
+%{_mandir}/man8/ext_file_userip_acl.8*
%files ldap_acl
%defattr(644,root,root,755)
%attr(755,root,root) %{_libexecdir}/cachetrace.pl
%attr(755,root,root) %{_libexecdir}/calc-must-ids.pl
%attr(755,root,root) %{_libexecdir}/cert_tool
-%attr(755,root,root) %{_libexecdir}/cert_valid.pl
%attr(755,root,root) %{_libexecdir}/check_cache.pl
%attr(755,root,root) %{_libexecdir}/fileno-to-pathname.pl
%attr(755,root,root) %{_libexecdir}/find-alive.pl
-diff -uNrw squid-3.2.0.18/src/client_side.cc squid-3.2.0.18/src/client_side.cc
---- squid-3.2.0.18/src/client_side.cc 2012-07-18 19:36:09.982711673 +0400
-+++ squid-3.2.0.18/src/client_side.cc 2012-07-18 19:47:28.594672449 +0400
-@@ -1349,6 +1349,15 @@
- {
- reply = rep;
-
-+ /* Remove our HDR_X_VARY_FOR hack if present.
-+ * Client won't get the joke anyway.
-+ */
-+ if (rep && rep->header.has(HDR_X_VARY_FOR))
-+ {
-+ debugs(11,3, HERE << "HDR_X_VARY_FOR hack detected. Cleaning it up");
-+ rep->header.delById(HDR_X_VARY_FOR);
-+ }
-+
- if (http->request->range)
- buildRangeHeader(rep);
- }
-diff -uNrw squid-3.2.0.18/src/http.cc squid-3.2.0.18/src/http.cc
---- squid-3.2.0.18/src/http.cc 2012-07-18 19:36:09.962712057 +0400
-+++ squid-3.2.0.18/src/http.cc 2012-07-18 19:40:02.442715425 +0400
-@@ -880,6 +880,12 @@
- }
-
- entry->mem_obj->vary_headers = xstrdup(vary);
-+ /* XXX: Currently we are losing vary_headers when
-+ * saving objects to shm, so we now add them as header
-+ * and remove on preparing client reply.
-+ */
-+ debugs(11,3,"haveParsedReplyHeaders: inserting HDR_X_VARY_FOR into the reply");
-+ rep->header.putStr(HDR_X_VARY_FOR, entry->mem_obj->vary_headers);
- }
-
- /*
-diff -uNrw squid-3.2.0.18/src/HttpHeader.cc squid-3.2.0.18/src/HttpHeader.cc
---- squid-3.2.0.18/src/HttpHeader.cc 2012-07-18 19:36:09.982711673 +0400
-+++ squid-3.2.0.18/src/HttpHeader.cc 2012-07-18 19:52:20.551796245 +0400
-@@ -147,6 +147,7 @@
+diff -urNp squid-3.5.1.orig/src/HttpHeader.cc squid-3.5.1/src/HttpHeader.cc
+--- squid-3.5.1.orig/src/HttpHeader.cc 2015-01-13 12:52:01.000000000 +0000
++++ squid-3.5.1/src/HttpHeader.cc 2015-01-28 20:41:31.478000000 +0000
+@@ -139,6 +139,7 @@ static const HttpHeaderFieldAttrs Header
{"X-Cache", HDR_X_CACHE, ftStr},
{"X-Cache-Lookup", HDR_X_CACHE_LOOKUP, ftStr},
{"X-Forwarded-For", HDR_X_FORWARDED_FOR, ftStr},
{"X-Request-URI", HDR_X_REQUEST_URI, ftStr},
{"X-Squid-Error", HDR_X_SQUID_ERROR, ftStr},
#if X_ACCELERATOR_VARY
-@@ -206,7 +207,8 @@
- #endif
+@@ -209,7 +210,8 @@ static http_hdr_type ListHeadersArr[] =
HDR_SURROGATE_CAPABILITY,
HDR_SURROGATE_CONTROL,
+ HDR_FORWARDED,
- HDR_X_FORWARDED_FOR
+ HDR_X_FORWARDED_FOR,
+ HDR_X_VARY_FOR
};
/* general-headers */
-diff -uNrw squid-3.2.0.18/src/HttpHeader.h squid-3.2.0.18/src/HttpHeader.h
---- squid-3.2.0.18/src/HttpHeader.h 2012-07-18 19:36:09.978711678 +0400
-+++ squid-3.2.0.18/src/HttpHeader.h 2012-07-18 19:36:44.754628494 +0400
-@@ -136,6 +136,7 @@
- HDR_AUTHENTICATION_INFO, /**< RFC 2617 */
+diff -urNp squid-3.5.1.orig/src/HttpHeader.h squid-3.5.1/src/HttpHeader.h
+--- squid-3.5.1.orig/src/HttpHeader.h 2015-01-13 12:52:01.000000000 +0000
++++ squid-3.5.1/src/HttpHeader.h 2015-01-28 20:47:36.228000000 +0000
+@@ -117,6 +117,7 @@ typedef enum {
HDR_X_CACHE, /**< Squid custom header */
- HDR_X_CACHE_LOOKUP, /**< Squid custom header. temporary hack that became de-facto. TODO remove */
-+ HDR_X_VARY_FOR, /**< Squid custom header. temporary hack */
- HDR_X_FORWARDED_FOR, /**< Squid custom header */
+ HDR_X_CACHE_LOOKUP, /**< Squid custom header. temporary hack that became de-facto. TODO remove */
+ HDR_X_FORWARDED_FOR, /**< obsolete Squid custom header, RFC 7239 */
++ HDR_X_VARY_FOR, /**< Squid custom header. temporary hack */
HDR_X_REQUEST_URI, /**< Squid custom header appended if ADD_X_REQUEST_URI is defined */
HDR_X_SQUID_ERROR, /**< Squid custom header on generated error responses */
-diff -uNrw squid-3.2.0.18/src/MemObject.cc squid-3.2.0.18/src/MemObject.cc
---- squid-3.2.0.18/src/MemObject.cc 2012-07-18 19:36:09.986711701 +0400
-+++ squid-3.2.0.18/src/MemObject.cc 2012-07-18 19:43:45.843879163 +0400
-@@ -189,6 +189,24 @@
+ #if X_ACCELERATOR_VARY
+diff -urNp squid-3.5.1.orig/src/MemObject.cc squid-3.5.1/src/MemObject.cc
+--- squid-3.5.1.orig/src/MemObject.cc 2015-01-13 12:52:01.000000000 +0000
++++ squid-3.5.1/src/MemObject.cc 2015-01-28 20:40:12.122000000 +0000
+@@ -186,6 +186,24 @@ MemObject::getReply() const
return _reply;
}
void
MemObject::replaceHttpReply(HttpReply *newrep)
{
-diff -uNrw squid-3.2.0.18/src/MemObject.h squid-3.2.0.18/src/MemObject.h
---- squid-3.2.0.18/src/MemObject.h 2012-07-18 20:06:23.151879182 +0400
-+++ squid-3.2.0.18/src/MemObject.h 2012-07-18 20:08:14.755379555 +0400
-@@ -76,6 +76,8 @@
+diff -urNp squid-3.5.1.orig/src/MemObject.h squid-3.5.1/src/MemObject.h
+--- squid-3.5.1.orig/src/MemObject.h 2015-01-13 12:52:01.000000000 +0000
++++ squid-3.5.1/src/MemObject.h 2015-01-28 20:40:12.123000000 +0000
+@@ -59,6 +59,8 @@ public:
int64_t lowestMemReaderOffset() const;
bool readAheadPolicyCanRead() const;
void addClient(store_client *);
/* XXX belongs in MemObject::swapout, once swaphdrsz is managed
* better
*/
-diff -uNrw squid-3.2.0.18/src/store.cc squid-3.2.0.18/src/store.cc
---- squid-3.2.0.18/src/store.cc 2012-07-18 19:36:09.958711514 +0400
-+++ squid-3.2.0.18/src/store.cc 2012-07-18 19:55:00.518734384 +0400
-@@ -1689,6 +1689,10 @@
- mem_obj = hidden_mem_obj;
- hidden_mem_obj = NULL;
- mem_obj->resetUrls(aUrl, aLogUrl);
-+ /* XXX: we're probably restoring from the cache,
-+ * so try to recover vary_headers in mem_obj
-+ */
-+ mem_obj->fillVaryHeader();
- return;
+diff -urNp squid-3.5.1.orig/src/client_side.cc squid-3.5.1/src/client_side.cc
+--- squid-3.5.1.orig/src/client_side.cc 2015-01-13 12:52:01.000000000 +0000
++++ squid-3.5.1/src/client_side.cc 2015-01-28 20:40:12.116000000 +0000
+@@ -1384,6 +1384,15 @@ ClientSocketContext::prepareReply(HttpRe
+ {
+ reply = rep;
+
++ /* Remove our HDR_X_VARY_FOR hack if present.
++ * Client won't get the joke anyway.
++ */
++ if (rep && rep->header.has(HDR_X_VARY_FOR))
++ {
++ debugs(11,3, HERE << "HDR_X_VARY_FOR hack detected. Cleaning it up");
++ rep->header.delById(HDR_X_VARY_FOR);
++ }
++
+ if (http->request->range)
+ buildRangeHeader(rep);
+ }
+diff -urNp squid-3.5.1.orig/src/http.cc squid-3.5.1/src/http.cc
+--- squid-3.5.1.orig/src/http.cc 2015-01-13 12:52:01.000000000 +0000
++++ squid-3.5.1/src/http.cc 2015-01-28 20:48:48.962000000 +0000
+@@ -926,6 +926,12 @@ HttpStateData::haveParsedReplyHeaders()
+ varyFailure = true;
+ } else {
+ entry->mem_obj->vary_headers = xstrdup(vary);
++ /* XXX: Currently we are losing vary_headers when
++ * saving objects to shm, so we now add them as header
++ * and remove on preparing client reply.
++ */
++ debugs(11,3,"haveParsedReplyHeaders: inserting HDR_X_VARY_FOR into the reply");
++ rep->header.putStr(HDR_X_VARY_FOR, entry->mem_obj->vary_headers);
+ }
}
-
+diff -urNp squid-3.5.1.orig/src/store.cc squid-3.5.1/src/store.cc
+--- squid-3.5.1.orig/src/store.cc 2015-01-13 12:52:01.000000000 +0000
++++ squid-3.5.1/src/store.cc 2015-01-28 20:51:00.538000000 +0000
+@@ -1707,6 +1707,10 @@ StoreEntry::createMemObject(const char *
+ {
+ makeMemObject();
+ mem_obj->setUris(aUrl, aLogUrl, aMethod);
++ /* XXX: we're probably restoring from the cache,
++ * so try to recover vary_headers in mem_obj
++ */
++ mem_obj->fillVaryHeader();
+ }
+
+ /* this just sets DELAY_SENDING */