]>
git.ipfire.org Git - thirdparty/squid.git/log
Francesco Chemolli [Tue, 22 Sep 2015 12:00:37 +0000 (14:00 +0200)]
Move gperf invocation for RegisteredHeadersHash to source-maintenance.sh
Portability fixes for non-GNU make.
Alex Rousskov [Mon, 21 Sep 2015 18:17:38 +0000 (12:17 -0600)]
eCAP: Return unknown body size for bodies with unknown body sizes.
Previously, unsigned -1 size was returned for those bodies.
Old adapters relying on that buggy behavior will now throw:
!"attempt to use unknown libecap::BodySize size"
Such adapters should check libecap::BodySize::known() before
using the libecap::Body::bodySize() value.
Amos Jeffries [Mon, 21 Sep 2015 14:26:03 +0000 (07:26 -0700)]
Add assigment and move operators to LockingPointer
These operators are required to use LockingPointer instances in STL
containers and unlike TidyPointer the LockingPointer can do them safely
due to the lock preventing premature deletions.
Francesco Chemolli [Mon, 21 Sep 2015 14:02:38 +0000 (16:02 +0200)]
Cleanup: Migrate StoreEntry to using MEMPROXY_CLASS
Francesco Chemolli [Mon, 21 Sep 2015 13:48:18 +0000 (15:48 +0200)]
Implement default constructor for hash_link.
Francesco Chemolli [Mon, 21 Sep 2015 13:19:28 +0000 (15:19 +0200)]
Remove custom pool chunk size for StoreEntry.
As an historic optimization StoreEntry uses a custom pool chunk size of 2MB.
Knowledge of the actual benefits from this optimization has been lost in time,
and it's not possible to accurately measure its actual impact in all load
scenarios; at the same time this optimization is blocking other potentially
useful developments.
This change is therefore considered a potential performance regression in
some load scenarios.
Amos Jeffries [Thu, 17 Sep 2015 23:48:47 +0000 (16:48 -0700)]
negotiate_wrapper: Fix memory leaks
Detected by Coverity Scan. Issues
1324564 ,
1324565 .
Amos Jeffries [Thu, 17 Sep 2015 12:43:20 +0000 (05:43 -0700)]
Prep for 3.5.9
Amos Jeffries [Thu, 17 Sep 2015 12:30:35 +0000 (05:30 -0700)]
ntlm_smb_lm_auth: ignore empty NTresponse field
Christos Tsantilas [Wed, 16 Sep 2015 08:43:18 +0000 (11:43 +0300)]
Bug 4309: Fix the presence of extensions detection in SSL Hello messages
RFC5246 section 7.4.1.3 (Server Hello) says:
The presence of extensions can be detected by determining whether
there are bytes following the compression_method field at the end of
the ServerHello.
Current parsing Hello code checks whether there are bytes in the whole SSL
message. It does not account for the fact that the message may contain more than
just ServerHello.
This patch fixes this issue and try to improve the related code to avoid related
problems in the future.
This is a Measurement Factory project
Christos Tsantilas [Wed, 16 Sep 2015 08:40:32 +0000 (11:40 +0300)]
author: Alex Rousskov <rousskov@measurement-factory.com>
Bug 4309: Squid crashed when Skype login
Do not assume that (char << 8) cannot overflow a short integer.
Be more consistent with storing certificate-related lengths.
Source Maintenance [Mon, 14 Sep 2015 18:11:56 +0000 (18:11 +0000)]
SourceFormat Enforcement
Christos Tsantilas [Mon, 14 Sep 2015 18:02:04 +0000 (21:02 +0300)]
SNI to ICAP via 2nd CONNECT part2
Wrap inside #if USE_OPENSSL/#endif the SSL related code to allow squid build
when openSSL library is disabled.
Christos Tsantilas [Mon, 14 Sep 2015 17:00:19 +0000 (20:00 +0300)]
SNI to ICAP via 2nd CONNECT
When Squid decides to splice a connection in the step2 SSL bumping step
sends a second fake CONNECT request to the ICAP/eCAP for adaptation.
This patch fixes squid to use the SNI information when sending the second
CONNECT request, if it is available.
This is a Measurement Factory project
Amos Jeffries [Mon, 14 Sep 2015 16:25:05 +0000 (09:25 -0700)]
Crypto-NG: replace Ssl::X509_Pointer with Security::CertPointer
* shuffle LockingPointer to libsecurity.la
along with supporting macros in security/forward.h
* add GnuTLS and library agnostic definitions of Security::CertPointer
Amos Jeffries [Fri, 11 Sep 2015 02:24:31 +0000 (19:24 -0700)]
Fix uninitialized members in class HeaderTableRecord
Detected by Coverity Scan. Issues
1323750 ,
1323751
Amos Jeffries [Fri, 11 Sep 2015 02:16:06 +0000 (19:16 -0700)]
Bug 4292: negotiate_wrapper: Unreleased Resources
FILE* handles need to be closed on exit. Shuffle the processing loop logics
to a static function to avoid code duplication from all the requires close
points.
Also, use the available global flag debug_enabled instead of local variable
to avoid having to pass it down explicitly.
Amos Jeffries [Mon, 7 Sep 2015 17:44:33 +0000 (10:44 -0700)]
Bug 4284: missing sanity checks for malloc
Amos Jeffries [Mon, 7 Sep 2015 17:13:58 +0000 (10:13 -0700)]
Bug 3618: ntlm_smb_lm_auth rejects correct passwords
Amos Jeffries [Mon, 7 Sep 2015 10:24:31 +0000 (03:24 -0700)]
negotiate_kerberos_auth: producing empty group= kv-pairs
Source Maintenance [Sun, 6 Sep 2015 00:12:11 +0000 (00:12 +0000)]
SourceFormat Enforcement
Francesco Chemolli [Sat, 5 Sep 2015 18:52:17 +0000 (20:52 +0200)]
Refactor HttpHeader into gperf-generated perfect hash
Francesco Chemolli [Sat, 5 Sep 2015 11:28:21 +0000 (13:28 +0200)]
Implement EnumIterator
Francesco Chemolli [Sat, 5 Sep 2015 11:27:59 +0000 (13:27 +0200)]
Update mk-string-arrays.awk to support c++-style enums
Amos Jeffries [Fri, 4 Sep 2015 19:54:07 +0000 (12:54 -0700)]
Quieten UFS cache maintenance skipped warnings
The maintenance loop cycles once per second. On long DIRTY cache rebuilds
this can reult in a lot of log mesages at level 1.
* reduce the messages to L=3 except once per minute allow one at L=1
* perform the under-size limit check first to allow completely silent
skipping when no maintenance would have taken place anyway.
Amos Jeffries [Wed, 2 Sep 2015 14:17:07 +0000 (07:17 -0700)]
Fix CONNECT request debugging 11,2 traces
Using the MemBuf::buf directly is not great, but it does have a properly
terminated c-string in this instance. We cannot use Raw() interface
because that is for output at DBG_DATA levels and will only display the
buffer name as if that was the raw traffic bytes at 11,2.
Which negates the entire purpose of this 11,2 output.
Amos Jeffries [Wed, 2 Sep 2015 02:20:45 +0000 (19:20 -0700)]
Update release script after rev.14240
Amos Jeffries [Tue, 1 Sep 2015 19:32:54 +0000 (12:32 -0700)]
Prep for 3.5.8
Alex Rousskov [Tue, 1 Sep 2015 09:07:03 +0000 (02:07 -0700)]
Support splice for SSLv3 and TLSv1 sessions that start with an SSLv2 Hello
Such sessions are created, for example, by some SSL clients using OpenSSL
v0.9.8 with default options. This does _not_ re-enable SSLv2 sessions.
Just enacts the permitted exception for Hello messages in RFC 6176
Amos Jeffries [Mon, 31 Aug 2015 13:59:41 +0000 (06:59 -0700)]
SourceLayout: rename fs/rock/RockForward.h to fs/rock/forward.h
To bring in line with layout guidelines.
Amos Jeffries [Mon, 31 Aug 2015 13:58:48 +0000 (06:58 -0700)]
Missing piece of rev.14275
Francesco Chemolli [Mon, 31 Aug 2015 09:58:00 +0000 (11:58 +0200)]
Merge cleanups branch: split most of typedefs.h
Amos Jeffries [Mon, 31 Aug 2015 09:38:51 +0000 (02:38 -0700)]
Packable API: Rename StoreEntryStream to PackableStream
PackableStream has some implicit new properties different from
the original StoreEntryStream type:
* lack of Store.h dependency
* ability to stream into a MemBuf if its creator desires that
Meaning PackableStream can be used in a wider range of the code
without increasing library dependencies.
Francesco Chemolli [Mon, 31 Aug 2015 09:20:20 +0000 (11:20 +0200)]
Fix some comments
Francesco Chemolli [Mon, 31 Aug 2015 09:16:27 +0000 (11:16 +0200)]
Source maintenance
Francesco Chemolli [Mon, 31 Aug 2015 08:01:10 +0000 (10:01 +0200)]
Audit round 2
Francesco Chemolli [Mon, 31 Aug 2015 07:34:35 +0000 (09:34 +0200)]
Merged from trunk
Francesco Chemolli [Mon, 31 Aug 2015 06:17:22 +0000 (08:17 +0200)]
Audit round
Amos Jeffries [Sun, 30 Aug 2015 20:36:48 +0000 (13:36 -0700)]
Fix regression in rev.14268
My bad cut-n-paste resulted in wrong locking sequence.
Fixing that reveals that the validity check on the return
result triggers cases of cbdata 'locks > 0' assertions.
The validity test is not currently needed by the fastCheck
code which preserves the value. So removing for now.
Francesco Chemolli [Sun, 30 Aug 2015 16:56:24 +0000 (18:56 +0200)]
Revert enum-related changes
Francesco Chemolli [Sun, 30 Aug 2015 02:07:21 +0000 (04:07 +0200)]
Merged from trunk
Amos Jeffries [Sun, 30 Aug 2015 01:07:47 +0000 (18:07 -0700)]
Docs: update arp ACL text
Amos Jeffries [Sun, 30 Aug 2015 00:26:47 +0000 (17:26 -0700)]
SourceLayout: shuffle kb_t to ByteCounter in libbase
Also, move kb_incr() logic to ByteCounter operator +=
There are no logic changes in this patch.
Francesco Chemolli [Sat, 29 Aug 2015 23:57:45 +0000 (01:57 +0200)]
Rename lowSBufHash to SBufHashCommon_
Amos Jeffries [Sat, 29 Aug 2015 18:01:56 +0000 (11:01 -0700)]
Increase UFS removal rate to 300/s
... by request of testers who report 250+ as better for current high
performance traffic needs.
Alex Rousskov [Sat, 29 Aug 2015 17:59:28 +0000 (10:59 -0700)]
Better alternative to rev.14267
Encapsulate the accessList pointer change logic so that it can be kept
consistent and CBDATA operations are not exposed to callers.
Francesco Chemolli [Sat, 29 Aug 2015 16:56:11 +0000 (18:56 +0200)]
Add missing forward declaration of StoreEntry in errorpage.h
Francesco Chemolli [Sat, 29 Aug 2015 15:39:13 +0000 (17:39 +0200)]
Added missing forward declaration in errorpage.h
Francesco Chemolli [Sat, 29 Aug 2015 08:06:21 +0000 (10:06 +0200)]
Fix Makefile.am to include fs/forward.h where needed
Francesco Chemolli [Sat, 29 Aug 2015 07:57:35 +0000 (09:57 +0200)]
Move store_client_t from enums.h to Store.h
Francesco Chemolli [Fri, 28 Aug 2015 22:28:04 +0000 (00:28 +0200)]
Moved mem_status_t and store_status_t to Store.h
Francesco Chemolli [Fri, 28 Aug 2015 20:52:14 +0000 (22:52 +0200)]
Moved fd_type, FD_READ, FD_WRITE from enums.h to fd.h
Francesco Chemolli [Fri, 28 Aug 2015 20:51:08 +0000 (22:51 +0200)]
Remove no longer needed includes of typedefs.h
Francesco Chemolli [Fri, 28 Aug 2015 20:50:41 +0000 (22:50 +0200)]
Remove no longer needed includes of typedefs.h
Francesco Chemolli [Fri, 28 Aug 2015 20:11:03 +0000 (22:11 +0200)]
Removed useless StoreEntry forward declaration in typedefs.h
Francesco Chemolli [Fri, 28 Aug 2015 20:03:05 +0000 (22:03 +0200)]
Moved cache_key from typedefs.h to store_key_md5.h
Francesco Chemolli [Fri, 28 Aug 2015 19:14:45 +0000 (21:14 +0200)]
Removed unused statefulhelper::IsAvailable and OnEmptyQueue and related typedefs and code
Francesco Chemolli [Fri, 28 Aug 2015 19:01:03 +0000 (21:01 +0200)]
Move STABH from typedefs.h to MemObject.h
Francesco Chemolli [Fri, 28 Aug 2015 18:48:31 +0000 (20:48 +0200)]
Removed useless QS declaration
Francesco Chemolli [Fri, 28 Aug 2015 18:42:11 +0000 (20:42 +0200)]
Moved READ_HANDLER from typedefs.h to fde.h
Francesco Chemolli [Fri, 28 Aug 2015 18:31:13 +0000 (20:31 +0200)]
Removed unused definition of UH
Francesco Chemolli [Fri, 28 Aug 2015 18:29:16 +0000 (20:29 +0200)]
Moved time_msec_t from typedefs.h to SquidTime.h
Francesco Chemolli [Fri, 28 Aug 2015 18:11:54 +0000 (20:11 +0200)]
Moved mb_size_t from typedefs.h to MemBuf.h
Francesco Chemolli [Fri, 28 Aug 2015 18:02:41 +0000 (20:02 +0200)]
Moved FQDNH declaration from typedefs.h to fqdncache.h
Francesco Chemolli [Fri, 28 Aug 2015 15:16:42 +0000 (17:16 +0200)]
Move PF declaration from typedefs.h to comm/forward.h
Francesco Chemolli [Fri, 28 Aug 2015 14:43:37 +0000 (16:43 +0200)]
Moved FREE declaration from typedefs.h to mem/forward.h
Francesco Chemolli [Fri, 28 Aug 2015 13:58:29 +0000 (15:58 +0200)]
Moved snmp-related variable_list from typedefs.h to snmp_core.h
Francesco Chemolli [Fri, 28 Aug 2015 13:31:03 +0000 (15:31 +0200)]
Move nfmark_t and tos_t declarations to ip/forward.h
Amos Jeffries [Fri, 28 Aug 2015 13:20:53 +0000 (06:20 -0700)]
Bug 3696: crash when client delay pools are activated
Francesco Chemolli [Fri, 28 Aug 2015 12:28:07 +0000 (14:28 +0200)]
Moved sfileno and sdirno from typedefs.h to fs/forward.h
Francesco Chemolli [Fri, 28 Aug 2015 09:57:38 +0000 (11:57 +0200)]
Removed unused CommWriteStateData and fde::wstate
Francesco Chemolli [Fri, 28 Aug 2015 09:12:49 +0000 (11:12 +0200)]
Merged from trunk
Francesco Chemolli [Fri, 28 Aug 2015 08:26:26 +0000 (10:26 +0200)]
moved HLPSONEQ and HLPSAVAIL from typedefs.h to helper.h, SIGHDLR to tools.h, STDIRSELECT to SwapDir.h and removed unused STVLDCB HLPCMDOPTS
Amos Jeffries [Thu, 27 Aug 2015 21:44:42 +0000 (14:44 -0700)]
SourceLayout: shuffle MemMeter into libmem and Mem:: namespace
* move the memMeter.h file to src/mem/Meter.h
* move the helper #define macros logic to class members
* provide accessors to make all class members private
There are no logic changes in this patch.
Francesco Chemolli [Thu, 27 Aug 2015 16:53:12 +0000 (18:53 +0200)]
Moved typedefs.h:WRITE_HANDLER to fde.h, and ERCB to errorpage.h
Francesco Chemolli [Thu, 27 Aug 2015 16:46:02 +0000 (18:46 +0200)]
Remove unnecessary typedefs.h:DOCB, DCCB, DUCB
Francesco Chemolli [Thu, 27 Aug 2015 16:34:23 +0000 (18:34 +0200)]
Remove unnecessary typedefs.h:DTCB
Francesco Chemolli [Thu, 27 Aug 2015 16:12:53 +0000 (18:12 +0200)]
Remove unneeded typedefs.h:FOCB
Patrick Welche [Thu, 27 Aug 2015 08:06:38 +0000 (01:06 -0700)]
Bug 4306: build portability fix in Kerberos helpers
Amos Jeffries [Wed, 26 Aug 2015 17:51:18 +0000 (10:51 -0700)]
Bug 3553: cache_swap_high ignored and maxCapacity used instead
Also, to make matters worse the amount of objects (max 70) being purged on
each of the 1-second maintenance loops was far too small for the traffic
speeds of up to 20k RPS now being processed by proxies.
This fixes the cache_swap_high behaviour to closer match what is documented
at present, although some documentatino does say it cleans all the way down
to the low-water mark. Which appears never to have been true in regards to
one cycle but would occur over several of the proxy speed was not too high.
With this updated algorithm there is almost no limit to how far the
aggressiveness can scale, but it is linear at 200 objects per multiple of the
gap between low- and high- watermark.
SwapDir::maintain is now fairly well documented and debug traces added. With
several TODO ideas for future improvement also documented in the method code.
Francesco Chemolli [Wed, 26 Aug 2015 15:32:31 +0000 (17:32 +0200)]
Revert c++11 override keyword detection support
Francesco Chemolli [Wed, 26 Aug 2015 14:20:57 +0000 (16:20 +0200)]
Implement and use detection of compiler support for c++11 override keyword
Amos Jeffries [Wed, 26 Aug 2015 13:53:33 +0000 (06:53 -0700)]
Docs: release notes update for C++11 compilers
Intel ICC sadly does not meet the 'full C++11 support' claim:
/usr/include/c++/4.8.2/tuple(1075): error: "pair" is not a nonstatic data
member or base class of class "std::pair<T, Base>"
Amos Jeffries [Wed, 26 Aug 2015 10:05:35 +0000 (03:05 -0700)]
Remove GCC 2.x and 3.x detection and support
C++11 support is now required and the detection for that should error
far more nicely for these old compilers than these $GCCVER hacks
Francesco Chemolli [Wed, 26 Aug 2015 09:14:13 +0000 (11:14 +0200)]
Fix leftover issues in some Makefile.am files
Amos Jeffries [Tue, 25 Aug 2015 15:57:55 +0000 (08:57 -0700)]
Fix initializer list of STUB MemPools in stub_libmem
Keeps coverity a bit happier about Issue
1318027
Amos Jeffries [Tue, 25 Aug 2015 15:04:22 +0000 (08:04 -0700)]
Revert extra changes in rev.14254
Francesco Chemolli [Tue, 25 Aug 2015 14:36:54 +0000 (16:36 +0200)]
Portability fix: detect c++11 random support and implement fallbacks if not available
Amos Jeffries [Tue, 25 Aug 2015 14:19:26 +0000 (07:19 -0700)]
Maintenance: remove unused mk-globals-c.pl script
Amos Jeffries [Tue, 25 Aug 2015 14:10:22 +0000 (07:10 -0700)]
Maintenance: remove unused mk-string-arrays.pl script
Amos Jeffries [Tue, 25 Aug 2015 14:02:52 +0000 (07:02 -0700)]
Docs: dist HTML not SGML copy
Francesco Chemolli [Tue, 25 Aug 2015 13:36:13 +0000 (15:36 +0200)]
Fix src/icmp/Makefile.am
Amos Jeffries [Tue, 25 Aug 2015 12:51:31 +0000 (05:51 -0700)]
Fix memory leak in Surrogate-Capability header detection
Detected by Coverity Scan. Issue
1318023
Francesco Chemolli [Tue, 25 Aug 2015 11:11:23 +0000 (13:11 +0200)]
Portability fix: better support for BSD make
Amos Jeffries [Tue, 25 Aug 2015 10:47:14 +0000 (03:47 -0700)]
Docs: fix automake -j on release notes
Alex Rousskov [Mon, 24 Aug 2015 21:07:31 +0000 (15:07 -0600)]
When a RESPMOD service aborts, mark the body it produced as truncated.
Without these changes, the recipient of the truncated body often
cannot tell that the body was actually truncated (e.g., when Squid
uses chunked encoding for body delivery). Lying about truncation
may result in rather serious user-level problems.
Amos Jeffries [Mon, 24 Aug 2015 18:36:20 +0000 (11:36 -0700)]
Docs: fix HTML tags in release notes
Source Maintenance [Mon, 24 Aug 2015 18:12:00 +0000 (18:12 +0000)]
SourceFormat Enforcement
Francesco Chemolli [Mon, 24 Aug 2015 17:53:25 +0000 (19:53 +0200)]
mempools-nozero part 4: do not zero out MEMPROXY_CLASS pools
Francesco Chemolli [Mon, 24 Aug 2015 17:49:50 +0000 (19:49 +0200)]
mempools-nozero part 3: debug
Make Debug::OutStream to be a MEMPROXY_CLASS user, rather than rolling own
operator new and delete.