Squid Developmen projects -> Old projects

Old Squid Development projects

Completed and done with Squid projects hosted here

Connection pinning

Goal:Get rid of that never ending question why Microsoft IIS servers requiring authentication can not be used via the proxy
Status:Completed.
CVS tag:pinning
Based on:2.5
Patch:view / download
Owner:Henrik Nordstrom

Follow X-Forwarded-For headers

Goal:When a request passes through a chain of one or more other proxies before reaching Squid, we sometimes want to examine the X-Forwarded-For headers to find the IP address of the original (or indirect) client, and use the indirect client address in access controls, delay pools and logs.
Status:Completed.
CVS tag:follow_xff
Based on:HEAD (but patches relative to 2.4 and 2.5 are also available)
Patch: HEAD: view / download
2.6: view / download
2.5: download
2.4: download
Owner:Alan Barrett
Other developers:none
Web site:http://devel.squid-cache.org/follow_xff/index.html

Modulize External Binaries.

Goal: Squid currently uses some exteranl binaries for certain time-critical or blocking activities. This is an experiment in converting them to C++ Objects and unifying their duplicated code paths. If successful it will result in an object tree which can be used by squid accross the application boundaries.
Status:Abandoned.
CVS tag:modextern
Based on:HEAD
Patch: view / download
Owner:Amos Jeffries
Other developers:
Web site:

Code Optimization

Goal:Get rid of the code tangles that have been introduced by the Squid-3 conversion or remain in legacy code from Squid-2
Status:Merged to Squid-3. More to be done but not using CVS.
CVS tag:cleanup
Based on:3.1
Patch:view / download
Owner:Amos Jeffries
Comment:see RoadMap for details.

ICAP Client Support (Squid-3)

Goal:To make squid perform content adaptation using the ICAP (Internet Content Adaptation) protocol
Status:Stable
CVS tag:squid3-icap
Based on:Squid-3
Patch:view / download
Owner:Alex Rousskov
Other developers:Duane Wessels, Christos Tsantilas
Sponsors:Barefruit, The Measurement Factory

ICAP Client Support (Squid-2)

Goal:To make squid perform content adaptation using the ICAP (Internet Content Adaptation) protocol
Status:Abandoned. Unsupported.
CVS tag: Current branch: icap-2_5
Old branch: icap
Based on:Squid-2
Owner:Geetha Manjunath, Hewlett Packard Labs.
Other developers:Basile Starynkevitch, Ralf Horstmann, Henrik Nordström, Duane Wessels

Streaming ICAP Client Support

Goal:To make squid perform content adaptation using the ICAP (Internet Content Adaptation) protocol in a way suitable for Virus scanning and other situations where the ICAP server wants to be able to respond while the object is being downloaded
Status:Merged into Squid-3
Based on:Squid-2.5
Owner:Henrik Nordström, MARA Systems AB
Other developers:ICAP OPTIONS processing inherited from the icap patch
Web site:N/A

Follow X-Forwarded-For headers

Goal:When a request passes through a chain of one or more other proxies before reaching Squid, we sometimes want to examine the X-Forwarded-For headers to find the IP address of the original (or indirect) client, and use the indirect client address in access controls, delay pools and logs.
Status:Merged into 2.6. Merged into 3.1
CVS tag:follow_xff
Based on:HEAD (but patches relative to 2.4 and 2.5 are also available)
Patch: HEAD: view / download
2.6: view / download
2.5: download
2.4: download
Owner:Alan Barrett
Web site:http://devel.squid-cache.org/follow_xff/index.html

IPv6 support for squid

Goal:squid should fully support IPv6 (as client, as server, regarding URLs, ...)
Status: HEAD (3.1): Mainline. Stable.
HEAD (2.6): Alpha Experimental. First steps importing externally developed code into mainline.
CVS tag: squid3-ipv6 (3.1)
ipv6 (2.6)
Based on:Squid-2, HEAD
Patch: (3.x): view / download (2.6): view / download
Owner: Amos Jeffries (Squid 3.x)
Achmad Husni Thamrin (Squid 2.x)
Other Developers: Rafael Martinez Torres
Xuân Baldauf

Connection pinning

Goal:Get rid of that never ending question why Microsoft IIS servers requiring authentication can not be used via the proxy
Status:Applied to 2.6. Ported to Squid-3
CVS tag:pinning
Based on:2.5
Patch:view / download
Owner:Henrik Nordstrom

Squid 3.x Source Documentation Project

Goal:To document all the squid source code for developers using doxygen
Status: SGML Developers Guide - doxygenated.
Source Code - started. Early days.
Changing Developer Habits - started.
CVS tag:docs
Based on:HEAD
Patch:view / download
Owner:Amos Jeffries
Web site:docs

Clean up and template the error pages

Goal:Easy to maintain and good looking error pages
Status:Completed. Merged to Squid-3
CVS tag:errorpages
Based on:HEAD
Patch:view / download
Owner:Adrian Chadd

Embedded Content Adaptation (eCAP)

Goal:Improve Squid3 content adaptation performance by 20+%, remove the need for an ICAP server
Status:Started. Merged to Squid-3
CVS tag:ecap
Based on:Squid-3
Patch:view / download
Owner:Alex Rousskov
Sponsors:Barefruit, The Measurement Factory
Web site:http://wiki.squid-cache.org/Features/eCAP

Native support for asynchronous calls

Goal:Simplify code, improve debugging, improve ICAP performance, and prevent crashes from single transaction errors.
Status:Started. Mergd to Squid-3
CVS tag:async-calls
Based on:Squid-3
Patch:view / download
Owner:Alex Rousskov
Sponsors:Barefruit, The Measurement Factory
Web site:http://wiki.squid-cache.org/Features/NativeAsyncCalls

Support for large objects in Squid-3

Goal:To get Squid-3 always handle objects > 2 GB
Status:Finished?
CVS tag:squid3-largeobj
Based on:HEAD
Patch:view / download
Owner:Duane Wessels
Other developers:Christos Tsantilas

Comm loops cleanup in Squid-2.6

Goal:Unify all the comm loops to the same code, not just the new ones
Status:Ready
CVS tag:!YOURTAG
Based on:HEAD
Patch:view / download
Owner:Henrik Nordstrom

Removal of Deferred reads for IO

Goal:Removing the Deferred read IO framework to allow for more efficient use of an event-driven IO framework in squid-2.5
Status:Replaced by other related work in 2.6
CVS tag:tidyup_deferred_reads
Based on:2.5
Patch:view / download
Owner:Adrian Chadd
Other developers:(n/a)
Web site:(n/a)

WCCP V2 support

Goal:Implement WCCPV2 to allow multiple services to be defined on multiple routers with multiple caches
Status:Merged in 2.6
CVS tag:wccp2-2_5
Based on:2.5
Patch:view / download
Owner:Steven Wilton
Other developers:
Web site:

WCCP Version 2.0 Support

Goal:Making Joe's WCCP version 2.0 compliance on squid-2.2 to support all versions
Status:Replaced by the shared wccp2-2_5 branch. Basic implementation completed(Work under progress for handling pool of caches)
CVS tag: visolve_wccpv2-s2_5
visolve_wccpv2
Based on:s2_5, Squid-2
Patch: 2.5: view / download
Squid-2: view / download
Owner:Visolve
Other developers:
Web site:http://squid.visolve.com/developments/wccpv2.htm

COSS Storage System

Goal:To give stability to COSS storage system
Status:Merged into 2.6
CVS tag:coss
Based on:Squid-2
Patch:view / download
Owner:Adrian Chadd
Other developers:Guido Serassio
Web site:http://devel.squid-cache.org/coss/

ETag support

Goal:Have ETag fully supported, both in cache validations and Vary matches
Status:Finished 2001-06-12. Merged into 2.6
CVS tag:etag
Based on:Squid-2 / vary-2_4
Patch: Squid-2: view / download
2.5: view / download
vary-2_4: view / download
Owner:Henrik Nordström
Other developers:
Sponsor:PictureIQ Corporation
Web site:http://devel.squid-cache.org/etag/

Epoll Support

Goal:Get Squid 2.5 to support epoll
Status:Merged into 2.6
CVS tag:epoll-2_5
Based on:HEAD
Patch:view / download
Owner:Steven Wilton
Other developers:
Web site:

Negotiate authentication scheme

Goal:Support the Negotiate authentication scheme and also cleaned up NTLM scheme
Status:Ready for testing
CVS tag 2.5:negotiate-2_5
CVS tag HEAD:negotiate
CVS tag nt-2.5:negotiate-nt-2_5
Based on:2.5 / HEAD
Patch 2.5:view / download
Patch HEAD:view / download
Patch nt-2.5:view / download
Owner:Henrik Nordstrom,
Other developers:Francesco 'Kinkie' Chemolli, Guido Serassio
Web site:

Support for fuzzy external acl lookups

Goal:Allow higher level caching of external acl lookups, ignoring uninteresting details
Status:Stable, but design insufficient for the end goal
CVS tag:external_acl_fuzzy
Based on:2.5
Patch:view / download
Owner:Henrik Nordström
Web site:http://devel.squid-cache.org/external_acl/

Cerberian content filter support

Goal:To extend the external acl scheme in ways suitable for use by the Cerberian URL filter
Status:Stable, but still has room for improvements
CVS tag:cerberian
Based on:squid-2.5
Patch:view / download
Owner:Henrik Nordström
Other developers:
Web site:http://marasystems.com/download/cerberian/

Enhanced modular store I/O interface

Goal:To find a suitable storage API which allows us to try out the ideas we have for improving Squids on-disk storage
Status:Ongoing
CVS tag:modio
Based on:Squid-2
Patch:view / download
Old remains:2000-10-21
Owner:Adrian Chadd
Other developers:Henrik Nordström
Web site:http://devel.squid-cache.org/modio/

Henrik Nordström's Squid work

Goal:Whatever Henrik feels is suitable for the day. There are many different versions, with somewhat different goals. See the dedicated web site for further information. Most of these are being decomissioned in favor for shared development
Status:Varies
CVS tag:hno-*
Patch:
Owner:Henrik Nordström
Other developers:
Web site:http://devel.squid-cache.org/hno/

Customizable log format

Goal:Have the log format fully customizable
Status:Completed
CVS tag:customlog-2_5
Based on:Squid-2.5
Patch:view / download
Owner:Henrik Nordstrom
Other developers:Chemolli Francesco
Sponsor:Zope Corporation
Web site:http://devel.squid-cache.org/customlog/

SSL gatewaying

Goal:Add SSL gatewaying capabilities to Squid with the help of OpenSSL
StatusFully merged into Squid-3
CVS tag: ssl
Based on:HEAD, 2.5
Current Patches: 2.5: view / download
Older Patches: ssl 2002-12-06: view / download
ssl-nohttp-1: view / download
ssl 2001-10-20: view / download
ssl 2001-05-04: view / download
ssl 2001-04-14: view / download
Current owner:Henrik Nordstrom
Current sponsor:MARA Systems AB
Original author:Benno Rice
Web site:http://devel.squid-cache.org/ssl/, http://netizen.com.au/~benno/ (stale)

External extensible ACL interface

Goal:Implement a helper driven ACL scheme
Status:Completed 2002-06-23
CVS tag:external_acl
Patch: 2002-06-23
Owner:Henrik Nordström
Sponsor:MARA Systems AB
Other developers:
Web site:http://devel.squid-cache.org/external_acl/

Satellite link enhancements

Goal:Make Squid perform better over satellite links
Status:Completed
CVS tag:satellite
Based on:HEAD
Patch: 2002-06-23
Owner:Robert Cohen
Other developers:
Web site:http://devel.squid-cache.org/satellite/

Easier to use cbdata

Goal:Make cbdata a intiutive and foolprof design
Status:Completed
CVS tag:cbdata
Patch: 2001-10-10
2001-03-03
2001-01-05
Owner:Henrik Nordstrom
Original Owner:Moez Mahfoudh
Web site:http://devel.squid-cache.org/cbdata/

Chunked MemPools

Goal:Instead of mallocing memory per pooled object, malloc in larger chunks and use as array. Free-tracking overhead is avoided by stuffing it into freed objects, malloc overhead per object is also avoided. Main goal: reduced memory usage.
Status:Implemented. Present in squid 3.0.
CVS tag:chunked_mempools
Based on:HEAD
Patch:view / download
Owner:Andres Kroonmaa
Other developers:
Web site:

Reverse proxy enhancements

Goal:Make Squid well behaved as a reverse proxy
Status:Beta testing
CVS tag:rproxy
CVS tag:rproxy-2_5
Based on:Squid-2
Patch:view / download
Patch 2.5:view / download
Owner:Henrik Nordstrom
Other developers:
Sponsor:MARA Systems
Web site:http://devel.squid-cache.org/rproxy/

Autoconf 2.5 support

Goal:Allow the use of autoconf 2.5 to bootstrap a squid development tree
Status:Completed 2002-7-25
CVS tag:autoconf-25
Based on:Squid-2
Patch:view / download
Owner:Robert Collins
Other developers:
Web site:

Selective access logging

Goal:Selective access loging to selectively exclude requests from beeing logged or accounted for
Status:Works for me
CVS tag:log_access-2_5
Based on:2.5
Patch:view / download
Owner:Henrik Nordstrom

ESI support for accelerators

Goal:Implement the esi protocol for Squid.
Status:Core specification complete, performance and compliance testing
CVS tag:N/A, but there is an arch branch for esi.
Based on:Squid-3
Owner:Robert Collins
Other developers:NA
Sponsor:Zope Corporation
Web site:NA

Overlapping helper requests

Goal:Allow a single helper to handle multiple concurrent overlapping requests
Status:Porting to Squid-3 by refactoring
CVS tag:hlpoverlapping
Based on:HEAD
Patch:view / download
Owner:Henrik Nordstrom
Other developers:
Web site:http://devel.squid-cache.org/hlpoverlapping/

ToS and/or outgoing IP selection

Goal:Make Squid flexible in selecting ToS and/or outgoing IP when it forwards a request
Status:Committed to HEAD
CVS tag:tosaddracl
Based on:HEAD
Patch: 2001-10-10 view / download
Owner:Roger Venning
Other developers:Henrik Nordström
Web site:http://devel.squid-cache.org/tosaddracl/

UNIX Domain IPC sockets

Goal:Use UNIX domain sockets for all helpers
Status:Stable, awaiting commit
CVS tag:unix_sockets
Based on:HEAD
Patch:view / download
Owner:Henrik Nordstrom
Other developers:
Web site:

Refcounted allocator

Goal:Create a refcounting allocator
Status:Obsoleted by squid-3 developments
CVS tag:refcount
Based on:Squid-2
Patch: view / download
Owner:Robert Collins
Other developers:-
Web site:

Config pre-processing

Goal:Allow Squid to use a general purpose pre-processor when reading it's configuration, to allow advanced scripting capabilities in controlling the configuration
Status:Implemented
CVS tag:cf_preprocess
Based on:HEAD
Patch:view / download
Owner:Henrik Nordstrom
Other developers:
Web site:

deny_info with URL's

Goal:To allow deny_info to use external URL's
Status:Finished
CVS tag:deny_info_url
Based on:HEAD
Patch:view / download
Patch 2.5:view / download
Owner:Henrik Nordström
Sponsor:MARA Systems AB
Web site:http://devel.squid-cache.org/deny_info_url/

CARP peer selection cleanup

Goal:Make CARP behave well
Status:Just starting
CVS tag:carp
Based on:HEAD
Patch:view / download
Owner:Henrik Nordström
Other developers:
Web site:http://devel.squid-cache.org/carp/

Digest (RFC 2617) authentication

Goal:To allow Squid to accept Digest authentication.
Status:Round 1 merged into Squid-2.5 2001-01-??
CVS tag:auth_digest
Based on:auth_rewrite
Patch:view / download
Owner:Robert Collins
Other developers: 
Web site:no website.

Microsoft NTLM proxy authentication

Goal:To allow Squid to accept the automatic NTLM logon feature supported by Microsoft browsers.
Status:Round 1 merged into Squid-2.5 2001-01-07
CVS tag:ntlm
Based on:auth_rewrite
Patch:view / download
Owner:Andy Doran
Other developers:Robert Collins, Francesco 'Kinkie' Chemolli
Web site:http://devel.squid-cache.org/ntlm/
FAQ pagehttp://devel.squid-cache.org/ntlm/faq.html 

Authentication rewrite

Goal:To produce an API for fitting authentication schemes into Squid, reducing CPU and memory use at the same time.
Status:Round 1 merged into Squid-2.5 2001-01-07
CVS tag:auth_rewrite
Based on:Squid-2
Patch:view / download
Owner:Robert Collins
Other developers:
Web site:http://devel.squid-cache.org/auth_rewrite/index.html 

comm-select modules & optimizations

Goal:Modularize and optimize Squid's comm_select/poll/whatewer loops
Status:Active development
CVS tag:commloops
Based on:Squid-2
Patch:view / download
Owner:Adrian Chadd
Other developers:Benno Rice
Web site:http://devel.squid-cache.org/commloops/

Authenticator protocol extensions

Goal:Extend the authenticator protocol to allow a more fine grained response to the user (DENIED / PASSWORD EXPIRED / NOT FROM THAT IP)
Status:Partly merged, partly replaced by other developments
CVS tag:authinfo
Based on:Squid-2
Patch: Squid-2: view / download
2.4: view / download
Owner:Pedro Lineu Orso
Other developers:
Web site:

Adapt squid to use automake

Goal:Have squid use automake - in order to make future libtool work easier.
Status:Closed. Merged into HEAD 20010831.
CVS tag:squid-amake
Based on:HEAD
Patch:view / download
Owner:Robert Collins
Other developers:
Web site:http://devel.squid-cache.org/amake/

ACL Work

Goal:Extend the ACL capabilities of squid to allow richer tests/tests on response bodies.
Status:Initial work merged into HEAD 2001-02-13, long term under discussaion
CVS tag:acl_work
Based on:HEAD
Patch:view / download
Original Owner:Robert Collins
Other developers:
Web site:

generic cache_dir option parsing

Goal:Generalize option parsing in caceh_dir. Initiated by the need to get rid of the need of the maxobjsize parameter
Status:Finished
CVS tag:fsopts
Based on:HEAD
Patch:HEAD 20010210 view / download
Owner:Henrik Nordstrom
Other developers:
Web site:

Vary header support

Goal:Support caching of objects using the Vary header
Status:Committed 2001-04-14
CVS tag:vary
Based on:HEAD
Patch: 2001-04-14: view / download
Squid-2.4: view / download
Squid-2.3: view / download
Owner:Henrik Nordstrom
Other developers:
Sponsor:PictureIQ Corporation
Web site:http://devel.squid-cache.org/vary/

Correct proxy_auth forwarding

Goal:To correct proxy_auth forwarding w.r.t security and RFC2616
Status:Pending commit
CVS tag:upstreamauth
Based on:s2_4
Patch:view / download
Owner:Henrik Nordström
Other developers:Robert Collins
Web site:

/etc/hosts handling

Goal:Enable Squid to use /etc/hosts (or whatever it's called on your operating system of choice).
Status:Finished, tested and closed. (merged into Squid-2.4)
CVS tag:etc_hosts
Based on:HEAD
Patch:view / download
Owner:Francesco 'Kinkie' Chemolli
Notes: The thing works by doing (not too bad, promise) tricks with the ip- and fqdn- caches.

Splay-tree-based User ACL verification

Goal:Speed up ACL matching when dealing with big users-list
Status:Committed 2001-01-07
CVS tag:splay_userauth
Based on:HEAD
Patch:view / download
Owner:Francesco Chemolli (kinkie)

Asyncio/aufs optimization for Squid-2.4

Goal:Get the aufs store working and well tuned prior to Squid-2.4 release
Status:Merged into Squid-2.4
CVS tag:asyncio
Based on:HEAD
Patch:2000-11-10: view / download
Owner:Henrik Nordström
Other developers:Adian Chadd?
Web site:

Cross-site scripting issues

Goal:Fix cross-site scripting and other HTML related issues
Status:Merged into Squid-2.4 and Squid-2.3 2000-11-04
CVS tag:xsitescript
Based on:HEAD
Patch:2000-11-04: view / download
Owner:Robert Collins
Other developers:Henrik Nordström
Web site:

CPU high-res profiling

Goal:Measure sections of code in CPU-ticks and gather historical statistics viewable from cachemgr. Unix "top" like view on most CPU-hungry code inside Squid.
Status:Finished, tested (6.Apr.2001). Add your probes where you wish. Included in squid-3.0
CVS tag:cpuProfiling
Based on:Squid-2
Patch:view / download
Owner:Andres Kroonmaa
Other developers:
Web site:http://www.online.ee/~andre/squid/profil/

Large File support

Goal:Get Squid to handle large files
Status:Merged into 2.5
CVS tag:lfs-2_5
Based on:HEAD
Patch:view / download
Owner:Henrik Nordstrom

Windows port using CYGWIN GNU toolchain

Goal:Port Squid to Windows using the CYGWIN GNU toolchain
Status:Inital work Merged into Squid-2.4. Followon work underway to increase integration, now merged into nt-2_5 branch
For Squid-3 based work see the Microsoft Windows NT/2000 port project
CVS tag:cygwin
Based on:Squid-2
Patch:view / download
Old remains:2000-10-21
Owner:Robert Collins
Other developers:Guido Serassio
Web site:

Service Enhancements to Windows CYGWIN port

Goal:Enhance the Squid to Windows ports using the CYGWIN GNU toolchain
Status: cygwin-svc: Active development, Service code OK
cygwin-svc-2_5: Beta quality, now merged into nt-2_5 branch
For Squid-3 based work see the Microsoft Windows NT/2000 port project
CVS tag: cygwin-svc
cygwin-svc-2_5
Based on:cygwin, s2_5
Patch: Squid-2: view / download
2.5:   view / download
Owner:Guido Serassio
Other developers:
Web site:http://www.serassio.it/CygWin-svc.htm

Unification of IO.

Goal:Squid currently has a lot of duplicate code in the different fs store types. This should be unified with only the different queuing strategies and non blocking capabilities separated out.
Status:Complete, pending merge to squid-3.1.
CVS tag:NA
Arch branch:robertc@squid-cache.org--squid/squid--disk-io--3.0
Based on:HEAD
Patch:
Owner:Robert Collins
Other developers:NA
Web site:NA

Squid Now! Cache Now! Valid HTML 4.0! SourceForge
$Id: old_projects.html,v 1.39 2009/09/10 01:32:41 amosjeffries Exp $