+++ /dev/null
-This TODO list is no longer accurate. For more updated Squid-3 plans see:
- http://wiki.squid-cache.org/RoadMap/Squid3
-
-
-Squid-3.0:
-
- Feature freeze:
-
- - overlapping helper feature implementation (plain or stateful or both).
-
- Other?
-
- - Windows port (Merging in process, won't delay 3.0).
-
- Done items:
-
- - epoll linkage.
- - reply_body_max_size syntax cleanups. (done)
- - Other sponsored work that needs to get into mainline sooner rather
- than later (None known of - RC).
- - Update automake and autoconf on squid-cache.org for the squid-3 CVS snapshot generation. (done)
- - ESI client side streams support framework (done).
- - ESI (done).
- - Authentication tidyups in proxy_auth acl managagement (Done).
- - Appropriate parts of rproxy (Done).
- - Some kind of Range support to at least the level of 2.5 and earlier (Done).
- - Someone other than Robert to review the draft squid 3 release notes (in CVS already). (done)
-
-
-Squid-3.1
-
- - always/never direct syntax cleanups.
- - refactoring of acl driven types to reduce amount of duplicated
- code (acl_check, acl_tos, acl_address, acl_size_t, ...)
- - Go over the old TODO (below) and sort out what has
- o) Been done
- o) Needs to be done, and when
- o) Can be ignored
- - ETag caching (???)
- - Customized logging capabilities
- - External logging
- - header filtering improvements (bug #601)
- - Generalize socket binding to allow for multipe ICP/HTCP/SNMP sockets
- (get rid of udp_incoming_address) (???)
-
- Done Items:
-
- - IPv6
- - Other devel.squid-cache.org projects (Done. some anyway)
-
-
-Later:
-
- - Rework the store API like planned
- - Improved event driven comm code
- - Buffer management (required by store API and comm code improvements)
- - Improved reply processing to not reparse the reply headers several
- times
- - Implement HTCP authentication
- - Log HTCP queries somewhere, like htcp_query.log
- - There are various places where ICP means ICP/HTCP, and
- other places where it does not. For example, cachemgr 'counters'
- stats like icp.pkts_sent count only ICP. However, in 'peer_select'
- stats, ICP does include HTCP as well.
-
-
-
-
-******************************************************************************
-Our OLD Todo List, still containing some interesting items.
-******************************************************************************
-
-() dont re-sibling requests which came from a sibling
-()
-
-(1) is high priority, (5) is low priority
-(**) Means we need this for the real 1.2 release
-==============================================================================
-
-(1) A customizable cache replacement policy. Ugh, this could be
- interesting since we just optimized the LRU replacement with a
- doubly-linked list.
-
-(2) be more persistent in forwarding requests; return fewer error pages
-(2) Fix some problems with peer-selection.
- - An orderd list of siblings to try.
- - Hash function load balancing
-(2) Calculate Content-Length for multipart range replies (AR)
-
-(3) Efficient public peer access control *without ACLs*
- Bill Wichers <billw@unix0.waveform.net>
- Dave Zarzycki <zarzycki@ricochet.net>
- # distant_peer_deny (icmp rtt) (hops)
- # If the ICP client is farther than "z" hops away,
- # or if more than y% of pings to the client exceed
- # x milliseconds, then deny.
- distant_peer_deny 200 75 10
-(3) deny/allow tags for HTTP header fields (AR)
-(3) What to do about ACL's and URL escaping?
-(3) Review RFC 2068 and RFC 2109 for header handing, especially
- Cache-Control.
-
-(4) ** Everywhere that we use 'pattern' or such, use ACL elements instead.
- stoplist_pattern, refresh_pattern, ... (DW)
-(4) Refresh based on content types. This means we'll need an enum of
- known content types added to StoreEntry. Unknown types will lose.
-(4) Write binary headers as metadata?
-(4) HTML-escape special characters in errorConvert().
-
-(5) X-Proxy-hops header?
-(5) internalize redirectors?
-(5) #ifdefs to disable IP caching
-(5) REST for failed ftp transfers.
-(5) MD5 acl type
-(5) Custom X-Forwarded-For
-
-MOVED UP TO CURRENT LISTS:
-(5) Bind HTTP/ICP sockets to multiple interfaces
-(3) ETag support (makes metadata bigger--ack!)
-(5) For _popular_ objects, return hits if known to be stale, but then
- initiate an IMS/refresh in the background.
-
-
-DONE:
-(2) Fix some problems with peer-selection.
- - Allow for 'backup' parents
-(5) return "ERR_TOO_LARGE" messages for replies with
- content-lengths larger than some limit.
-(3) hit metering
-(5) Customizable access logging.
-(3) LDAP support. See http://miso.wwa.com/~donley/ and
- Clayton Donley <qa1049@ilms04.cig.mot.com>
-(5) Inline DNS queries with native resolver calls.
-+ s/sprintf/snprintf/g
-+ Write the text for all the error message files
-+ fix all the assert(!ERR_FOO) placeholders
-+ Finish hacking at storeCopy() to achieve in-memory sliding window
- for objects being retrieved.
-+ make USE_PROXY_AUTH standard
-+ single linked list for disk LRU replacement
-+ Incorporate Pelletier's latest retry patch for 1.1
-(3) URLs --> MD5?
-(1) reconfigure (SIGHUP) causes problems with Config.cacheSwap.swapDirs[].
-(1) I think we're assuming persistent connections and not looking at
- the reply headers.
-(2) Write src/store_key_md5.c and lib/md5.c
-(2) SNMP interface
-(5) convert ipcache/fqdncache to double-linked list
- and lose qsort() calls.
-(3) AS # routing
- - whois -h whois.ra.net '\!gAS194'
- - Stevens V2 Ch.18
-(3) SIGHUP should reread error text files
-(4) support ftp://host/pub;type=d
-(5) should we write clean store logs from the double-linked list so
- that they are sorted in order of last reference? Then upon
- restart we won't have to worry about the list being unsorted
- and causing problems with the LRU magic value.
-(3) ** Make checkFailureRatio() work again. (DW)
-(2) ** copy over -z semantics from 1.1; don't automatically wipeout
- cache (DW)
-(3) ** Make swap.state binary with fixed-size cache keys (AR)
-(3) ** Make sure every squid.conf option has documentation (??)
-(3) ** Store cache key and other metadata in swap files (KA)
-(3) ** Finish implementing the *_dump() functions in cache_cf.c (DW)
-(2) ** Fix cachemgr.cgi. It doesn't understand some of the new
- output formats. (??)
-(2) ** Add "Squid" trailer to all error messages. (AR)
-(2) ** copy over 'test_reachability' from 1.1 (DW)
-(2) ** we don't properly handle the HTTP/1.1 'Connection' header (KA)
-(2) ** Code cleanup: (KA)
- - Make sure the lib/*.c files do not use printf/fprintf.
- - Replace bcopy with xmemcpy
-(4) ** FTP PUT (KA)
-(1) SSL doesn't work with Proxy Authentication
-(3) HTTP Header todo list (AR)
-(5) replace "for" loops in md5.c with memcpy and memset
-(3) ** shrink-able memory pools (AR)
-(3) ** request-range (AR)
-(4) ** Double check that MemBuf.size is used correctly everywhere (AR)
-(3) 'no_cache' access list for specifing objects which should not
- be cached.
-(3) Full request headers for CONNECT requests.
-(1) ** Send full HTTP requests in ICP messages (DW)
-(2) Track cache keys (MD5) in memory utilization
-(3) Resource limits.
-(3) Arjan's external proxy auth patch is at
- http://www.iae.nl/users/devet/squid/proxy_auth/
-(3) In some situations, a private-key reply needs to eject a
- public-key cached object. For example when an object is
- first cachable, but later becomes uncachable.
-(4) Configurable proxy-auth realm
-(4) Configurable FQDN cache size