]> git.ipfire.org Git - thirdparty/squid.git/blame - TODO
Call testheaders.sh with locally detected shell.
[thirdparty/squid.git] / TODO
CommitLineData
8be72fa4 1Squid-3.0:
385c7d37 2
3 Feature freeze:
4
5 - overlapping helper feature implementation (plain or stateful or both).
60225f88 6 - Someone other than Robert to review the draft squid 3 release notes (in CVS already).
55585041 7
385c7d37 8 Other?
9
55585041 10 - Windows port (Merging in process, won't delay 3.0).
385c7d37 11 - Generalize socket binding to allow for multipe ICP/HTCP/SNMP sockets
12 (get rid of udp_incoming_address) (???)
13
14 Done items:
15
3a58818a 16 - epoll linkage.
a907eb3b 17 - reply_body_max_size syntax cleanups. (done)
385c7d37 18 - Other sponsored work that needs to get into mainline sooner rather
19 than later (None known of - RC).
20 - Update automake and autoconf on squid-cache.org for the squid-3 CVS snapshot generation. (done)
55585041 21 - ESI client side streams support framework (done).
22 - ESI (done).
23 - Authentication tidyups in proxy_auth acl managagement (Done).
24 - Appropriate parts of rproxy (Done).
25 - Some kind of Range support to at least the level of 2.5 and earlier (Done).
385c7d37 26
27
28Squid-3.1
29
a907eb3b 30 - always/never direct syntax cleanups.
31 - refactoring of acl driven types to reduce amount of duplicated
32 code (acl_check, acl_tos, acl_address, acl_size_t, ...)
a6c14e64 33 - Go over the old TODO (below) and sort out what has
34 o) Been done
35 o) Needs to be done, and when
36 o) Can be ignored
385c7d37 37 - ETag caching (???)
a6c14e64 38 - Customized logging capabilities
39 - External logging
40 - Other devel.squid-cache.org projects
1c05d896 41 - header filtering improvements (bug #601)
a6c14e64 42
70c5dfb2 43 Done Items:
44
45 - IPv6
46
47
a6c14e64 48Later:
49
50 - Rework the store API like planned
51 - Improved event driven comm code
52 - Buffer management (required by store API and comm code improvements)
53 - Improved reply processing to not reparse the reply headers several
54 times
e1d7c696 55 - Implement HTCP authentication
56 - Log HTCP queries somewhere, like htcp_query.log
57 - There are various places where ICP means ICP/HTCP, and
58 other places where it does not. For example, cachemgr 'counters'
59 stats like icp.pkts_sent count only ICP. However, in 'peer_select'
60 stats, ICP does include HTCP as well.
a6c14e64 61
62
63
64
a6c14e64 65******************************************************************************
66Our OLD Todo List, still containing some interesting items.
67******************************************************************************
838932ca 68
c68e9c6b 69() dont re-sibling requests which came from a sibling
70()
71
5bc16428 72(1) is high priority, (5) is low priority
922348f9 73(**) Means we need this for the real 1.2 release
5bc16428 74==============================================================================
75
922348f9 76(1) A customizable cache replacement policy. Ugh, this could be
77 interesting since we just optimized the LRU replacement with a
78 doubly-linked list.
5bc16428 79
922348f9 80(2) be more persistent in forwarding requests; return fewer error pages
81(2) Fix some problems with peer-selection.
82 - Allow for 'backup' parents
83 - An orderd list of siblings to try.
84 - Hash function load balancing
cded937d 85(2) Calculate Content-Length for multipart range replies (AR)
5bc16428 86
922348f9 87(3) hit metering
88(3) ETag support (makes metadata bigger--ack!)
89(3) Efficient public peer access control *without ACLs*
90 Bill Wichers <billw@unix0.waveform.net>
91 Dave Zarzycki <zarzycki@ricochet.net>
92 # distant_peer_deny (icmp rtt) (hops)
93 # If the ICP client is farther than "z" hops away,
94 # or if more than y% of pings to the client exceed
95 # x milliseconds, then deny.
96 distant_peer_deny 200 75 10
a0d3a499 97(3) deny/allow tags for HTTP header fields (AR)
922348f9 98(3) LDAP support. See http://miso.wwa.com/~donley/ and
99 Clayton Donley <qa1049@ilms04.cig.mot.com>
790922c2 100(3) What to do about ACL's and URL escaping?
abc1237e 101(3) Review RFC 2068 and RFC 2109 for header handing, especially
102 Cache-Control.
5bc16428 103
922348f9 104(4) ** Everywhere that we use 'pattern' or such, use ACL elements instead.
105 stoplist_pattern, refresh_pattern, ... (DW)
106(4) Refresh based on content types. This means we'll need an enum of
107 known content types added to StoreEntry. Unknown types will lose.
2246b732 108(4) Write binary headers as metadata?
e23fbf04 109(4) HTML-escape special characters in errorConvert().
5bc16428 110
922348f9 111(5) X-Proxy-hops header?
112(5) internalize redirectors?
113(5) For _popular_ objects, return hits if known to be stale, but then
114 initiate an IMS/refresh in the background.
115(5) #ifdefs to disable IP caching
116(5) REST for failed ftp transfers.
117(5) Customizable access logging.
118(5) Inline DNS queries with native resolver calls.
1f4d31f9 119(5) MD5 acl type
ff396fe6 120(5) return "ERR_TOO_LARGE" messages for replies with
121 content-lengths larger than some limit.
005e5260 122(5) Bind HTTP/ICP sockets to multiple interfaces
18cc143b 123(5) Custom X-Forwarded-For
8cf1fc8d 124
a2586c01 125DONE:
126+ s/sprintf/snprintf/g
127+ Write the text for all the error message files
871f0b8a 128+ fix all the assert(!ERR_FOO) placeholders
129+ Finish hacking at storeCopy() to achieve in-memory sliding window
130 for objects being retrieved.
0e8e2b30 131+ make USE_PROXY_AUTH standard
5bc16428 132+ single linked list for disk LRU replacement
133+ Incorporate Pelletier's latest retry patch for 1.1
8c3994aa 134(3) URLs --> MD5?
135(1) reconfigure (SIGHUP) causes problems with Config.cacheSwap.swapDirs[].
136(1) I think we're assuming persistent connections and not looking at
137 the reply headers.
e7b87369 138(2) Write src/store_key_md5.c and lib/md5.c
139(2) SNMP interface
140(5) convert ipcache/fqdncache to double-linked list
141 and lose qsort() calls.
1b058963 142(3) AS # routing
143 - whois -h whois.ra.net '\!gAS194'
144 - Stevens V2 Ch.18
145(3) SIGHUP should reread error text files
b17727e3 146(4) support ftp://host/pub;type=d
922348f9 147(5) should we write clean store logs from the double-linked list so
148 that they are sorted in order of last reference? Then upon
149 restart we won't have to worry about the list being unsorted
150 and causing problems with the LRU magic value.
714ace98 151(3) ** Make checkFailureRatio() work again. (DW)
9f802cb1 152(2) ** copy over -z semantics from 1.1; don't automatically wipeout
153 cache (DW)
178dbda2 154(3) ** Make swap.state binary with fixed-size cache keys (AR)
790922c2 155(3) ** Make sure every squid.conf option has documentation (??)
156(3) ** Store cache key and other metadata in swap files (KA)
157(3) ** Finish implementing the *_dump() functions in cache_cf.c (DW)
158(2) ** Fix cachemgr.cgi. It doesn't understand some of the new
159 output formats. (??)
7b8962f2 160(2) ** Add "Squid" trailer to all error messages. (AR)
30a3f2cd 161(2) ** copy over 'test_reachability' from 1.1 (DW)
162(2) ** we don't properly handle the HTTP/1.1 'Connection' header (KA)
163(2) ** Code cleanup: (KA)
164 - Make sure the lib/*.c files do not use printf/fprintf.
30a3f2cd 165 - Replace bcopy with xmemcpy
166(4) ** FTP PUT (KA)
6ee40ea2 167(1) SSL doesn't work with Proxy Authentication
2246b732 168(3) HTTP Header todo list (AR)
9dcb3041 169(5) replace "for" loops in md5.c with memcpy and memset
170(3) ** shrink-able memory pools (AR)
cb2326ad 171(3) ** request-range (AR)
172(4) ** Double check that MemBuf.size is used correctly everywhere (AR)
d3e5d03b 173(3) 'no_cache' access list for specifing objects which should not
174 be cached.
175(3) Full request headers for CONNECT requests.
669d90e7 176(1) ** Send full HTTP requests in ICP messages (DW)
177(2) Track cache keys (MD5) in memory utilization
178(3) Resource limits.
179(3) Arjan's external proxy auth patch is at
180 http://www.iae.nl/users/devet/squid/proxy_auth/
181(3) In some situations, a private-key reply needs to eject a
182 public-key cached object. For example when an object is
183 first cachable, but later becomes uncachable.
184(4) Configurable proxy-auth realm
185(4) Configurable FQDN cache size