TODO
上传用户:liugui
上传日期:2007-01-04
资源大小:822k
文件大小:5k
- Our Todo List
- () 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.
- - Allow for 'backup' parents
- - An orderd list of siblings to try.
- - Hash function load balancing
- (2) Calculate Content-Length for multipart range replies (AR)
- (3) hit metering
- (3) ETag support (makes metadata bigger--ack!)
- (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) LDAP support. See http://miso.wwa.com/~donley/ and
- Clayton Donley <qa1049@ilms04.cig.mot.com>
- (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) For _popular_ objects, return hits if known to be stale, but then
- initiate an IMS/refresh in the background.
- (5) #ifdefs to disable IP caching
- (5) REST for failed ftp transfers.
- (5) Customizable access logging.
- (5) Inline DNS queries with native resolver calls.
- (5) MD5 acl type
- (5) return "ERR_TOO_LARGE" messages for replies with
- content-lengths larger than some limit.
- (5) Bind HTTP/ICP sockets to multiple interfaces
- (5) Custom X-Forwarded-For
- DONE:
- + 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 bzero with memset
- - 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