Medium-long term roadmap - 2014/06/19

Legend: '+' = done, '-' = todo, '*' = done except doc

1.6 or later :
  - POST parameter extraction and size/speed measurement to use in ACLs

  - return-html code xxx [ file "xxx" | text "xxx" ] if <acl>

  - return-raw  [ file "xxx" | text "xxx" ] if <acl>

  - avg connect time, response time, connect errors, response errors in stats

  - add the ability to only dump response errors to more easily detect
    anomalies without being polluted with attacks in requests.

  - have multi-criteria analysers which subscribe to req flags, rsp flags, and
    stream interface changes. This would result in a single analyser to wait
    for the end of data transfer in HTTP.

  - implement support for "connection freeze" after accept. A list of frozen
    connections should be maintained so that it is possible to recycle them
    when new file descriptors are required.

  - support for time-ordered priority queues with ability to add an offset
    based on request matching. Each session will have one ebtree node to be
    attached to whatever queue the session is waiting in.

  - add a flag in logs to indicate keep-alive requests ?

  - make it possible to condition a timeout on an ACL (dynamic timeouts)

  - forwardfor/originalto except with IPv6

  - remove lots of remaining Alert() calls or ensure that they forward to
    send_log() after the fork.

  - tcp-request session

  - tcp-request session expect-proxy {L4|L5} if ...

  - http-request track-sc* to avoid having the ugly "if !HTTP" in tcp-request

  - wait on resource (time, mem, CPU, socket, buffers, server's conn, server's rate, ...)

  - bandwidth limits

  - create internal services and make stats, CLI, etc... part of that.

  - buddy servers to build defined lists of failovers. Detect loops during
    the config check.

          server XXX buddy YYY
          server YYY    # may replace XXX when XXX fails

  - spare servers : servers which are used in LB only when a minimum farm
    weight threshold is not satisfied anymore. Useful for inter-site LB with
    local pref by default.

  - add support for event-triggered epoll, and maybe change all events handling
    to pass through an event cache to handle temporarily disabled events.

  - evaluate the changes required for multi-process+shared mem or multi-thread
    +thread-local+fast locking.

  - ability to decide whether to drain or kill sessions when putting a server
    to maintenance mode => requires a per-server session list and the change
    above.

Old, maybe obsolete points :
  - clarify licence by adding a 'MODULE_LICENCE("GPL")' or something equivalent.

  - 3 memory models : failsafe (prealloc), normal (current), optimal (alloc on
    demand)

  - implement support for event-triggerred epoll()

  - verify if it would be worth implementing an epoll_ctl_batch() for Linux

  - option minservers XXX : activates some spare servers when active servers
    are insufficient

  - new keyword 'check' : check http xxx, check smtp xxx, check ssl-hello

  - initcwnd parameter for bind sockets : needed in kernel first

  - have a callback function which would be called after a server is selected,
    for header post-processing. That would be mainly used to remove then add
    the server's name or cookie in a header so that the server knows it.

Unsorted :
  - outgoing log load-balancing (round-robin or hash among multiple servers)

  - internal socket for "server XXX frontend:name"

  - HTTP/2.0

  - DNS requests on health checks

  - XML inspection (content-switching for SOAP requests)

  - sync all stick-tables data, not just serverid.

  - request, session and user variables

  - random cookie generator

  - external checker

  - fastcgi to servers

  - hot config reload

  - RAM-based cache for small files

  - RHI - BGP

  - telnet/SSH cli

  - dynamic memory allocation

  - dynamic weights based on check response headers and traffic response time

  - various kernel-level acceleration (multi-accept, ssplice, epoll2...)
