]>
Commit | Line | Data |
---|---|---|
8be72fa4 | 1 | Squid-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 | ||
28 | Squid-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 | 48 | Later: |
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 | ****************************************************************************** |
66 | Our 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 | 125 | DONE: |
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 |