]> git.ipfire.org Git - thirdparty/squid.git/log
thirdparty/squid.git
8 years agoCombine the https_port list internal state with http_port state.
Amos Jeffries [Wed, 18 Nov 2015 03:23:59 +0000 (19:23 -0800)] 
Combine the https_port list internal state with http_port state.

These two lists have been near identical for some time now and we can
easily reduce code by simply merging the two and using either the
secure.encryptTransport flag or the transport.protocol type to select
the remaining non-identical code paths.

8 years agoFix delay_parameters documentation
Amos Jeffries [Tue, 17 Nov 2015 00:21:01 +0000 (16:21 -0800)] 
Fix delay_parameters documentation

8 years agoError on missing Heimdal libraries only if Heimdal was required
Amos Jeffries [Mon, 16 Nov 2015 22:51:28 +0000 (14:51 -0800)] 
Error on missing Heimdal libraries only if Heimdal was required

8 years agoStop using dangling pointers for eCAP-set custom HTTP reason phrases.
Alex Rousskov [Sun, 15 Nov 2015 17:54:58 +0000 (10:54 -0700)] 
Stop using dangling pointers for eCAP-set custom HTTP reason phrases.

Squid still does not support [external] custom reason phrases and,
hence, cannot reliably support eCAP API that sets the reason phrase to
the one supplied by the adapter.  This and r14398 changes fix [known]
regression bugs introduced by r12728 ("SourceLayout").

8 years agoFixed status code-based HTTP reason phrase for eCAP-generated messages.
Alex Rousskov [Sun, 15 Nov 2015 16:59:12 +0000 (09:59 -0700)] 
Fixed status code-based HTTP reason phrase for eCAP-generated messages.

Calling .reason() on a not-yet-set theMessage.sline object resulted in
"Init" status reason phrase for all from-scratch (i.e., not cloned)
eCAP-made HTTP responses. This fix lets Squid compute the reason phrase
based on the status code, just like Squid does for forwarded responses
(IIRC).

8 years agoUpdated stale "Ssl" text to make the comment match the code again.
Alex Rousskov [Thu, 12 Nov 2015 18:45:11 +0000 (11:45 -0700)] 
Updated stale "Ssl" text to make the comment match the code again.

8 years agoBug 4372: missing template files
Christos Tsantilas [Thu, 12 Nov 2015 08:51:03 +0000 (10:51 +0200)] 
Bug 4372: missing template files

The ERR_SECURE_ACCEPT_FAIL and ERR_REQUEST_START_TIMEOUT errors apears that
have missing templates on squid startup.
Actually these errors does not produce any error page. Move them under the
TCP_RESET error in err_type.h to mark them as optional.

This is a Measurement Factory project

8 years agorefresh_pattern regression was in 3.3, not 4.0
Amos Jeffries [Tue, 10 Nov 2015 09:18:41 +0000 (01:18 -0800)] 
refresh_pattern regression was in 3.3, not 4.0

8 years agoBug 4228: links with krb5 libs despite --without options
Amos Jeffries [Tue, 10 Nov 2015 09:12:31 +0000 (01:12 -0800)] 
Bug 4228: links with krb5 libs despite --without options

8 years agoext_kerberos_ldap_group_acl: Add missing workarounds for Heimdal Kerberos
Amos Jeffries [Tue, 10 Nov 2015 02:13:13 +0000 (18:13 -0800)] 
ext_kerberos_ldap_group_acl: Add missing workarounds for Heimdal Kerberos

error_message() function is not always provided.

8 years agoFix cache_peer forceddomain= in CONNECT
Aymeric Vincent [Mon, 9 Nov 2015 21:38:44 +0000 (13:38 -0800)] 
Fix cache_peer forceddomain= in CONNECT

8 years agoSourceFormat Enforcement
Source Maintenance [Mon, 9 Nov 2015 18:12:10 +0000 (18:12 +0000)] 
SourceFormat Enforcement

8 years agoHandshake Problem during Renegotiation
Christos Tsantilas [Mon, 9 Nov 2015 16:24:34 +0000 (18:24 +0200)] 
Handshake Problem during Renegotiation

Here is what happens:

   - Squid receives TLS Hello from the client (TCP connection A).
   - Squid successfully negotiates an TLS connection with the origin server
     (TCP connection B).
   - Squid successfully negotiates an TLS connection with the client
     (TCP connection A).
   - Squid marks connection B as "idle" and waits an HTTP request from
     connection A.
   - The origin server continues talking to Squid (TCP connection B).
     Squid detects a network read on an idle connection and closes TCP
     connection B (and then the associated TCP connection A as well).

This patch:
   - When squid detects a network read on server idle connection do an
     SSL_read to:
       a) see if application data received from server and abort in this case
       b) detect possible TLS error, or TLS shutdown message from server
       c) or ignore if only TLS protocol related packets received.

This is a Measurement Factory project

8 years agoQuieten ALE missing messages
Amos Jeffries [Sun, 8 Nov 2015 22:54:47 +0000 (14:54 -0800)] 
Quieten ALE missing messages

8 years agoFix compile erorr on clang undefined reference to '__atomic_load_8'
Amos Jeffries [Sun, 8 Nov 2015 15:09:16 +0000 (07:09 -0800)] 
Fix compile erorr on clang undefined reference to '__atomic_load_8'

Later versions of GCC on some architectures push atomic functions
out into a separate atomic library. Older versions of clang do not
handle that automatically and require the library to be linked
explicitly.

Add a check for when this is required and set ATOMICLIB if needed.

8 years agoBug 4371: compile errors: no such file or directory: DiskIO/*/*DiskIOModule.o
Amos Jeffries [Sun, 8 Nov 2015 13:32:16 +0000 (05:32 -0800)] 
Bug 4371: compile errors: no such file or directory: DiskIO/*/*DiskIOModule.o

8 years agoSourceFormat Enforcement
Source Maintenance [Sat, 7 Nov 2015 12:12:13 +0000 (12:12 +0000)] 
SourceFormat Enforcement

8 years agoSplit core Server operations from ConnStateData
Amos Jeffries [Sat, 7 Nov 2015 12:08:33 +0000 (04:08 -0800)] 
Split core Server operations from ConnStateData

This improves the servers/libserver.la class hierarchy in
preparation for HTTP/2 and other non-HTTP/1.1 protocol support.

The basic I/O functionality of ConnStateData is moved to Server
class and a set of virtual methods designed to allow for child
class implementation of data processing operations.

No logic is changed in this patch, just symbol renaming and
moving of method logics as-is into libservers.la

8 years agoFix SSL_get_certificate() problem detection
Stuart Henderson [Sat, 7 Nov 2015 06:30:27 +0000 (22:30 -0800)] 
Fix SSL_get_certificate() problem detection

The autoconf check for SQUID_SSLGETCERTIFICATE_BUGGY fails on ssl library
builds which don't include SSLv3; as a result of the autoconf decision
this can end up triggering the assert(0) in Ssl::verifySslCertificate()
in ssl/support.cc (line 1712 in 3.5.11).

8 years agoSourceFormat Enforcement
Source Maintenance [Fri, 6 Nov 2015 18:12:11 +0000 (18:12 +0000)] 
SourceFormat Enforcement

8 years agoAllow unlimited LDAP search filter for ext_ldap_group_acl helper.
Christos Tsantilas [Fri, 6 Nov 2015 17:08:02 +0000 (19:08 +0200)] 
Allow unlimited LDAP search filter for ext_ldap_group_acl helper.

The LDAP search filter in ext_ldap_group_acl is limited to 256 characters.
In some environments the user DN or group filter can be larger than this
limitation.
This patch uses dynamic allocated buffers for LDAP search filters.

This is a Measurement Factory project

8 years agoPolished cache_peer_access and related documentation.
Alex Rousskov [Thu, 5 Nov 2015 15:50:04 +0000 (08:50 -0700)] 
Polished cache_peer_access and related documentation.

Admins complained that it is not clear how cache_peer_access is
evaluated and how it interacts with cache peer selection algorithms.

8 years agoBug 4374: refresh_pattern config parser (%)
Amos Jeffries [Wed, 4 Nov 2015 16:42:55 +0000 (08:42 -0800)] 
Bug 4374: refresh_pattern config parser (%)

8 years agoMake FATAL messages have a consistent prefix
Amos Jeffries [Tue, 3 Nov 2015 14:42:13 +0000 (06:42 -0800)] 
Make FATAL messages have a consistent prefix

8 years agoBug 4373: assertion failed: client_side_request.cc:1709: 'calloutContext->redirect_st...
Amos Jeffries [Tue, 3 Nov 2015 13:05:03 +0000 (05:05 -0800)] 
Bug 4373: assertion failed: client_side_request.cc:1709: 'calloutContext->redirect_state == REDIRECT_NONE'

8 years ago4.0.2 SQUID_4_0_2
Amos Jeffries [Sun, 1 Nov 2015 12:17:11 +0000 (04:17 -0800)] 
4.0.2

8 years agoPrep for 4.0.2 and 3.5.11
Amos Jeffries [Sun, 1 Nov 2015 10:20:12 +0000 (02:20 -0800)] 
Prep for 4.0.2 and 3.5.11

8 years agoFix shutdown aborts after rev.14374
Amos Jeffries [Sun, 1 Nov 2015 10:07:41 +0000 (02:07 -0800)] 
Fix shutdown aborts after rev.14374

Changes to signal processing introduced by rev.14374 causse Squid to
ignore repeated signals.

However, repeated shutdown signals actually has meaning and need to abort
the shutdown delay timeout. So we need to allow those through to the
shutdown signal handler.

8 years agoBug 3574: To avoid crashes, prohibit reconfiguration during shutdown.
Alex Rousskov [Fri, 30 Oct 2015 20:38:57 +0000 (14:38 -0600)] 
Bug 3574: To avoid crashes, prohibit reconfiguration during shutdown.

Also consolidated and polished signal action handling code:

1. For any executed action X, clear do_X at the beginning of action X
   code because once we start X, we should accept/queue more X
   requests (or inform the admin if we reject them).

2. Delay any action X requested during startup or reconfiguration
   because the latter two actions modify global state that X depends
   on. Inform the admin that the requested action is being delayed.

3. Cancel any action X requested during shutdown. We cannot run X
   during shutdown because shutdown modifies global state that X
   depends on, and we never come back from shutdown so there is no
   point in delaying X. Inform the admin that the requested action is
   canceled.

The child signal handling action is exempt from rules #2 and #3
because its code does not depend on Squid state.

Repeated failed attempts to fix crashes related to various overlapping
actions confirm that this code is a lot trickier than it looks. This
change introduces a more systematic/comprehensive approach to
resolving associated conflicts compared to previous ad hoc attempts.

These changes were not inspired by bug 3574 but they provide a
more comprehensive version of the earlier bug 3574 fix (r14354).

8 years agoAdd Locker friend class to SBuf for protection against memory issues
Amos Jeffries [Fri, 30 Oct 2015 12:59:17 +0000 (05:59 -0700)] 
Add Locker friend class to SBuf for protection against memory issues

When appending or otherwise modifying an SBuf based on a SBuf& or char*
the parameter used may be pointing at the MemBlob memory buffer
indirectly without holding a separate ref-count lock to it.

If 'this' SBuf then requires reallocation for any reason the char* or
buffer pointer taken from the SBuf&, which is being manipulated may in
fact be left pointing at invalid memory.

Utilize a private Locker class to create relatively cheap ref-count locks
on the store_ MemBlob when this problem MAY occur. This Locker needs to
be used on all non-const SBuf methods accepting char* or SBuf& argument.

8 years agoAudit updates
Amos Jeffries [Thu, 29 Oct 2015 23:08:05 +0000 (16:08 -0700)] 
Audit updates

8 years agoAdd Locker friend class to SBuf for protection against memory issues
Amos Jeffries [Thu, 29 Oct 2015 18:53:48 +0000 (11:53 -0700)] 
Add Locker friend class to SBuf for protection against memory issues

When appending or otherwise modifying an SBuf based on a SBuf& or char*
the parameter used may be pointing at the MemBlob memory buffer
indirectly without holding a separate ref-count lock to it.

If 'this' SBuf then requires reallocation for any reason the char* or
buffer pointer taken from the SBuf&, which is being manipulated may in
fact be left pointing at invalid memory.

Utilize a private Locker class to create relatively cheap ref-count locks
on the store_ MemBlob when this problem MAY occur. This Locker needs to
be used on all non-const SBuf methods accepting char* or SBuf& argument.

8 years agoMigrate squidaio_ctrl_t to MEMPROXY_CLASS
Francesco Chemolli [Thu, 29 Oct 2015 08:38:29 +0000 (09:38 +0100)] 
Migrate squidaio_ctrl_t to MEMPROXY_CLASS

8 years agoExpose Pool use count in Mem::AllocatorProxy (and MEMPROXY_CLASS)
Francesco Chemolli [Thu, 29 Oct 2015 08:37:13 +0000 (09:37 +0100)] 
Expose Pool use count in Mem::AllocatorProxy (and MEMPROXY_CLASS)

8 years agoBug 4359: assertion failure 'Comm::IsConnOpen(conn)' within ConnStateData::requestTimeout
Amos Jeffries [Tue, 27 Oct 2015 22:43:00 +0000 (15:43 -0700)] 
Bug 4359: assertion failure 'Comm::IsConnOpen(conn)' within ConnStateData::requestTimeout

8 years agoBug 4021: ext_user_regex does exact match
Michele Bergonzoni [Tue, 27 Oct 2015 17:54:19 +0000 (06:54 +1300)] 
Bug 4021: ext_user_regex does exact match

8 years agoSourceFormat Enforcement
Source Maintenance [Tue, 27 Oct 2015 06:11:56 +0000 (06:11 +0000)] 
SourceFormat Enforcement

8 years agoConnection stats, including %<lp, missing for persistent connections.
Alex Rousskov [Tue, 27 Oct 2015 03:45:40 +0000 (21:45 -0600)] 
Connection stats, including %<lp, missing for persistent connections.

The code reusing a pconn was missing a hier.note() call, resulting in 0
values logged for %<lp (local port number of the last server or peer
connection) and probably other missing stats.

Also refactored poorly copied statistics collection code to remove
duplication and always update to-server connection stats when the actual
connection becomes available.

Positive side effect: Upon setsockopt(2) failures, the tos and nfmark
fields of a pinned connection were set to the desired (but not actually
applied) values, while persistent connection fields were left intact
(and, hence, stale). Both fields are now reset to zero on failures, for
both types of connections.

8 years agoFix incorrect authentication headers on cache digest requests
Aymeric Vincent [Mon, 26 Oct 2015 02:53:30 +0000 (19:53 -0700)] 
Fix incorrect authentication headers on cache digest requests

  login=NEGOTIATE can have an additional parameter specified,
   like login=NEGOTIATE:xxx

One test added in rev.12714 does not take this case into account and it
will send a garbage "login:password" (== "NEGOTIATE:xxx") to its peer
when requesting a digest.

This is a workaround patch to remove the broken Authentication headers
entirely. Support for Negotiate to the peer on these digest requests is
still needed.

8 years agoBug 4281: copy-paste typos in src/tools.cc
Marcos Mello [Sun, 25 Oct 2015 12:35:16 +0000 (05:35 -0700)] 
Bug 4281: copy-paste typos in src/tools.cc

8 years agoBug 4188: Bumping intercepted SSL connections does not work on Solaris
Alex Rousskov [Sun, 25 Oct 2015 12:01:42 +0000 (05:01 -0700)] 
Bug 4188: Bumping intercepted SSL connections does not work on Solaris

8 years agoAvoid errors when parsing manager ACL in old squid.conf
Amos Jeffries [Fri, 23 Oct 2015 05:36:51 +0000 (22:36 -0700)] 
Avoid errors when parsing manager ACL in old squid.conf

ACL manager is now a built-in definition and has a different type. That
has been causing FATAL errors when parsing old squid.conf. We can be
nicer and just ignore the obsolete config lines.

8 years agoBug 4356: segmentation fault using proxy_auth ACL
Amos Jeffries [Fri, 23 Oct 2015 04:10:43 +0000 (21:10 -0700)] 
Bug 4356: segmentation fault using proxy_auth ACL

8 years agoFixed chunked parsing by mimicking psChunkEnd state removed in trunk r14108.
Alex Rousskov [Wed, 21 Oct 2015 11:59:13 +0000 (04:59 -0700)] 
Fixed chunked parsing by mimicking psChunkEnd state removed in trunk r14108.

... or, more precisely, in r13994.1.4 (parser-ng-chunked: re-write parse
sequence using ParseState stages instead of Step method pointers). Before
parser-ng-chunked, reaching zero theLeftBodySize would switch the chunk
parser to the psChunkEnd state. It was possible to pause parsing in that
state and resume it when more data becomes available, including the CRLF that
follows the chunk data. After parser-ng-chunked, the state remains
HTTP_PARSE_CHUNK which implies positive theLeftBodySize.

8 years agoRe-assign delay pools based on HTTP reply details
Vitaly Lavrov [Wed, 21 Oct 2015 11:45:35 +0000 (04:45 -0700)] 
Re-assign delay pools based on HTTP reply details

8 years agoBug 4351: compile errors when authentication modules disabled
Amos Jeffries [Fri, 16 Oct 2015 14:28:52 +0000 (07:28 -0700)] 
Bug 4351: compile errors when authentication modules disabled

Authentication modules can be selectively disabled. This means the module
header files need to be wrapped with disable macros, and also code that
depends on module internal definitions.

8 years agoBug 4352: compile errors in OS X 10.11
Amos Jeffries [Fri, 16 Oct 2015 10:53:48 +0000 (03:53 -0700)] 
Bug 4352: compile errors in OS X 10.11

8 years ago1xx response terminates Squid-to-server connection, breaking many PUTs.
Alex Rousskov [Thu, 15 Oct 2015 02:52:58 +0000 (19:52 -0700)] 
1xx response terminates Squid-to-server connection, breaking many PUTs.

Since trunk revision 13688.1.6 (Use Http1::ResponseParser to process
HTTP server responses), HttpStateData::processReplyHeader() sets
flags.headers_parsed after successfully parsing a 1xx control message.
The rest of the code interprets that flag as "parsed the final response"
and throws a !flags.headers_parsed exception because we have not parsed
the final (non-1xx) response yet. The exception kills virtually any PUT
or similar transaction that triggers an HTTP 100 (Continue) response
from the origin server.

This fix restores the original position of the flags.headers_parsed
update.

8 years ago4.0.1 SQUID_4_0_1
Amos Jeffries [Wed, 14 Oct 2015 06:07:23 +0000 (23:07 -0700)] 
4.0.1

8 years agoBug 4279: No response from proxy for FTP-download of non-existing file
Vitaly Lavrov [Tue, 13 Oct 2015 12:53:10 +0000 (05:53 -0700)] 
Bug 4279: No response from proxy for FTP-download of non-existing file

8 years agoBug 3574: crashes on reconfigure and startup
Amos Jeffries [Mon, 12 Oct 2015 01:38:02 +0000 (18:38 -0700)] 
Bug 3574: crashes on reconfigure and startup

When Squid receives a reconfigure signal before its signal handler
has been registered on startup it will crash with unhandled signal
exceptions. This can be triggered on system boot when a resolv.conf
alteration signal wins a race with the daemon service initialization.

 Register the reconfigure signal handler early and ignoring signals
 until initial squid.conf load has completed.

When Squid receives a reconfigure signal while it is already in the
process of reconfiguring, the two async sequences can interfere and
result in confusing fatal error or crashes.
 Only allowing one reconfigure sequence to be initiated at a time.

Also, if shutdown signal has been received while waiting for a
reconfigure to finish, let shutdown take precedence over any pending
reconfigure repeats.

 Based on work by Clint Byrum and D J Gardner, Ubuntu

8 years agoSourceFormat Enforcement
Source Maintenance [Sun, 11 Oct 2015 18:12:00 +0000 (18:12 +0000)] 
SourceFormat Enforcement

8 years agoRemove unnecessary sub-class AccessLogEntry::Private
Amos Jeffries [Sun, 11 Oct 2015 16:09:26 +0000 (09:09 -0700)] 
Remove unnecessary sub-class AccessLogEntry::Private

Use an accessor to locate the appropriate method string to display in a
consistent way instead.

8 years agoSupport logformat %macros in external_acl_type format
Amos Jeffries [Sun, 11 Oct 2015 14:08:47 +0000 (07:08 -0700)] 
Support logformat %macros in external_acl_type format

Update the external_acl_type helper interface to use libformat and thus
make any logformat token valid in its format parameter field.

As a result much of the logic surrounding format code parsing, display
and helper query generation has been completely dropped. What remains is
a basic parse loop handling backward compatibility for the unusual
%CERT_* token syntax, space delimiter and field default encodings.

Extensions to logformat resulting from the merger:

* adds \-escape encoding of output fields

* allows {arg} field to be placed before or after the format code.

* extended to accept the old external_acl_type %macros. But not
  documented, these are deprecated and only for backward compatibility.

* extended to support outputting formats without a format-name prefix
  as was required by the original logformat config lines.

The major side effect of this change is that these ACLs now require
AccessLogEntry to be filled out with state data, rather than just the
ACLChecklist object members.

The requires*() mechanism of ACLChecklist has been extended to catch
some cases resulting from missing the ALE entirely. But it cannot catch
the more subtle problem of data members inside the ALE being unset.
To try and catch those a syncAle() mechanism has been added that fills
out missing ALE members and prints out debug warnings about the action.

8 years agoTLS: shuffle EECDH configuration to libsecurity
Amos Jeffries [Sun, 11 Oct 2015 13:56:33 +0000 (06:56 -0700)] 
TLS: shuffle EECDH configuration to libsecurity

* add class ServerOptions to libsecurity to manage server specific
  configuration options. Based on class PeerOptions.

* shuffle the DH config parse and dump logics to ServerOptions

* shuffle the DH params pre-loading logic to ServerOptions

* add configuration warning when tls-dh= is used and overrides
  dhparams= logacy configuration. Also, auto-upgrade the config
  settings when dhparams= is dumped in mgr:config report.

8 years agoShuffle DH params parsing and pre-loading to libsecurity
Amos Jeffries [Sun, 11 Oct 2015 12:13:57 +0000 (05:13 -0700)] 
Shuffle DH params parsing and pre-loading to libsecurity

8 years agoDocs: release notes update
Amos Jeffries [Sun, 11 Oct 2015 07:08:32 +0000 (00:08 -0700)] 
Docs: release notes update

8 years agoBug 4347: compile errors with LibreSSL 2.3
Stuart Henderson [Sun, 11 Oct 2015 05:30:33 +0000 (22:30 -0700)] 
Bug 4347: compile errors with LibreSSL 2.3

8 years agoDocs: update https_port to reference http_port
Amos Jeffries [Sat, 10 Oct 2015 07:11:39 +0000 (00:11 -0700)] 
Docs: update https_port to reference http_port

8 years agoShuffle tls-dh= options to libsecurity
Amos Jeffries [Sat, 10 Oct 2015 06:59:12 +0000 (23:59 -0700)] 
Shuffle tls-dh= options to libsecurity

* create class ServerOptions derived from class PeerOptions to hold
  server-specific configuration settings.

* split DH, ECDH, and DH params settings during configuration instead of
  on every context initialization.

8 years agoMerge from trunk rev.14346
Amos Jeffries [Fri, 9 Oct 2015 09:24:02 +0000 (02:24 -0700)] 
Merge from trunk rev.14346

8 years agoMerge from trunk rev.14346
Amos Jeffries [Fri, 9 Oct 2015 09:23:22 +0000 (02:23 -0700)] 
Merge from trunk rev.14346

8 years agoFix build error with IDENT
Amos Jeffries [Fri, 9 Oct 2015 09:22:23 +0000 (02:22 -0700)] 
Fix build error with IDENT

8 years agoAdd tls-no-default-ca option to replace sslflags=NO_DEFAULT_CA
Amos Jeffries [Fri, 9 Oct 2015 06:02:01 +0000 (23:02 -0700)] 
Add tls-no-default-ca option to replace sslflags=NO_DEFAULT_CA

8 years agoShuffle the cafile= context logics to libsecurity class PeerOptions
Amos Jeffries [Fri, 9 Oct 2015 02:48:55 +0000 (19:48 -0700)] 
Shuffle the cafile= context logics to libsecurity class PeerOptions

* Rename the parameter tls-cafile= and allow multiple cafile= entries to
  be used in squid.conf.

* Document the capath= option as only supported by OpenSSL and LibreSSL.

* Add GnuTLS support for CA loading.
  Although at this point GnuTLS contexts are not yet created.

8 years agoDocs: release notes updates
Amos Jeffries [Fri, 9 Oct 2015 02:41:04 +0000 (19:41 -0700)] 
Docs: release notes updates

8 years agofix whitespace changes
Amos Jeffries [Fri, 9 Oct 2015 02:22:29 +0000 (19:22 -0700)] 
fix whitespace changes

8 years agoAdd syncAle() to reduce external ACL format transition problems
Amos Jeffries [Fri, 9 Oct 2015 02:13:00 +0000 (19:13 -0700)] 
Add syncAle() to reduce external ACL format transition problems

8 years ago%ssl::<cert_errors logformat code
Christos Tsantilas [Thu, 8 Oct 2015 17:20:27 +0000 (20:20 +0300)] 
%ssl::<cert_errors logformat code

The new %ssl::<cert_errors logformat code lists server certificate
validation errors detected by Squid (including OpenSSL and the
certificate validation helper components). The errors are listed in
the discovery order. By default, the error codes are separated by ':'.
Custom separators are also supported. For example:

  %{;}ssl::<cert_errors

This is a Measurement Factory project.

8 years agoSet default pid_filename based on service name
Amos Jeffries [Thu, 8 Oct 2015 12:44:41 +0000 (05:44 -0700)] 
Set default pid_filename based on service name

This makes pid_filename directive no longer need to be set explicitly to
the service name in multi-tenant installations. Unless the default value
has been replaced with --with-pidfile=Foo it will use the service name
as the .pid filename.

8 years agoMinor edits after audit
Amos Jeffries [Thu, 8 Oct 2015 12:22:22 +0000 (05:22 -0700)] 
Minor edits after audit

8 years agoMerge from trunk
Amos Jeffries [Sat, 3 Oct 2015 08:28:48 +0000 (01:28 -0700)] 
Merge from trunk

8 years agoMerge from trunk
Amos Jeffries [Sat, 3 Oct 2015 05:36:14 +0000 (22:36 -0700)] 
Merge from trunk

8 years agoUpdate release notes
Amos Jeffries [Sat, 3 Oct 2015 05:35:00 +0000 (22:35 -0700)] 
Update release notes

8 years agoShuffle CA verification config to libsecurity
Amos Jeffries [Sat, 3 Oct 2015 05:26:00 +0000 (22:26 -0700)] 
Shuffle CA verification config to libsecurity

8 years agoAdd shell slash-escaping to libformat quoting types
Amos Jeffries [Fri, 2 Oct 2015 11:52:54 +0000 (04:52 -0700)] 
Add shell slash-escaping to libformat quoting types

Also, replace external_acl::Quoting with Format::Quoting

8 years agodocument ALE new members
Amos Jeffries [Fri, 2 Oct 2015 10:26:15 +0000 (03:26 -0700)] 
document ALE new members

8 years agoUpdate squid.conf text for external_acl_type format
Amos Jeffries [Fri, 2 Oct 2015 09:49:47 +0000 (02:49 -0700)] 
Update squid.conf text for external_acl_type format

8 years agoCleanup various spelling errors
Amos Jeffries [Fri, 2 Oct 2015 04:54:28 +0000 (21:54 -0700)] 
Cleanup various spelling errors

8 years agoURL-encode the implicit %DATA appended to helper format
Amos Jeffries [Thu, 1 Oct 2015 12:58:19 +0000 (05:58 -0700)] 
URL-encode the implicit %DATA appended to helper format

There is nothing we can easily do about %DATA explicitly used inside the
format. It will by non-encoded unless specific encoding is written in the
format config, according to logformat design.

8 years agoIDENT is optional
Amos Jeffries [Thu, 1 Oct 2015 12:51:14 +0000 (05:51 -0700)] 
IDENT is optional

8 years agoDe-duplicate %DATA string creation
Amos Jeffries [Thu, 1 Oct 2015 12:50:47 +0000 (05:50 -0700)] 
De-duplicate %DATA string creation

8 years agoFix potential memory leak on GopherStateData constructor errors
Amos Jeffries [Thu, 1 Oct 2015 12:35:09 +0000 (05:35 -0700)] 
Fix potential memory leak on GopherStateData constructor errors

In the unusual event that the GopherStateData object constructor fails
it is possible that the destructor gets called without having gone
through the deleteThis() and swangSong() dance. Since the constructor
allocates memory buffer we need to clean that up.

 Detected by Coverity Scan. Issue 1318022

8 years agonegotiate_wrapper: fix minor memory leak
Amos Jeffries [Thu, 1 Oct 2015 12:27:28 +0000 (05:27 -0700)] 
negotiate_wrapper: fix minor memory leak

 Detected by Coverity Scan. Issue 1324564

8 years agonegotiate_wrapper: Fix bad pointer comparisons in rev.14290
Amos Jeffries [Thu, 1 Oct 2015 12:22:44 +0000 (05:22 -0700)] 
negotiate_wrapper: Fix bad pointer comparisons in rev.14290

 Detected by Coverity Scan. Issues 1324560132456113245621324563

8 years agoPrep for 3.5.10
Amos Jeffries [Thu, 1 Oct 2015 11:15:09 +0000 (04:15 -0700)] 
Prep for 3.5.10

8 years agoBug 4329: GCC 5.2 no known conversion for argument
Amos Jeffries [Thu, 1 Oct 2015 09:55:47 +0000 (02:55 -0700)] 
Bug 4329: GCC 5.2 no known conversion for argument

8 years agoMerged from trunk rev.14335
Amos Jeffries [Thu, 1 Oct 2015 04:01:13 +0000 (21:01 -0700)] 
Merged from trunk rev.14335

8 years agoBug 4190: assertion 'hash_remove_link' from Auth::User::cacheCleanup
Francesco Chemolli [Thu, 1 Oct 2015 01:20:20 +0000 (18:20 -0700)] 
Bug 4190: assertion 'hash_remove_link' from Auth::User::cacheCleanup

The hash_link based cache depends on raw-ptr key comparisons to store
hash entries. This does not work at all well with SBuf as the key,
since the backing MemBlob behind SBuf can change its memory location.

* replace the implementation of User credentials caching with an STL
  based container class that can handle SBuf.

* revert the global Auth::User cache design to per-scheme caches
  which get combined only when reporting statistics.

* add a RunnersRegistry helper class to control Squid startup,
  reconfigure, and shutdown events activity in regards to the caches.

* suppress useless cache garbage collection events when auth has no
  credentials to cleanup.

* make the cache key dynamic at the caller codes discretion.

8 years agoSourceFormat Enforcement
Source Maintenance [Wed, 30 Sep 2015 18:12:05 +0000 (18:12 +0000)] 
SourceFormat Enforcement

8 years agoConvert htcpDetail to MEMPROXY_CLASS
Francesco Chemolli [Wed, 30 Sep 2015 14:20:16 +0000 (16:20 +0200)] 
Convert htcpDetail to MEMPROXY_CLASS

8 years agoAlign behavior of MEMPROXY_CLASS's operator delete with ::delete on nullptr
Francesco Chemolli [Wed, 30 Sep 2015 14:12:55 +0000 (16:12 +0200)] 
Align behavior of MEMPROXY_CLASS's operator delete with ::delete on nullptr

8 years agoFilledCheclist::rfc931 is an array not a ptr
Amos Jeffries [Wed, 30 Sep 2015 12:11:11 +0000 (05:11 -0700)] 
FilledCheclist::rfc931 is an array not a ptr

8 years agoFix values 'LFT_EXT_ACL_CLIENT_EUI48' and 'LFT_EXT_ACL_CLIENT_EUI64' not handled...
Amos Jeffries [Wed, 30 Sep 2015 10:01:33 +0000 (03:01 -0700)] 
Fix values 'LFT_EXT_ACL_CLIENT_EUI48' and 'LFT_EXT_ACL_CLIENT_EUI64' not handled in switch

8 years agoPolish debugs
Amos Jeffries [Wed, 30 Sep 2015 09:43:08 +0000 (02:43 -0700)] 
Polish debugs

8 years agoMerged from trunk rev.14331
Amos Jeffries [Wed, 30 Sep 2015 09:32:39 +0000 (02:32 -0700)] 
Merged from trunk rev.14331

8 years agodo not bypass hdrCacheInit() when there are no mime headers
Alex Rousskov [Wed, 30 Sep 2015 03:24:39 +0000 (20:24 -0700)] 
do not bypass hdrCacheInit() when there are no mime headers

8 years agoRestore implicit %DATA behaviour
Amos Jeffries [Wed, 30 Sep 2015 03:16:40 +0000 (20:16 -0700)] 
Restore implicit %DATA behaviour

8 years agoInitialize helper query buffer, and SP-delimit tokens
Amos Jeffries [Wed, 30 Sep 2015 02:26:45 +0000 (19:26 -0700)] 
Initialize helper query buffer, and SP-delimit tokens

8 years agoSourceFormat Enforcement
Source Maintenance [Tue, 29 Sep 2015 06:11:55 +0000 (06:11 +0000)] 
SourceFormat Enforcement