~clint-fewbar/ubuntu/precise/squid3/ignore-sighup-early

« back to all changes in this revision

Viewing changes to TODO

  • Committer: Bazaar Package Importer
  • Author(s): Luigi Gangitano
  • Date: 2006-11-11 10:32:06 UTC
  • Revision ID: james.westby@ubuntu.com-20061111103206-f3p0r9g0vq44rp3r
Tags: upstream-3.0.PRE5
ImportĀ upstreamĀ versionĀ 3.0.PRE5

Show diffs side-by-side

added added

removed removed

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