]> git.ipfire.org Git - thirdparty/squid.git/log
thirdparty/squid.git
12 years agoNo-lookup DNS ACLs
Christos Tsantilas [Sun, 27 Jan 2013 17:35:07 +0000 (19:35 +0200)] 
No-lookup DNS ACLs

Currently, dst, dstdom, dstdom_regex (and other?) DNS-related ACLs do DNS
lookups if such a lookup is needed to convert an IP address into a domain name
or vice versa. This creates two kinds of problems:

 - It is difficult to identify requests that use raw IP addresses in Request-URI
   or Host headers. One would have to use something like url_regex and possibly
   req_header to identify those before using dst ACLs to match the request
   destination against a known IP subnet. IPv6 would only make this harder.

 - It is difficult to use dst* ACLs in options that support fast ACLs only.
   If an async lookup is required, the answer will be unpredictable (now)
   or DUNNO (when the ACL bugs are fixed), possibly with warnings and other
   complications.

This patch adds a -n option to dst, dstdom, dstdom_regex and other DNS-related
ACLs. The option disable lookups and address type conversions. If lookup or
conversion is required because the parameter type (IP or domain name) does not
match the message address type (domain name or IP), then the ACL with a -n
option would immediately declare a mismatch without any warnings or lookups.

The "--" option can be used to stop processing all options, in the case the
first acl value has '-' character as first character (for example the '-' is
a valid domain name)

For example:

    # Matches requests with full URI host set to localhost
    # but not requests with full URI host set to 127.0.0.1
    acl toLocalRawName dstdom -n localhost
    http_access allow toLocalRawName

    # Use -- option to stop processing flags
    acl AnACL dst_domain -n -- -cream-and-sugar.tumblr.com

    # Matches requests with full URI host set to 127.0.0.1
    # but not requests with full URI host set to localhost
    acl toLocalRawIp dst -n 127.0.0.1/32
    cache_peer_access peer1 allow toLocalRawIp

Please note that -n prohibits lookups in Squid's DNS caches as well.

This is a Measurement Factory project

12 years agoPolish: complete constructor for class DelayBucket
Amos Jeffries [Sat, 26 Jan 2013 12:46:05 +0000 (05:46 -0700)] 
Polish: complete constructor for class DelayBucket

 Detected by Coverity Scan. Issues 740508, 740509

12 years agoBug 3687: unhandled exception: c when using interception and peers
Amos Jeffries [Sat, 26 Jan 2013 00:09:02 +0000 (17:09 -0700)] 
Bug 3687: unhandled exception: c when using interception and peers

12 years agoPolish: document unix_group helper
Amos Jeffries [Fri, 25 Jan 2013 23:53:17 +0000 (16:53 -0700)] 
Polish: document unix_group helper

12 years agoFix NULL-dereference added in rev.12611
Amos Jeffries [Fri, 25 Jan 2013 23:44:49 +0000 (16:44 -0700)] 
Fix NULL-dereference added in rev.12611

* strto*() may be called without a value parameter when used simply to
  verify the content of a string is a valid conversion.

  Detected by Coverity Scan. Issue 970939.

12 years agoRefactor type of some flags to bool
Francesco Chemolli [Fri, 25 Jan 2013 16:53:16 +0000 (17:53 +0100)] 
Refactor type of some flags to bool

Affected classes: StoreClient, mem_node, AclUserData, AclMaxUserIp,
Auth::Digest::UserRequest, digest_nonce_h

12 years agoTurn flags in CachePeer class into proper bool type.
Francesco Chemolli [Fri, 25 Jan 2013 16:01:16 +0000 (17:01 +0100)] 
Turn flags in CachePeer class into proper bool type.

12 years agoPolish: initialize the main PortCfg pointers
Amos Jeffries [Fri, 25 Jan 2013 10:52:46 +0000 (03:52 -0700)] 
Polish: initialize the main PortCfg pointers

* Only the main pointers for now, the rest can wait on some additional
  cleanup patches undergoing testing.

 Fixes defects detected by Coverity Scan. Issue 740501 and some of 740535

12 years agoPolish: complete Digest authentication constructors
Amos Jeffries [Fri, 25 Jan 2013 09:09:52 +0000 (02:09 -0700)] 
Polish: complete Digest authentication constructors

* update several Digest auth constructors to fully initialize
   their fields.

* Also, fix one segmentation fault at level 9 debug in Digest auth.

  Detected by Coverity Scan. Issues 740536, 740537, 740366.

12 years agoPolish squid.conf parsing validation
Tianyin Xu [Fri, 25 Jan 2013 01:26:21 +0000 (18:26 -0700)] 
Polish squid.conf parsing validation

* Updates ato*() functiosn to safer xato*() alternatives provided by
  the Squid compat library. Along with error messages on invalid
  configuration values detected by these.

* Add protection against integer overflow on most options

* Add parse deprecation messages on enable/disable for boolean and
  and trilean options.

* Add 'wrong-value' error messages on most options.

12 years agoBug 3111: Mid-term fix for the forward.cc "err" assertion.
Alex Rousskov [Thu, 24 Jan 2013 16:22:45 +0000 (09:22 -0700)] 
Bug 3111: Mid-term fix for the forward.cc "err" assertion.

The assert is triggered when a close handler for the server connection
destroys FwdState before we have received anything from the origin server.
Instead of asserting, we now respond with a 502 (Bad Gateway) ERR_READ_ERROR.

That error seems the most appropriate single choice among available ones, but
it may be misleading (in access.log) when the close handler was called due to
client problems. Hopefully, another error will be logged in most of those
cases.

12 years agoPropagate pinned connection persistency and closures to the client.
Christos Tsantilas [Thu, 24 Jan 2013 10:26:24 +0000 (12:26 +0200)] 
Propagate pinned connection persistency and closures to the client.

Squid was trying hard to forward a request after pinned connection failures
because some of those failures were benign pconn races. That meant re-pinning
failed connections. After a few iterations to correctly handle non-idempotent
requests, the code appeared to work, but the final design, with all the added
complexity and related dangers was deemed inferior to the approach we use now.

Squid now simply propagates connection closures (including pconn races) to the
client. It is now the client responsibility not to send non-idempotent requests
on idle persistent connections and to recover from pconn races.

Squid also propagates HTTP connection persistency indicators from client to
server and back, to make client job feasible. Squid will send Connection:close
and will close the client connection if the pinned server says so, even if
Squid could still maintain a persistent connection with the client.

These changes are not mean to affect regular (not pinned) transactions.

In access.log, one can detect requests that were not responded to (due to race
conditions on pinned connections) by searching for ERR_ZERO_SIZE_OBJECT
%err_code with TCP_MISS/000 status and zero response bytes.

This is a Measurement Factory project.

12 years agoUnshadow variables in ssl/certificate_db.cc
Francesco Chemolli [Wed, 23 Jan 2013 17:36:25 +0000 (18:36 +0100)] 
Unshadow variables in ssl/certificate_db.cc

12 years agoProperly clean up members in UFSSwapDir.
Francesco Chemolli [Wed, 23 Jan 2013 16:25:51 +0000 (17:25 +0100)] 
Properly clean up members in UFSSwapDir.

Coverity Scan issue nr. 740338

12 years agoRemove unused variable in client_side.cc
Francesco Chemolli [Wed, 23 Jan 2013 16:23:36 +0000 (17:23 +0100)] 
Remove unused variable in client_side.cc

Detected by Coverity Scan. Issue 740595.

12 years agoBug 3676: librfcnb: Fix Shadowed variables
Amos Jeffries [Wed, 23 Jan 2013 10:38:46 +0000 (03:38 -0700)] 
Bug 3676: librfcnb: Fix Shadowed variables

12 years agoBug 3676: Fix Shadowed variables
Amos Jeffries [Tue, 22 Jan 2013 11:33:57 +0000 (00:33 +1300)] 
Bug 3676: Fix Shadowed variables

This resolves a number more shadowed variables found by the more strict
compilers in the layer-02-maximus optional components.
There should be no logic changes in this patch.

12 years agoDocument HIT ravalidation choices
Amos Jeffries [Tue, 22 Jan 2013 07:30:32 +0000 (20:30 +1300)] 
Document HIT ravalidation choices

This adds cache.log entries at level 88,3 detailing the decisions why to
convert a HIT into a MISS or REFRESH response. Resolving a users FAQ.

12 years agoBug 3676: Add compiler check for Shadowed variables
Amos Jeffries [Tue, 22 Jan 2013 06:29:59 +0000 (19:29 +1300)] 
Bug 3676: Add compiler check for Shadowed variables

12 years agoBug 3735: raw-IPv6 domain URLs crash if IPv6-disabled
Amos Jeffries [Tue, 22 Jan 2013 05:32:48 +0000 (18:32 +1300)] 
Bug 3735: raw-IPv6 domain URLs crash if IPv6-disabled

12 years agoSupport OpenSSL NO_Compression option
Sebastien Wenske [Tue, 22 Jan 2013 05:00:02 +0000 (22:00 -0700)] 
Support OpenSSL NO_Compression option

This option tells OpenSSL to disable TLS compression. A recent version
of OpenSSL library is required for this option to be available

12 years agoRelease Notes for 3.4
Amos Jeffries [Mon, 21 Jan 2013 10:57:02 +0000 (03:57 -0700)] 
Release Notes for 3.4

12 years agoBug 3676: Fix Shadowed variables
Amos Jeffries [Mon, 21 Jan 2013 08:15:06 +0000 (21:15 +1300)] 
Bug 3676: Fix Shadowed variables

This resolves some more shadowed variables by renaming. Allowing Squid to
build clean with -Wshadow. There should be no logic changes in this patch.

12 years agoRelease Notes: remove 3.3 HTML notes from 3.HEAD
Amos Jeffries [Mon, 21 Jan 2013 07:24:58 +0000 (20:24 +1300)] 
Release Notes: remove 3.3 HTML notes from 3.HEAD

12 years agoBug 3676: Fix Shadowed variables
Amos Jeffries [Mon, 21 Jan 2013 07:15:09 +0000 (20:15 +1300)] 
Bug 3676: Fix Shadowed variables

This resolves a number more shadowed variables by renaming.
There should be no logic changes in this patch.

12 years agoCompleted StoreIOState constructor, changed some flags to bool type
Francesco Chemolli [Sun, 20 Jan 2013 21:25:52 +0000 (22:25 +0100)] 
Completed StoreIOState constructor, changed some flags to bool type

12 years agoPolish: zero-initialize WCCPv2 security object
Amos Jeffries [Sun, 20 Jan 2013 04:37:30 +0000 (21:37 -0700)] 
Polish: zero-initialize WCCPv2 security object

Most of the objects fields are initialized later individually and the
rest SHOULD not matter. But it is better to be safe than sorry in this
area.

 Detected by Coverity Scan. Issue 740505.

12 years agosquidpurge: polish debug -d option handling
Amos Jeffries [Sun, 20 Jan 2013 02:01:16 +0000 (19:01 -0700)] 
squidpurge: polish debug -d option handling

Parsing of the -d option parameter was severaly broken with an inverted
NULL check resulting in segfaul whenever a level was supplied.

Also, add validation that out-of-range values cannot be supplied and
document in the help that this is a mask value, not just a number.

 Detected by Coverity Scan. Issue 740378.

12 years agoBug 3567: Memory leak handling malformed requests
Amos Jeffries [Fri, 18 Jan 2013 05:57:22 +0000 (22:57 -0700)] 
Bug 3567: Memory leak handling malformed requests

12 years agosquidpurge: Polish details of what filename is generated from
Amos Jeffries [Wed, 16 Jan 2013 11:49:51 +0000 (00:49 +1300)] 
squidpurge: Polish details of what filename is generated from

* change strlen(url) to strlen(ptrt) since the string under ptr is being
  added to filename, not the whole URL.

* also add a few extra magic bytes to make it clear that there is space
  for delimiters and termination bytes. These were previously hidden as
  extra bytes in the URL prefix length.

Should resolve Coverity Scan false positive issue 740414

12 years agosquidpurge: display friendly errors on missing command line options
Amos Jeffries [Wed, 16 Jan 2013 11:22:25 +0000 (00:22 +1300)] 
squidpurge: display friendly errors on missing command line options

Currently the tool will crash with a segmentation fault if any one of
several command switches which are expected to have a mandatory argument
are in fact followed by nothing.
 Detect these cases and display a message about what is missing.

 Detected by Coverity Scan. Issue 740378

12 years agoFix missing include in rev.12588
Amos Jeffries [Wed, 16 Jan 2013 10:35:54 +0000 (23:35 +1300)] 
Fix missing include in rev.12588

12 years agoFix ConnOpener IPv6 awareness
Amos Jeffries [Wed, 16 Jan 2013 07:30:47 +0000 (20:30 +1300)] 
Fix ConnOpener IPv6 awareness

When updating IPv6 support for split-stack one USE_IPV6 wrapper was
omitted conversion to the EnabledIpv6 stack auto-detect mechanism.
This resulted in IPv6 addresses being mis-converted on split-stack
systems or with IPv6 disabled in the kernel and --enable-ipv6 built.

The visible symptom is "assert(FALSE)" in Ip::Address::GetAddrInfo().

12 years agoSourceFormat Enforcement
Automatic source maintenance [Tue, 15 Jan 2013 01:13:22 +0000 (18:13 -0700)] 
SourceFormat Enforcement

12 years agoInitialize mem_node fully
Amos Jeffries [Tue, 15 Jan 2013 01:01:30 +0000 (18:01 -0700)] 
Initialize mem_node fully

Experience in squid-2.7 shows that with MemPools use of malloc instead
of calloc mem_node requires full initialization in order to get accurate
memory accounting.

Also closes Coverity Scan defect issue 740573.

12 years agoFix constructor order in rev.12582
Amos Jeffries [Mon, 14 Jan 2013 11:44:31 +0000 (04:44 -0700)] 
Fix constructor order in rev.12582

12 years agoPolish NULL detection in SNMP
Amos Jeffries [Mon, 14 Jan 2013 10:00:45 +0000 (03:00 -0700)] 
Polish NULL detection in SNMP

* Several places were ignoring the possibility that pointers may be NULL

  Detected by Coverity Scan. Issues 434107, 740455

12 years agoFix typo in rev.12582
Amos Jeffries [Mon, 14 Jan 2013 09:35:11 +0000 (02:35 -0700)] 
Fix typo in rev.12582

12 years agoPolish constructor initialization for StoreEntry
Amos Jeffries [Mon, 14 Jan 2013 06:55:34 +0000 (23:55 -0700)] 
Polish constructor initialization for StoreEntry

  Detected by Coverity Scan. Issues 740577, 740578

12 years agoMemPools: remove zero on allocate (calloc) from some pool types
Amos Jeffries [Mon, 14 Jan 2013 05:01:04 +0000 (22:01 -0700)] 
MemPools: remove zero on allocate (calloc) from some pool types

As we are closing defects identified by Coverity and improving
constructors everywhere we are creating a minor anti-pattern in
MemPool'ed objects with calloc() in the pool initializing the memory
then constructors re-initializing it in a better way for that object.

MemPools contains a doZeroOnPush flag to optimize performance by removing
use of memset() as chunks are added back into the pool. However, on
closer inspection it is clear that the following pop() process to re-use
those chunks is never performing memset() anyway. As such I believe that
there is no special need to use calloc() on these particular object types
in the first place.

Update MemPools to use malloc() instead of calloc() on all types with
doZeroOnPush set. This should increase performance a little, and allows
us to remove the anti-pattern by setting doZeroOnPush for more objects
as we can verify they are correctly initialized by their constructors.

12 years agoFix signed/unsigned error in rev.12573
Amos Jeffries [Sun, 13 Jan 2013 06:59:55 +0000 (19:59 +1300)] 
Fix signed/unsigned error in rev.12573

12 years agoSourceFormat Enforcement
Automatic source maintenance [Sun, 13 Jan 2013 01:13:10 +0000 (18:13 -0700)] 
SourceFormat Enforcement

12 years agoFix "address.GetPort() != 0" assertion for helpers on FreeBSD (at least).
Alex Rousskov [Sat, 12 Jan 2013 18:34:10 +0000 (11:34 -0700)] 
Fix "address.GetPort() != 0" assertion for helpers on FreeBSD (at least).

The order (or set of?) #include files used by src/ssl/helper.cc (and
probably by other helper source files) has changed recently, exposing a
defines.h dependency on sys/socket.h where that system header is
required to define AF_UNIX. With AF_UNIX incorrectly undefined,
IPC_STREAM was set to IPC_TCP_SOCKET instead of IPC_UNIX_STREAM, and
helpers that do not have a notion of a listening port, were trying to
create communication sockets using TCP streams, triggering a "must have
a port" assertion in comm_connect_addr() called from ipcCreate().

TODO: Moving IPC_* defines into an IPC-specific header file may be a
better solution then exposing all defines.h users to sys/socket.h.

12 years agoFix typo in rev.12573
Amos Jeffries [Sat, 12 Jan 2013 10:06:24 +0000 (03:06 -0700)] 
Fix typo in rev.12573

12 years agoBug 3736: Floating point exception due to divide by zero
Tianyin Xu [Sat, 12 Jan 2013 09:53:15 +0000 (02:53 -0700)] 
Bug 3736: Floating point exception due to divide by zero

12 years agoPolish debug messages on Path MTU discovery on client connections
Amos Jeffries [Fri, 11 Jan 2013 10:02:21 +0000 (03:02 -0700)] 
Polish debug messages on Path MTU discovery on client connections

* Display errors when PMTUd disable operation fails

* Correct debug message about PMTUd support being absent

 Detected by Coverity Scan. Issue 740319

12 years agoext_unix_group_acl: remove useless check for NULL
Amos Jeffries [Fri, 11 Jan 2013 06:31:01 +0000 (23:31 -0700)] 
ext_unix_group_acl: remove useless check for NULL

* the string in p is checked for NULL prior to being assigned to user
  there is no need to check it twice and doing so confuses Coverity.

 Detected by Coverity Scan. Issue 740451.

12 years agoWCCP: Fix memory leak in mask assignment, improve debuggsing.
Amos Jeffries [Fri, 11 Jan 2013 05:05:52 +0000 (22:05 -0700)] 
WCCP: Fix memory leak in mask assignment, improve debuggsing.

* Release temporary weight array allocated on each HERE_I_AM packet sent
  by Squid. For mask assignment these were not released properly and may
  build up to a significant size of memory over time.

* Add debug traces to send() events to report failures sending packets

* Also, on HERE_I_AM event send() failure, reduce the timeout to 2sec
  for the retry in a crude attempt to prevent router state flapping.

* Silence compiler warnings on use of connect() to disconnect a socket.
  Inconsistent OS behaviour makes the result useless in this case.

 Detected by Coverity Scan. Issues 740329, 740330, 740331, 740332,
    740333, 740441.

12 years agoPolish quick_abort feature decision code
Amos Jeffries [Fri, 11 Jan 2013 04:03:33 +0000 (21:03 -0700)] 
Polish quick_abort feature decision code

Also, fixes a defect identified by Coverity Scan issues 740376, 740456

12 years agoFix clang compile error in acl/Gadgets.h
Amos Jeffries [Thu, 10 Jan 2013 01:00:54 +0000 (14:00 +1300)] 
Fix clang compile error in acl/Gadgets.h

Since rev.12562 dlink_list is a class not a struct.

Detected by Squi dbuild farm FreeBSD 9.x node.

12 years agoFix memory leak in IP address unit test
Amos Jeffries [Wed, 9 Jan 2013 00:42:25 +0000 (17:42 -0700)] 
Fix memory leak in IP address unit test

Another failure to call FreeAddrInfo() after calling GetAddrInfo().

 Detected by Coverity Scan. Issue 740438.

12 years agoPrep for 3.1.23, 3.2.6, 3.3.0.3
Amos Jeffries [Wed, 9 Jan 2013 00:22:17 +0000 (17:22 -0700)] 
Prep for 3.1.23, 3.2.6, 3.3.0.3

12 years agoBug 3731: use 'int' on all systems settign TOS value.
Amos Jeffries [Tue, 8 Jan 2013 23:51:02 +0000 (16:51 -0700)] 
Bug 3731: use 'int' on all systems settign TOS value.

FreeBSD is confirmed erroring out on 8-bit variable size. Other BSD are
documented in a way that implies they do as well, although not at this
stage confirmed to be failing.
 Linux seems to be the only confirmed system workign with 8-bit size sent
to setsockopt(). So we revert this to 'int' (32-bit or 64-bit) as was
working in Squid 3.1.

12 years agoAnother piece of SQUID-2012:1
Eygene Ryabinkin [Tue, 8 Jan 2013 22:39:29 +0000 (15:39 -0700)] 
Another piece of SQUID-2012:1

12 years agosquidpurge: ensure PURGE repsonse buffer is terminated
Amos Jeffries [Sat, 5 Jan 2013 08:14:46 +0000 (01:14 -0700)] 
squidpurge: ensure PURGE repsonse buffer is terminated

 Detected by Coverity Scan. Issue 965807.

Also, additional validation check for issue 740488

12 years agoBug 3676: Fix various shadowed variables
Amos Jeffries [Wed, 2 Jan 2013 23:40:49 +0000 (12:40 +1300)] 
Bug 3676: Fix various shadowed variables

Also, fixes logformat dumper to output 'logformat' instead of 'format'.
'format' directive is the planned future name but is not yet parsed.

 Detected by GCC 4.7 with -Wshadow

12 years agoFixed SMP cache mgr request handling.
Alex Rousskov [Wed, 2 Jan 2013 18:50:24 +0000 (11:50 -0700)] 
Fixed SMP cache mgr request handling.

Coordinator could not successfully parse any SMP cache manager request since
r12410 "Polish: Http::MethodType upgrade" because the parsing code assumed the
presence of the request method ID field that was no longer added by the
request packing code.

12 years agoBug 3676: fix shadowed variable in negotiate_wrapper
Amos Jeffries [Wed, 2 Jan 2013 11:09:45 +0000 (00:09 +1300)] 
Bug 3676: fix shadowed variable in negotiate_wrapper

Detected by GCC 4.7 with -Wshadow

12 years agoFix initialization of helper and doubly-linked list objects
Amos Jeffries [Wed, 2 Jan 2013 03:16:45 +0000 (20:16 -0700)] 
Fix initialization of helper and doubly-linked list objects

  Detected by Coverity Scan. Issue 740565.

12 years agolibacl: Fix various issues in ASN and random ACL types
Amos Jeffries [Wed, 2 Jan 2013 00:42:43 +0000 (17:42 -0700)] 
libacl: Fix various issues in ASN and random ACL types

* replace malloc+memset pattern with calloc in ASN ACL.
  Highlighted by Coverity Scan, issue 434128.

* Log the even where ACL random is configured with no parameters.

* Improve detecton of negative values in random ACL.
  Detected by Coverity Scan, issue 740486.

NOTE: coverity issues which brought these to view require additional
fixes.

12 years agoAdditional pieces of SQUID-2012:1
Amos Jeffries [Tue, 1 Jan 2013 05:28:12 +0000 (22:28 -0700)] 
Additional pieces of SQUID-2012:1

12 years agoBug 3731: FreeBSD requires 32-bit TOS options
Amos Jeffries [Tue, 1 Jan 2013 03:55:32 +0000 (20:55 -0700)] 
Bug 3731: FreeBSD requires 32-bit TOS options

12 years agoFix memory leaks in ICMP
Amos Jeffries [Tue, 1 Jan 2013 03:20:47 +0000 (20:20 -0700)] 
Fix memory leaks in ICMP

InitAddrInfo() and GetAddrInfo() both allocate addrinfo structs which
must be freed by FreeAddrInfo(). Several places in ICMP were not doing
that free step.

 Detected by Coverity Scan. Issues 740434, 740435, 740436, 740437.

12 years agocbdataUnlock may deallocate cbdata as well.
Alex Rousskov [Mon, 31 Dec 2012 19:48:11 +0000 (12:48 -0700)] 
cbdataUnlock may deallocate cbdata as well.

12 years agoCompleted initializer for constructors of Adaptation::Config and AsyncJob
Francesco Chemolli [Mon, 31 Dec 2012 10:52:17 +0000 (11:52 +0100)] 
Completed initializer for constructors of Adaptation::Config and AsyncJob

12 years agosquidpurge: fix META TLV parsing issues
Amos Jeffries [Mon, 31 Dec 2012 07:42:32 +0000 (20:42 +1300)] 
squidpurge: fix META TLV parsing issues

* current Squid may stoe objects with up to 64KB URLs and 64KB headers
  in the disk cache. Increas the tool buffer to 128KB to prevent
  truncating the loaded meta data.

* check for and report when meta data overruns the end of loaded buffer
  content. Ignore the truncated TLV entry and produce a WARNING.

* validate the TLV size field loaded from disk to prevent buffer overrun
  errors from corrupted files on disk.

 Detected by Coverity Scan. Issues 740381, 740488.

12 years agoSourceFormat Enforcement
Automatic source maintenance [Mon, 31 Dec 2012 01:13:06 +0000 (18:13 -0700)] 
SourceFormat Enforcement

12 years agoCompletd and fixed some class constructors, removed redundant htcpReplyData class.
Francesco Chemolli [Sun, 30 Dec 2012 12:53:01 +0000 (13:53 +0100)] 
Completd and fixed some class constructors, removed redundant htcpReplyData class.

Address several Coverity issues dealing with noninitialized data members.

12 years agoBug 3729: 32-bit overflow in parsing 64-bit configuration values
Tianyin Xu [Sat, 29 Dec 2012 02:52:50 +0000 (19:52 -0700)] 
Bug 3729: 32-bit overflow in parsing 64-bit configuration values

12 years agoTypo in rev.12550
Amos Jeffries [Sat, 29 Dec 2012 02:49:04 +0000 (19:49 -0700)] 
Typo in rev.12550

12 years agoFix various Disk I/O issues in all modules
Tomas Hozza [Sat, 29 Dec 2012 02:40:12 +0000 (19:40 -0700)] 
Fix various Disk I/O issues in all modules

* Uninitialized class members.

* Handle NULL potential after several dynamic_cast.

* Better error result handling from several system functions
  lseek(), fcntl() can report errors which need handling.

* diskd explicit NULL dereference on broken input.
  Extremely unlikely, but worth protecting against.

 Detected by Coverity Scan. Issues 740510, 740358, 740359,
  740511, 740317, 740360, 740513, 740318, 740514

12 years agoFix some issues revealed by Coverty Scan, improve documentation of parseHttpRequest
Francesco Chemolli [Fri, 28 Dec 2012 15:23:21 +0000 (16:23 +0100)] 
Fix some issues revealed by Coverty Scan, improve documentation of parseHttpRequest

Address issues for the defect classes:
- Array compared against 0
- Copy into fixed size buffer
- Dereference after null check
- Dereference before null check

12 years agoSourceFormat Enforcement
Automatic source maintenance [Fri, 28 Dec 2012 01:13:14 +0000 (18:13 -0700)] 
SourceFormat Enforcement

12 years agoFix error in configuration parser which would misassigne the sslcrlfile directive.
Francesco Chemolli [Thu, 27 Dec 2012 18:15:38 +0000 (19:15 +0100)] 
Fix error in configuration parser which would misassigne the sslcrlfile directive.
Fix potentially crashing flaw in CPU affinity map display code.

Detected by Coverity Scan, defects 740336 and 740337.

12 years agoRemoved useless checks for guaranteed-defined pointers.
Francesco Chemolli [Thu, 27 Dec 2012 17:58:29 +0000 (18:58 +0100)] 
Removed useless checks for guaranteed-defined pointers.

Detected by Coverity Scan. Defects 740936 and 740937.

12 years agoPlugged memory leaks in digest authentication module.
Francesco Chemolli [Thu, 27 Dec 2012 17:23:08 +0000 (18:23 +0100)] 
Plugged memory leaks in digest authentication module.

Detected by Coverity Scan. Issue 740431.

12 years agoFix various issues in unit tests
Amos Jeffries [Thu, 27 Dec 2012 10:17:04 +0000 (03:17 -0700)] 
Fix various issues in unit tests

* Define MemObject stub constructor to initialize teh stub object properly
  apparently store unit tests needs one defined. Best to make it work and
  set base values than leave garbage in the object fields.

* Buffer overrun on config parser if test is ever given a too-long
  string input.

* Memory leak in HttpRequest testing. One instance of a short array.

* Range: header testing may thor exceptions which were not caught by the
  test binary. Could lead to difficulty debugging exception errors.

 Detected by Coverity Scan. Issues 740523, 740482, 740440, 740498

12 years agoFix build error on FreeBSD in kqueue
Amos Jeffries [Thu, 27 Dec 2012 06:21:06 +0000 (19:21 +1300)] 
Fix build error on FreeBSD in kqueue

12 years agoBug 3728: Improve debug for cache_dir
Tianyin Xu [Thu, 27 Dec 2012 02:26:28 +0000 (19:26 -0700)] 
Bug 3728: Improve debug for cache_dir

12 years agokqueue: update status from experimental to fully available net I/O method
Amos Jeffries [Thu, 27 Dec 2012 01:42:48 +0000 (14:42 +1300)] 
kqueue: update status from experimental to fully available net I/O method

kqueue has been in use on FreeBSD and maybe others for some time now and
has less bugs than epoll. So the issues on record should not be held
against it.

The attached patch adds auto-detection for the kqueue dependencies and
enables it by default when it can build. Unfortunately due to the
dependencies we cannot add it to maximus layer for force-enable, but the
default layer will test it on FreeBSD at least. It is still less
preferred than epoll(), but more than select() and poll().

12 years agoImport fixes for defects in client_side_reply, client_side_request, esi
Thomas Hozza [Wed, 26 Dec 2012 14:03:11 +0000 (15:03 +0100)] 
Import fixes for defects in client_side_reply, client_side_request, esi
and ufsswapdir from Red Hat's patchset.

12 years agoImport fixes for some defects found by Coverity Scan from Red Hat's patchset.
Thomas Hozza [Tue, 25 Dec 2012 19:43:38 +0000 (20:43 +0100)] 
Import fixes for some defects found by Coverity Scan from Red Hat's patchset.

12 years agoRemoved useless check in store_swapout.cc
Francesco Chemolli [Mon, 24 Dec 2012 13:39:37 +0000 (14:39 +0100)] 
Removed useless check in store_swapout.cc

Detected by Coverity Scan; fix by  Tomas Hozza.

12 years agoMake sure copied strings are properly terminated in snmplib and wccp2.
Francesco Chemolli [Sun, 23 Dec 2012 18:43:09 +0000 (19:43 +0100)] 
Make sure copied strings are properly terminated in snmplib and wccp2.

Detected by Coverity Scan; fix by  Tomas Hozza.

12 years agoRemoved useless variable assignment in acl/Asn.cc
Francesco Chemolli [Sat, 22 Dec 2012 17:58:56 +0000 (18:58 +0100)] 
Removed useless variable assignment in acl/Asn.cc

Detected by Coverity Scan. Issue 740592.

12 years agoRmoved useless variable in auth_digest.cc.
Francesco Chemolli [Sat, 22 Dec 2012 13:58:20 +0000 (14:58 +0100)] 
Rmoved useless variable in auth_digest.cc.

  Detected by Coverity Scan, issue 740594.

12 years agoRmoved useless variable in peer_digest.cc.
Francesco Chemolli [Sat, 22 Dec 2012 13:25:50 +0000 (14:25 +0100)] 
Rmoved useless variable in peer_digest.cc.

Detected by Coverity Scan, issue 740596

12 years agoFix end-of-reply handling in helperHandleRead.
Francesco Chemolli [Fri, 21 Dec 2012 09:27:17 +0000 (10:27 +0100)] 
Fix end-of-reply handling in helperHandleRead.

Detected by Coverity Scan. Issue 747703.

12 years agoFix wrong string length in testHttpReply.
Francesco Chemolli [Fri, 21 Dec 2012 09:24:24 +0000 (10:24 +0100)] 
Fix wrong string length in testHttpReply.

Detected by Coverity Scan. Issue 740413

12 years agoBug 3727: kerberos_ldap_group: explicitly assigning a variable to itself
Tianyin Xu [Fri, 21 Dec 2012 06:53:55 +0000 (19:53 +1300)] 
Bug 3727: kerberos_ldap_group: explicitly assigning a variable to itself

 Detected by LLVM compiler.

12 years agoFixed job entering/leaving search patterns in job tracing scripts
Alex Rousskov [Thu, 20 Dec 2012 04:33:39 +0000 (21:33 -0700)] 
Fixed job entering/leaving search patterns in job tracing scripts
broken by r12436 "Modify debugs() to automatically include HERE"

12 years agoFix typos in AccessLogEntry
Amos Jeffries [Mon, 17 Dec 2012 02:19:47 +0000 (15:19 +1300)] 
Fix typos in AccessLogEntry

Some of these were added by rev.12527 patch.

Clash between USE_ICAP_CLIENT and USE_ADAPTATION uncovered while testing
the fix for the those issues. Breaks build for eCAP without ICAP.

12 years agoSourceFormat Enforcement
Automatic source maintenance [Mon, 17 Dec 2012 01:13:14 +0000 (18:13 -0700)] 
SourceFormat Enforcement

12 years agoFix uninitialized fields in IcapLogEntry
Tomas Hozza [Sun, 16 Dec 2012 06:30:55 +0000 (19:30 +1300)] 
Fix uninitialized fields in IcapLogEntry

 Detected by Coverity Scan. Issue 740507

12 years agoFix various issues in snmplib
Tomas Hozza [Sat, 15 Dec 2012 12:18:50 +0000 (01:18 +1300)] 
Fix various issues in snmplib

* Memory leaks in OID management

* NULL pointer dereference on OID tree creation

* Ensure buffer terminations on OID data copy

* Better file handle management

  Detected by Coverity Scan. Issues 740480, 740357, 740429,
    443111, 740479, 740500

12 years agoFix various issues in smblib
Tomas Hozza [Sat, 15 Dec 2012 04:30:03 +0000 (17:30 +1300)] 
Fix various issues in smblib

* Crash on NTLM handshakes without domain.

* Memory leak on several internal DC connection failures

* Potential buffer overruns on specially crafted tokens

  Detected by Coverity Scan. Issues 740356, 740406, 740428,
   740476, 740477, 740478

12 years agoSourceFormat Enforcement
Automatic source maintenance [Sat, 15 Dec 2012 01:13:21 +0000 (18:13 -0700)] 
SourceFormat Enforcement

12 years agoPolished helper messages debugging slightly.
Alex Rousskov [Fri, 14 Dec 2012 16:10:05 +0000 (09:10 -0700)] 
Polished helper messages debugging slightly.

Made stateful and stateless debugging a little bit more similar/symmetric.
Debug helperStatefulSubmit message contents length.
Debug accumulated helperStatefulHandleRead buffer.
Polished helperHandleRead buffer debugging.

12 years agoAdded Raw, an std::ostream manipulator to print possibly non-terminated buffers
Alex Rousskov [Fri, 14 Dec 2012 16:07:18 +0000 (09:07 -0700)] 
Added Raw, an std::ostream manipulator to print possibly non-terminated buffers
and their labels/sizes.

The Raw manipulator tries to be smart about printing buffers at various
debugging levels: Large buffers are only printed at DBG_DATA by default.
This allows the caller to mix higher-level debug messages with dumping
of potentially large volumes of data. This smartness can be overruled
using an explicit minLevel() method call.

12 years agocert validation cache: fix to build on amd64-CentOS-5.3
Christos Tsantilas [Fri, 14 Dec 2012 13:34:13 +0000 (15:34 +0200)] 
cert validation cache: fix to build on amd64-CentOS-5.3