Skip to content

Commit 0a6b1fd

Browse files
committed
[DOC] update ROADMAP file
move what was done and add a few collected wishes.
1 parent 442e834 commit 0a6b1fd

File tree

1 file changed

+72
-10
lines changed

1 file changed

+72
-10
lines changed

ROADMAP

+72-10
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,23 @@ Legend: '+' = done, '-' = todo, '*' = done except doc
55
1.5 (ETA 2010/12/31) :
66
- server-side HTTP keepalive
77

8+
- POST parameter extraction
9+
810
- return-html code xxx [ file "xxx" | text "xxx" ] if <acl>
911

12+
- avg connect time, response time, connect errors, response errors in stats
13+
1014
- return-raw [ file "xxx" | text "xxx" ] if <acl>
1115

1216
- add support for client-side and server-side unix sockets
1317

18+
- have multi-criteria analysers which subscribe to req flags, rsp flags, and
19+
stream interface changes. This would result in a single analyser to wait
20+
for the end of data transfer in HTTP.
21+
1422
- try to remove srv==NULL internally and assign a dummy server to each backend
1523
for dispatch, http_proxy and transparent modes.
1624

17-
- rename L4 acls as L6 ACLs when some content is involved
18-
19-
- add new L4 ACL checks immediately after accept, before even allocating the
20-
buffers ("connection {accept|reject|delay|freeze} {if|unless}").
21-
2225
- implement support for "connection freeze" after accept. A list of frozen
2326
connections should be maintained so that it is possible to recycle them
2427
when new file descriptors are required.
@@ -29,6 +32,10 @@ Legend: '+' = done, '-' = todo, '*' = done except doc
2932

3033
- assign a nice priority based on ACLs.
3134

35+
- dontlog if <acl> (front/back)
36+
37+
- fix "PR--" flags when accessing stats
38+
3239
- pattern extraction is needed for ACLs and stickiness. It would work like
3340
this :
3441

@@ -50,16 +57,71 @@ Legend: '+' = done, '-' = todo, '*' = done except doc
5057
+ present/not present (eg: netmasks)
5158
- pattern conversion per prefixes. Eg: convert src IP to country.
5259

53-
- make new patterns available based on stickiness matching :
54-
- number of entries in table for the matched pattern
55-
- same after having increased the match counter
60+
- add a last activity date for each server (req/resp) that will be
61+
displayed in the stats. It will be useful with soft stop.
62+
63+
- add the ability to only dump response errors to more easily detect
64+
anomalies without being polluted with attacks in requests.
65+
66+
- add an error ID in captures to ease new error detection for scripts.
67+
68+
- automatically compute fullconn for backends : by default, set it to
69+
10% of the sum of the maxconn of all unique frontends which reference
70+
it via use_backend, default_backend or that are in the same listen.
71+
72+
- hash: rehash non-consistent hashes with chash() for more randomness.
73+
74+
- what to do with data after a POST and how to detect some data were
75+
received when responding ? In theory we should read everything because
76+
the TCP stack does not notify us that the FIN was acked. In practice,
77+
reading just before closing should be enough. Right now we simply read
78+
whatever comes after the POST.
79+
80+
- half-closed timeouts ?
81+
82+
- add a flag in logs to indicate keep-alive requests ?
5683

57-
- add support for concurrency match in tables
58-
- just like stickiness, but counted per session (or request), increased
84+
- make it possible to condition a timeout on an ACL
85+
86+
- forwardfor/originalto except with IPv6
87+
88+
- have a callback function which would be called after a server is selected,
89+
for header post-processing. That would be mainly used to remove then add
90+
the server's name or cookie in a header so that the server knows it.
91+
92+
- remove lots of remaining Alert() calls or ensure that they forward to
93+
send_log() after the fork.
94+
95+
DONE:
96+
* rename L4 acls as L6 ACLs when some content is involved
97+
98+
* add new L4 ACL checks immediately after accept, before even allocating the
99+
buffers ("connection {accept|reject|delay|freeze} {if|unless}").
100+
101+
* make new patterns available based on stickiness matching :
102+
* number of entries in table for the matched pattern
103+
* same after having increased the match counter
104+
105+
* add support for concurrency match in tables
106+
* just like stickiness, but counted per session (or request), increased
59107
on first match and decreased at end of request or connection. This
60108
requires that the session has a list of matched terms that must be
61109
released at the end.
62110

111+
* http_req_first ACL
112+
113+
* expirable cookies + "preserve"
114+
115+
* ECV, LDAPv3 & MySQL checks
116+
117+
* configurable check buffer size
118+
119+
* stats + ON/OFF
120+
121+
* halog: sort by URL
122+
123+
* "PROXY" protocol
124+
63125
1.6 (will probably change anyway) :
64126
- wait on resource (mem, socket, server's conn, server's rate, ...)
65127

0 commit comments

Comments
 (0)