]> git.ipfire.org Git - thirdparty/squid.git/log
thirdparty/squid.git
16 years agoFixed regression in EUI option handling.
Francesco Chemolli [Fri, 16 Apr 2010 08:58:32 +0000 (10:58 +0200)] 
Fixed regression in EUI option handling.
Partly refactored SSL option handling.

16 years agoDistribute some manuals better
Amos Jeffries [Fri, 16 Apr 2010 06:56:56 +0000 (18:56 +1200)] 
Distribute some manuals better

16 years agoCleanup: remove Cisms from GNURegex alternative
Amos Jeffries [Fri, 16 Apr 2010 06:55:31 +0000 (00:55 -0600)] 
Cleanup: remove Cisms from GNURegex alternative

16 years agoFixed some text-wrappings and indentations.
Francesco Chemolli [Thu, 15 Apr 2010 15:07:23 +0000 (17:07 +0200)] 
Fixed some text-wrappings and indentations.
Reworked default option handling for some configure switches
Refactored EUI and HTCP options handling

16 years agoAdd basic_sasl_auth(8) manual
Amos Jeffries [Thu, 15 Apr 2010 11:37:19 +0000 (23:37 +1200)] 
Add basic_sasl_auth(8) manual

Based on removed README

16 years agoMinor updates to basic_pam_auth(8) manual
Amos Jeffries [Thu, 15 Apr 2010 11:25:10 +0000 (23:25 +1200)] 
Minor updates to basic_pam_auth(8) manual

16 years agoBack out the tweak on rev10398.
Amos Jeffries [Thu, 15 Apr 2010 10:19:26 +0000 (22:19 +1200)] 
Back out the tweak on rev10398.

16 years agoAuthor: Walter <bundestrojaner2@googlemail.com>
Amos Jeffries [Wed, 14 Apr 2010 23:23:26 +0000 (11:23 +1200)] 
Author: Walter <bundestrojaner2@googlemail.com>
Bug 2904: make can create uncomplete files

16 years agochanged mempools option handling
Francesco Chemolli [Wed, 14 Apr 2010 21:04:28 +0000 (23:04 +0200)] 
changed mempools option handling
simplified default value handling for some options

16 years agoSimplified default handling for some options
Francesco Chemolli [Wed, 14 Apr 2010 20:43:45 +0000 (22:43 +0200)] 
Simplified default handling for some options

16 years agoRefactored --enable-mem-gen-trace and --enable-zph-qos
Francesco Chemolli [Wed, 14 Apr 2010 20:28:10 +0000 (22:28 +0200)] 
Refactored --enable-mem-gen-trace and --enable-zph-qos

16 years agoMerged from trunk
Francesco Chemolli [Wed, 14 Apr 2010 19:57:34 +0000 (21:57 +0200)] 
Merged from trunk

16 years agoDistribute the config.test files for all helpers
Amos Jeffries [Wed, 14 Apr 2010 11:13:32 +0000 (23:13 +1200)] 
Distribute the config.test files for all helpers

./configure depends on them to build the helpers correctly on auto-detect.

This should resolve some issues we have had testing the helpers and users
have found with missing logdaemon etc on package builds.

16 years agoProvide smb_lm helper with config.h definitions
Amos Jeffries [Wed, 14 Apr 2010 11:04:12 +0000 (23:04 +1200)] 
Provide smb_lm helper with config.h definitions

16 years agoBug 2848: Early Shutdown kill leads to misleading clean close with client browsers
Amos Jeffries [Tue, 13 Apr 2010 23:29:30 +0000 (11:29 +1200)] 
Bug 2848: Early Shutdown kill leads to misleading clean close with client browsers

Send TCP RST instead of FIN when the data is known to be incompletely sent.

16 years agoRemove GNUregex malloc hack
Amos Jeffries [Mon, 12 Apr 2010 11:24:45 +0000 (05:24 -0600)] 
Remove GNUregex malloc hack

stdlib.h is provided by the OS compat layer of Squid.

If malloc/realloc truely need to be redefined they cna be re-added
to the specific OS compat import with the correct prototypes.

16 years agoAuthor: Various Translators
Amos Jeffries [Mon, 12 Apr 2010 06:03:12 +0000 (18:03 +1200)] 
Author: Various Translators
Translations Update auto-save

16 years agoRevert Libtool/LTDL regression in autoconf
Amos Jeffries [Mon, 12 Apr 2010 05:37:02 +0000 (23:37 -0600)] 
Revert Libtool/LTDL regression in autoconf

16 years agoDisable 3.0 release snapshots.
Amos Jeffries [Mon, 12 Apr 2010 01:35:28 +0000 (19:35 -0600)] 
Disable 3.0 release snapshots.

16 years agoResolve assert in cacheCleanup
Amos Jeffries [Sun, 11 Apr 2010 11:29:02 +0000 (23:29 +1200)] 
Resolve assert in cacheCleanup

16 years agoRefCount AuthUser and children
Amos Jeffries [Sun, 11 Apr 2010 09:02:42 +0000 (21:02 +1200)] 
RefCount AuthUser and children

Also adds CacheMgr "username_cache" display page to view the
currently cached usernames and how long their TTLs are for.

16 years agoMerged from trunk
Francesco Chemolli [Sat, 10 Apr 2010 14:45:31 +0000 (16:45 +0200)] 
Merged from trunk

16 years agoRefafctored --enable-x-accelerator-vary option handling.
Francesco Chemolli [Fri, 9 Apr 2010 18:08:48 +0000 (20:08 +0200)] 
Refafctored --enable-x-accelerator-vary option handling.

16 years agorefactrored --enable-cpu-profiling
Francesco Chemolli [Fri, 9 Apr 2010 13:30:44 +0000 (15:30 +0200)] 
refactrored --enable-cpu-profiling

16 years agoRegression in UDP logging portage.
Amos Jeffries [Fri, 9 Apr 2010 11:48:21 +0000 (23:48 +1200)] 
Regression in UDP logging portage.

16 years agoMerged from trunk
Francesco Chemolli [Fri, 9 Apr 2010 09:46:41 +0000 (11:46 +0200)] 
Merged from trunk

16 years agoRevert type regression slipped in from autoconf-refactor
Amos Jeffries [Fri, 9 Apr 2010 02:53:27 +0000 (14:53 +1200)] 
Revert type regression slipped in from autoconf-refactor

16 years agoBring FDSETSIZE wrappers in with Squid wrapping style.
Amos Jeffries [Fri, 9 Apr 2010 01:33:22 +0000 (13:33 +1200)] 
Bring FDSETSIZE wrappers in with Squid wrapping style.

Also adding kFreeBSD wrapper to same logic as Linux.

16 years agoBug 2899: Restore lost rfc1738_unescape() data type
Amos Jeffries [Fri, 9 Apr 2010 00:39:54 +0000 (12:39 +1200)] 
Bug 2899: Restore lost rfc1738_unescape() data type

Data type was converted to char from int during recent upgrades.
On unix systems char is unsigned making the safety checks fail on build.
This reverts the type back to a usable signed int, no logic changes.

16 years agoMerged from trunk
Francesco Chemolli [Thu, 8 Apr 2010 12:37:14 +0000 (14:37 +0200)] 
Merged from trunk

16 years agoMerged from autoconf-refactor.
Francesco Chemolli [Thu, 8 Apr 2010 12:35:27 +0000 (14:35 +0200)] 
Merged from autoconf-refactor.

16 years agoMerged from trunk
Amos Jeffries [Thu, 8 Apr 2010 12:14:42 +0000 (00:14 +1200)] 
Merged from trunk

16 years agoSome AuthUserReuqest polish and bug removal
Amos Jeffries [Thu, 8 Apr 2010 11:53:16 +0000 (23:53 +1200)] 
Some AuthUserReuqest polish and bug removal

* merge multiple authenticate and authenticateChildren members from
  child classes into the parent AuthUserRequest

* severe circular ref-count links between AuthUser object and
  AuthUserRequest. It appears to be unused and causes problems by merely
  existing.

* remove entry from client_side unsettign the auth credentials of a
  request simply because it was being logged.
  The log code woud be better pulling the credentials from the request
  directly when needed instead of cloning the text. RefCount in both request
  and AuthUser holds the info in place until log output is finished.
  But that polish is left for later.

16 years agoDocumented HAVE_FS_* hack
Francesco Chemolli [Thu, 8 Apr 2010 10:30:13 +0000 (12:30 +0200)] 
Documented HAVE_FS_* hack
Removed the now-useless --with-squid configure option

16 years agoSourceFormat Enforcement
Automatic source maintenance [Thu, 8 Apr 2010 00:12:58 +0000 (18:12 -0600)] 
SourceFormat Enforcement

16 years agosquidclient: Use -k option to control connection keep-alive or close
Amos Jeffries [Wed, 7 Apr 2010 13:15:09 +0000 (01:15 +1200)] 
squidclient: Use -k option to control connection keep-alive or close

This is needed to prevent HTTP 1.1 servers (or Squid) holding the
connection open after squidclient has finished.

Retain the old behavior for HTTP/1.0 requests.

16 years agoAuthor: Matthew Morgan <atcs.matthew@gmail.com>
Amos Jeffries [Wed, 7 Apr 2010 09:49:57 +0000 (21:49 +1200)] 
Author: Matthew Morgan <atcs.matthew@gmail.com>
Add acl support to range_offset_limit.

It is being parsed using the same data types as reply_body_max_size,
which means the limit value gets run through parseBytesLine64, and the
acl is optional.

If people are using the old global style of range_offset_limit, they
shouldn't have to do anything to their configs.

getRangeOffsetLimit is now a member of HttpRequest, and it caches it's
value the same way reply_body_max_size does for faster repeat checking.

16 years agoHTTP1.1: Advertise 1.1 on replies
Amos Jeffries [Wed, 7 Apr 2010 06:22:41 +0000 (18:22 +1200)] 
HTTP1.1: Advertise 1.1 on replies

16 years agoCleanup: wrap more helpers with safety code
Amos Jeffries [Wed, 7 Apr 2010 06:04:19 +0000 (18:04 +1200)] 
Cleanup: wrap more helpers with safety code

16 years agoCompat: permit LDAP helepr to use std memory allocators
Amos Jeffries [Wed, 7 Apr 2010 01:20:51 +0000 (13:20 +1200)] 
Compat: permit LDAP helepr to use std memory allocators

16 years agoRemove c++ comment from C code
Amos Jeffries [Tue, 6 Apr 2010 22:22:31 +0000 (10:22 +1200)] 
Remove c++ comment from C code

16 years agoSourceFormat Enforcement
Automatic source maintenance [Tue, 6 Apr 2010 00:12:56 +0000 (18:12 -0600)] 
SourceFormat Enforcement

16 years agoAuthor: Alex Rousskov
Christos Tsantilas [Mon, 5 Apr 2010 10:29:50 +0000 (13:29 +0300)] 
Author: Alex Rousskov
Modify icap_service_failure_limit option to forget old ICAP errors.

A busy or remote ICAP server may produce a steady but shallow stream of
errors. Any ICAP server may become nearly unusable in a short period of
time, producing a burst of errors. To avoid disabling a generally usable
service, it is important to distinguish these two cases. Just counting
the number of errors and suspending the service after
icap_service_failure_limit is reached often either suspends the service
in both cases or never suspends it at all, depending on the option
value.

One way to distinguish a large burst of errors from a steady but shallow
error stream is to forget about old errors. The icap_service_failure_limit
option modified to instructs Squid to ignore errors that
are "too old" to be counted as a part of a burst.

Another way to look at this feature is to say that the modified
icap_service_failure_limit limits the ICAP error _rate_. For example,
   # suspend service usage after 10 failures in 5 seconds:
   icap_service_failure_limit 10 in 5 seconds

Squid does not remember every transaction error that occurred within the
allowed "oldest error" time period. That would be result in a precise
but too expensive implementation, especially during error bursts on a
busy server. Instead, Squid divides the period in ten slots, counts the
number of errors that occurred in each slot, and forget the oldest
slot(s) as needed. Thus, the algorithm has about 90% precision as far as
timing of the failures is concerned. That 90% precision ought to be good
enough for any deployment.

16 years agoBug #2895: TPROXY2 compile error
Henrik Nordstrom [Sun, 4 Apr 2010 20:01:14 +0000 (22:01 +0200)] 
Bug #2895: TPROXY2 compile error

16 years agoImproved stackraces configuration options handling.
Francesco Chemolli [Sun, 4 Apr 2010 17:16:20 +0000 (19:16 +0200)] 
Improved stackraces configuration options handling.

16 years agoImproved mempools configuration options
Francesco Chemolli [Sun, 4 Apr 2010 08:37:30 +0000 (10:37 +0200)] 
Improved mempools configuration options
Refactored unlinkd configuration options.

16 years agoRefactored mempools option handling
Francesco Chemolli [Sat, 3 Apr 2010 19:15:08 +0000 (21:15 +0200)] 
Refactored mempools option handling

16 years agoFixed squid_host_os detection patterns.
Francesco Chemolli [Fri, 2 Apr 2010 12:10:28 +0000 (14:10 +0200)] 
Fixed squid_host_os detection patterns.

16 years agoRefactored external_acl helpers detection.
Francesco Chemolli [Thu, 1 Apr 2010 16:34:18 +0000 (18:34 +0200)] 
Refactored external_acl helpers detection.
Fixed "maximus" test-suite configure paramters.

16 years agoFixed merge error.
Francesco Chemolli [Thu, 1 Apr 2010 07:39:04 +0000 (09:39 +0200)] 
Fixed merge error.

16 years agoMerged from trunk.
Francesco Chemolli [Wed, 31 Mar 2010 15:59:21 +0000 (17:59 +0200)] 
Merged from trunk.

16 years agoMoved Kid and Kids classes from src/main.cc to src/ipc/, creating libipc.
Alex Rousskov [Tue, 30 Mar 2010 21:54:40 +0000 (15:54 -0600)] 
Moved Kid and Kids classes from src/main.cc to src/ipc/, creating libipc.

Removed update_port hack(). Squid.conf macros and conditionals can now
be used to specify unique http_ports, cache_dirs, etc. for Squid processes.

16 years agoMarked more cppunit tests.
Francesco Chemolli [Tue, 30 Mar 2010 17:32:03 +0000 (19:32 +0200)] 
Marked more cppunit tests.

16 years agoAuthor: Various Translators
Amos Jeffries [Tue, 30 Mar 2010 06:00:55 +0000 (18:00 +1200)] 
Author: Various Translators
Translations Update auto-save

16 years agoMark more cppunit tests
Amos Jeffries [Tue, 30 Mar 2010 04:39:00 +0000 (16:39 +1200)] 
Mark more cppunit tests

16 years agoAuthor: Various Translators
Amos Jeffries [Tue, 30 Mar 2010 02:21:01 +0000 (14:21 +1200)] 
Author: Various Translators
Translations Update auto-save

16 years agoPrep for 3.1.1
Amos Jeffries [Mon, 29 Mar 2010 08:14:04 +0000 (21:14 +1300)] 
Prep for 3.1.1

16 years agoAdded if-statement documentation.
Alex Rousskov [Fri, 26 Mar 2010 13:52:36 +0000 (07:52 -0600)] 
Added if-statement documentation.

16 years agoSupport if-statements in squid.conf. Supported conditions are int=int,true,false
Alex Rousskov [Fri, 26 Mar 2010 13:35:54 +0000 (07:35 -0600)] 
Support if-statements in squid.conf. Supported conditions are int=int,true,false

if condition
  ...
[else
  ...]
endif

16 years agoCannot use String as a global due to memory pool dependencies.
Alex Rousskov [Fri, 26 Mar 2010 13:34:04 +0000 (07:34 -0600)] 
Cannot use String as a global due to memory pool dependencies.

16 years agoSourceFormat Enforcement
Automatic source maintenance [Fri, 26 Mar 2010 00:13:04 +0000 (18:13 -0600)] 
SourceFormat Enforcement

16 years agoCompat: IPPROTO can;t be defined early for Linux.
Amos Jeffries [Thu, 25 Mar 2010 10:09:56 +0000 (23:09 +1300)] 
Compat: IPPROTO can;t be defined early for Linux.

Removed them again to uncover which OS actually need them. Add back as
needed to those specific OS compat headers.

16 years agoCompat: Shuffle final squid.h hacks into libcompat
Amos Jeffries [Thu, 25 Mar 2010 08:27:46 +0000 (02:27 -0600)] 
Compat: Shuffle final squid.h hacks into libcompat

16 years agoCompat: Several compile issues in Profiler and LeakFinder
Amos Jeffries [Wed, 24 Mar 2010 05:21:13 +0000 (23:21 -0600)] 
Compat: Several compile issues in Profiler and LeakFinder

16 years agoAlso check for SASL shared libreries in SASL helper configlet.
Francesco Chemolli [Tue, 23 Mar 2010 16:08:04 +0000 (17:08 +0100)] 
Also check for SASL shared libreries in SASL helper configlet.

16 years agoImproved helper configlets for wider compatibility.
Francesco Chemolli [Tue, 23 Mar 2010 15:45:39 +0000 (16:45 +0100)] 
Improved helper configlets for wider compatibility.

16 years agoAdded more detection locations for smbclient in basic_auth/SMB helper configlet.
Francesco Chemolli [Tue, 23 Mar 2010 11:09:45 +0000 (12:09 +0100)] 
Added more detection locations for smbclient in basic_auth/SMB helper configlet.

16 years agoRepair broken Czech manuals .po file
Amos Jeffries [Tue, 23 Mar 2010 06:57:52 +0000 (19:57 +1300)] 
Repair broken Czech manuals .po file

16 years agoCompat: link eui64_aton.h properly
Amos Jeffries [Tue, 23 Mar 2010 05:16:27 +0000 (18:16 +1300)] 
Compat: link eui64_aton.h properly

16 years agoSourceFormat Enforcement
Automatic source maintenance [Tue, 23 Mar 2010 00:13:27 +0000 (18:13 -0600)] 
SourceFormat Enforcement

16 years agoCompat: Suppress sprintf override on Solaris cppunit
Amos Jeffries [Mon, 22 Mar 2010 22:32:32 +0000 (16:32 -0600)] 
Compat: Suppress sprintf override on Solaris cppunit

16 years agoPrint out the version of cppunit during configure.
Francesco Chemolli [Mon, 22 Mar 2010 15:06:49 +0000 (16:06 +0100)] 
Print out the version of cppunit during configure.

16 years agoCleanup: use config.h by testMain.cc
Amos Jeffries [Mon, 22 Mar 2010 13:11:45 +0000 (07:11 -0600)] 
Cleanup: use config.h by testMain.cc

16 years agoCompat: shuffle replacement OS function fiels into libcompat
Amos Jeffries [Mon, 22 Mar 2010 13:05:28 +0000 (07:05 -0600)] 
Compat: shuffle replacement OS function fiels into libcompat

* strerror() is omitted due to an emulator, and multiple
  replacement functions being defined with rather complicated
  interactions.

* the .c parts must also remain in lib/ for now to simplify
  autoconf logics.

16 years agoBug 2827: assertion failed: FilledChecklist.cc:90: "conn() != NULL"
Amos Jeffries [Mon, 22 Mar 2010 10:00:14 +0000 (23:00 +1300)] 
Bug 2827: assertion failed: FilledChecklist.cc:90: "conn() != NULL"

Assertion was bunk. We can happily continue without unlocking a
non-existent lock.

16 years agoAuthor: Various Translators
Amos Jeffries [Mon, 22 Mar 2010 05:10:13 +0000 (17:10 +1200)] 
Author: Various Translators
Translations Update auto-save

16 years agoSourceFormat Enforcement
Automatic source maintenance [Mon, 22 Mar 2010 00:13:19 +0000 (18:13 -0600)] 
SourceFormat Enforcement

16 years agoTypo in cachemgr.cc
Amos Jeffries [Sun, 21 Mar 2010 21:55:01 +0000 (15:55 -0600)] 
Typo in cachemgr.cc

16 years agoAuthor: Unknown
Amos Jeffries [Sun, 21 Mar 2010 14:54:03 +0000 (03:54 +1300)] 
Author: Unknown
Bug 2879: 3.0 regression in headers end finding

Ported from Squid-2.

16 years agoCompat: Shuffle squid.h portability definitions into libcompat
Amos Jeffries [Sun, 21 Mar 2010 03:08:26 +0000 (21:08 -0600)] 
Compat: Shuffle squid.h portability definitions into libcompat

* Improves and shuffles the memory allocator and string buffer protection
* Fixing many of the unsafe string buffer handling helpers
* removing several duplicated hacks already in libcompat
* Adds NetBSD portability file

16 years agoCorrect buffer calculation for snprintf
Amos Jeffries [Sat, 20 Mar 2010 11:04:40 +0000 (05:04 -0600)] 
Correct buffer calculation for snprintf

16 years agoCleanup rfc1738.c
Amos Jeffries [Sat, 20 Mar 2010 10:25:57 +0000 (04:25 -0600)] 
Cleanup rfc1738.c

16 years agoBetter fix for fromhex()
Amos Jeffries [Sat, 20 Mar 2010 10:24:23 +0000 (04:24 -0600)] 
Better fix for fromhex()

16 years agoCompat: Shuffle type portability definitions and includes into libcompat
Amos Jeffries [Sat, 20 Mar 2010 07:09:43 +0000 (01:09 -0600)] 
Compat: Shuffle type portability definitions and includes into libcompat

16 years agoSourceLayout: Shuffle TextException into libbase
Amos Jeffries [Sat, 20 Mar 2010 01:53:34 +0000 (14:53 +1300)] 
SourceLayout: Shuffle TextException into libbase

16 years agoRemove remainder of EXTERNNEW hackup.
Amos Jeffries [Fri, 19 Mar 2010 14:50:48 +0000 (03:50 +1300)] 
Remove remainder of EXTERNNEW hackup.

16 years agoDocument the sslproxy_options and ssl_proxy_ciphers options.
Amos Jeffries [Fri, 19 Mar 2010 11:47:47 +0000 (00:47 +1300)] 
Document the sslproxy_options and ssl_proxy_ciphers options.

16 years agoManuals updates. Some better text description.
Amos Jeffries [Fri, 19 Mar 2010 11:30:56 +0000 (00:30 +1300)] 
Manuals updates. Some better text description.

16 years agoSync .po with errorpages.pot
Amos Jeffries [Fri, 19 Mar 2010 06:30:35 +0000 (19:30 +1300)] 
Sync .po with errorpages.pot

16 years agoAuthor: Various Translators
Amos Jeffries [Fri, 19 Mar 2010 02:17:53 +0000 (15:17 +1300)] 
Author: Various Translators
Error pages translation Updates

16 years agoUpdated release notes
Amos Jeffries [Thu, 18 Mar 2010 12:30:15 +0000 (01:30 +1300)] 
Updated release notes

16 years agoCorrect fa.po
Amos Jeffries [Thu, 18 Mar 2010 12:22:18 +0000 (01:22 +1300)] 
Correct fa.po

16 years agoUpdate CONTRIBUTORS with Squid-3.1 Authors
Amos Jeffries [Thu, 18 Mar 2010 11:01:15 +0000 (05:01 -0600)] 
Update CONTRIBUTORS with Squid-3.1 Authors

16 years agoAuthor: Various Translators
Amos Jeffries [Wed, 17 Mar 2010 23:51:42 +0000 (12:51 +1300)] 
Author: Various Translators
Sync Error page template updates

* Adds Vietnamese language
* Several basic grammer updates
* Updates .pot and .po to recent template additions

16 years agoSync @makesnmplib@ with current Squid coding styles
Amos Jeffries [Wed, 17 Mar 2010 03:22:42 +0000 (16:22 +1300)] 
Sync @makesnmplib@ with current Squid coding styles

16 years agoTemplates for captive portal proxy configration instructions
Amos Jeffries [Tue, 16 Mar 2010 23:53:33 +0000 (12:53 +1300)] 
Templates for captive portal proxy configration instructions

Captive portals often have to bounce users to configuration instructions.
Those instructions consist of of how to setup WPAD or manual settings.
These templates allow for a standard and localized instruction set for
better support of mixed language users across any portal.

They are used by adding deny_info ERR_AGENT_... to the configuration.

The ERR_AGENT_CONFIGURE template utilizes visible_hostname and port info
from the responding proxy to display correct configuration details for
the gateway without requiring administrative re-write of the page.

Derived from work by the Mandrivia Project.

TODO:
 * some form of CSS agent detection to specialize the instructions.
 * add texts for other common agents

16 years agoAdded ${process_name} and ${process_number} SMP macros.
Alex Rousskov [Tue, 16 Mar 2010 04:28:30 +0000 (22:28 -0600)] 
Added ${process_name} and ${process_number} SMP macros.
Substitutions in the main process are not documented and may need more work.

16 years agoFix ufsdump linkage issue. Was our new operator overloading
Henrik Nordstrom [Mon, 15 Mar 2010 23:51:32 +0000 (00:51 +0100)] 
Fix ufsdump linkage issue. Was our new operator overloading

16 years agoAs reported some weeks ago ufsdump fails to link on the upcoming Fedora
Henrik Nordstrom [Mon, 15 Mar 2010 23:21:14 +0000 (00:21 +0100)] 
As reported some weeks ago ufsdump fails to link on the upcoming Fedora
13 release due to linking issues, and as reported by Amos the same
linking issues is now also seen on Debian since somewhere between March
2 - 5.

While investigating this I found the following conclusions

- We are not actually installing ufsdump
- The dependencies between the Squid libraries are very non-obvious,
with libraries depending on plain object files and other strange things.
- The ufsdump linkage issues is somehow triggered by the libraries
including objects needing symbols from objects not included in that link
- Those failing library objects are not actually needed by ufsdump.
Linking succeeds if repeatedly removing each reported failing object
from the squid libraries.
- If the libraries were shared libraries then linking would fail on all
systems

The issue have been identified, or actually two separate issues. What is
yet unclear is what is the proper solution..

- Inline operator overloading causing indeterministic linkage,
resulting in seemingly unneeded sub modules being pulled in "at random".
Most notably this is seen with our custom new operation (which btw is
duplicated in two places: src/SquidNew.cc and include/SquidNew.h)

- The current Squid libraries have very unclear dependencies with no
  clean boundaries, resulting in linking failure when the above happens..

16 years agoAuthor: Yannick Bergeron <yaberger@ca.ibm.com>
Amos Jeffries [Mon, 15 Mar 2010 13:34:27 +0000 (02:34 +1300)] 
Author: Yannick Bergeron <yaberger@ca.ibm.com>
AIX build fixes

 C code in strict compilers requires /* */ not //