Created
May 4, 2012 18:41
-
-
Save lypanov/2596851 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2012/03/26 : 1.5-dev8 | |
- MINOR: patch for minor typo (ressources/resources) | |
- MEDIUM: http: add support for sending the server's name in the outgoing request | |
- DOC: mention that default checks are TCP connections | |
- BUG/MINOR: fix options forwardfor if-none when an alternative header name is specified | |
- CLEANUP: Make check_statuses, analyze_statuses and process_chk static | |
- CLEANUP: Fix HCHK spelling errors | |
- BUG/MINOR: fix typo in processing of http-send-name-header | |
- MEDIUM: log: Use linked lists for loggers | |
- BUILD: fix declaration inside a scope block | |
- REORG: log: split send_log function | |
- MINOR: config: Parse the string of the log-format config keyword | |
- MINOR: add ultoa, ulltoa, ltoa, lltoa implementations | |
- MINOR: Date and time fonctions that don't use snprintf | |
- MEDIUM: log: make http_sess_log use log_format | |
- DOC: log-format documentation | |
- MEDIUM: log: use log_format for mode tcplog | |
- MEDIUM: log-format: backend source address %Bi %Bp | |
- BUG/MINOR: log-format: fix %o flag | |
- BUG/MEDIUM: bad length in log_format and __send_log | |
- MINOR: logformat %st is signed | |
- BUILD/MINOR: fix the source URL in the spec file | |
- DOC: acl is http_first_req, not http_req_first | |
- BUG/MEDIUM: don't trim last spaces from headers consisting only of spaces | |
- MINOR: acl: add new matches for header/path/url length | |
- BUILD: halog: make halog build on solaris | |
- BUG/MINOR: don't use a wrong port when connecting to a server with mapped ports | |
- MINOR: remove the client/server side distinction in SI addresses | |
- MINOR: halog: add support for matching queued requests | |
- DOC: indicate that cookie "prefix" and "indirect" should not be mixed | |
- OPTIM/MINOR: move struct sockaddr_storage to the tail of structs | |
- OPTIM/MINOR: make it possible to change pipe size (tune.pipesize) | |
- BUILD/MINOR: silent a build warning in src/pipe.c (fcntl) | |
- OPTIM/MINOR: move the hdr_idx pools out of the proxy struct | |
- MEDIUM: tune.http.maxhdr makes it possible to configure the maximum number of HTTP headers | |
- BUG/MINOR: fix a segfault when parsing a config with undeclared peers | |
- CLEANUP: rename possibly confusing struct field "tracked" | |
- BUG/MEDIUM: checks: fix slowstart behaviour when server tracking is in use | |
- MINOR: config: tolerate server "cookie" setting in non-HTTP mode | |
- MEDIUM: buffers: add some new primitives and rework existing ones | |
- BUG: buffers: don't return a negative value on buffer_total_space_res() | |
- MINOR: buffers: make buffer_pointer() support negative pointers too | |
- CLEANUP: kill buffer_replace() and use an inline instead | |
- BUG: tcp: option nolinger does not work on backends | |
- CLEANUP: ebtree: remove a few annoying signedness warnings | |
- CLEANUP: ebtree: clarify licence and update to 6.0.6 | |
- CLEANUP: ebtree: remove 4-year old harmless typo in duplicates insertion code | |
- CLEANUP: ebtree: remove another typo, a wrong initialization in insertion code | |
- BUG: ebtree: ebst_lookup() could return the wrong entry | |
- OPTIM: stream_sock: reduce the amount of in-flight spliced data | |
- OPTIM: stream_sock: save a failed recv syscall when splice returns EAGAIN | |
- MINOR: acl: add support for TLS server name matching using SNI | |
- BUG: http: re-enable TCP quick-ack upon incomplete HTTP requests | |
- BUG: proto_tcp: don't try to bind to a foreign address if sin_family is unknown | |
- MINOR: pattern: export the global temporary pattern | |
- CLEANUP: patterns: get rid of pattern_data_setstring() | |
- MEDIUM: acl: use temp_pattern to store fetched information in the "method" match | |
- MINOR: acl: include pattern.h to make pattern migration more transparent | |
- MEDIUM: pattern: change the pattern data integer from unsigned to signed | |
- MEDIUM: acl: use temp_pattern to store any integer-type information | |
- MEDIUM: acl: use temp_pattern to store any address-type information | |
- CLEANUP: acl: integer part of acl_test is not used anymore | |
- MEDIUM: acl: use temp_pattern to store any string-type information | |
- CLEANUP: acl: remove last data fields from the acl_test struct | |
- MEDIUM: http: replace get_ip_from_hdr2() with http_get_hdr() | |
- MEDIUM: patterns: the hdr() pattern is now of type string | |
- DOC: add minimal documentation on how ACLs work internally | |
- DOC: add a coding-style file | |
- OPTIM: halog: keep a fast path for the lines-count only | |
- CLEANUP: silence a warning when building on sparc | |
- BUG: http: tighten the list of allowed characters in a URI | |
- MEDIUM: http: block non-ASCII characters in URIs by default | |
- DOC: add some documentation from RFC3986 about URI format | |
- BUG/MINOR: cli: correctly remove the whole table on "clear table" | |
- BUG/MEDIUM: correctly disable servers tracking another disabled servers. | |
- BUG/MEDIUM: zero-weight servers must not dequeue requests from the backend | |
- MINOR: halog: add some help on the command line | |
- BUILD: fix build error on FreeBSD | |
- BUG: fix double free in peers config error path | |
- MEDIUM: improve config check return codes | |
- BUILD: make it possible to look for pcre in the default system paths | |
- MINOR: config: emit a warning when 'default_backend' masks servers | |
- MINOR: backend: rework the LC definition to support other connection-based algos | |
- MEDIUM: backend: add the 'first' balancing algorithm | |
- BUG: fix httplog trailing LF | |
- MEDIUM: increase chunk-size limit to 2GB-1 | |
- BUG: queue: fix dequeueing sequence on HTTP keep-alive sessions | |
- BUG: http: disable TCP delayed ACKs when forwarding content-length data | |
- BUG: checks: fix server maintenance exit sequence | |
- BUG/MINOR: stream_sock: don't remove BF_EXPECT_MORE and BF_SEND_DONTWAIT on partial writes | |
- DOC: enumerate valid status codes for "observe layer7" | |
- MINOR: buffer: switch a number of buffer args to const | |
- CLEANUP: silence signedness warning in acl.c | |
- BUG: stream_sock: si->release was not called upon shutw() | |
- MINOR: log: use "%ts" to log term status only and "%tsc" to log with cookie | |
- BUG/CRITICAL: log: fix risk of crash in development snapshot | |
- BUG/MAJOR: possible crash when using capture headers on TCP frontends | |
- MINOR: config: disable header captures in TCP mode and complain | |
2011/09/10 : 1.5-dev7 | |
- [BUG] fix binary stick-tables | |
- [MINOR] http: *_dom matching header functions now also split on ":" | |
- [BUG] checks: fix support of Mysqld >= 5.5 for mysql-check | |
- [MINOR] acl: add srv_conn acl to count connections on a specific backend server | |
- [MINOR] check: add redis check support | |
- [DOC] small fixes to clearly distinguish between keyword and variables | |
- [MINOR] halog: add support for termination code matching (-tcn/-TCN) | |
- [DOC] Minor spelling fixes and grammatical enhancements | |
- [CLEANUP] dumpstats: make symbols static where possible | |
- [MINOR] Break out dumping table | |
- [MINOR] Break out processing of clear table | |
- [MINOR] Allow listing of stick table by key | |
- [MINOR] Break out all stick table socat command parsing | |
- [MINOR] More flexible clearing of stick table | |
- [MINOR] Allow showing and clearing by key of ipv6 stick tables | |
- [MINOR] Allow showing and clearing by key of integer stick tables | |
- [MINOR] Allow showing and clearing by key of string stick tables | |
- [CLEANUP] Remove assigned but unused variables | |
- [CLEANUP] peers.h: fix declarations | |
- [CLEANUP] session.c: Make functions static where possible | |
- [MINOR] Add active connection list to server | |
- [MINOR] Allow shutdown of sessions when a server becomes unavailable | |
- [MINOR] Add down termination condition | |
- [MINOR] Make appsess{,ion}_refresh static | |
- [MINOR] Add rdp_cookie pattern fetch function | |
- [CLEANUP] Remove unnecessary casts | |
- [MINOR] Add non-stick server option | |
- [MINOR] Consistently use error in tcp_parse_tcp_req() | |
- [MINOR] Consistently free expr on error in cfg_parse_listen() | |
- [MINOR] Free rdp_cookie_name on denint() | |
- [MINOR] Free tcp rules on denint() | |
- [MINOR] Free stick table pool on denint() | |
- [MINOR] Free stick rules on denint() | |
- [MEDIUM] Fix stick-table replication on soft-restart | |
- [MEDIUM] Correct ipmask() logic | |
- [MINOR] Correct type in table dump examples | |
- [MINOR] Fix build error in stream_int_register_handler() | |
- [MINOR] Use DPRINTF in assign_server() | |
- [BUG] checks: http-check expect could fail a check on multi-packet responses | |
- [DOC] fix minor typo in the "dispatch" doc | |
- [BUG] proto_tcp: fix address binding on remote source | |
- [MINOR] http: don't report the "haproxy" word on the monitoring response | |
- [REORG] http: move HTTP error codes back to proto_http.h | |
- [MINOR] http: make the "HTTP 200" status code configurable. | |
- [MINOR] http: partially revert the chunking optimization for now | |
- [MINOR] stream_sock: always clear BF_EXPECT_MORE upon complete transfer | |
- [CLEANUP] stream_sock: remove unneeded FL_TCP and factor out test | |
- [MEDIUM] http: add support for "http-no-delay" | |
- [OPTIM] http: optimize chunking again in non-interactive mode | |
- [OPTIM] stream_sock: avoid fast-forwarding of partial data | |
- [OPTIM] stream_sock: don't use splice on too small payloads | |
- [MINOR] config: make it possible to specify a cookie even without a server | |
- [BUG] stats: support url-encoded forms | |
- [MINOR] config: automatically compute a default fullconn value | |
- [CLEANUP] config: remove some left-over printf debugging code from previous patch | |
- [DOC] add missing entry or stick store-response | |
- [MEDIUM] http: add support for 'cookie' and 'set-cookie' patterns | |
- [BUG] halog: correctly handle truncated last line | |
- [MINOR] halog: make SKIP_CHAR stop on field delimiters | |
- [MINOR] halog: add support for HTTP log matching (-H) | |
- [MINOR] halog: gain back performance before SKIP_CHAR fix | |
- [OPTIM] halog: cache some common fields positions | |
- [OPTIM] halog: check once for correct line format and reuse the pointer | |
- [OPTIM] halog: remove many 'if' by using a function pointer for the filters | |
- [OPTIM] halog: remove support for tab delimiters in input data | |
- [BUG] session: risk of crash on out of memory (1.5-dev regression) | |
- [MINOR] session: try to emit a 500 response on memory allocation errors | |
- [OPTIM] stream_sock: reduce the default number of accepted connections at once | |
- [BUG] stream_sock: disable listener when system resources are exhausted | |
- [MEDIUM] proxy: add a PAUSED state to listeners and move socket tricks out of proxy.c | |
- [BUG] stream_sock: ensure orphan listeners don't accept too many connections | |
- [MINOR] listeners: add listen_full() to mark a listener full | |
- [MINOR] listeners: add support for queueing resource limited listeners | |
- [MEDIUM] listeners: put listeners in queue upon resource shortage | |
- [MEDIUM] listeners: queue proxy-bound listeners at the proxy's | |
- [MEDIUM] listeners: don't stop proxies when global maxconn is reached | |
- [MEDIUM] listeners: don't change listeners states anymore in maintain_proxies | |
- [CLEANUP] proxy: rename a few proxy states (PR_STIDLE and PR_STRUN) | |
- [MINOR] stats: report a "WAITING" state for sockets waiting for resource | |
- [MINOR] proxy: make session rate-limit more accurate | |
- [MINOR] sessions: only wake waiting listeners up if rate limit is OK | |
- [BUG] proxy: peers must only be stopped once, not upon every call to maintain_proxies | |
- [CLEANUP] proxy: merge maintain_proxies() operation inside a single loop | |
- [MINOR] task: new function task_schedule() to schedule a wake up | |
- [MAJOR] proxy: finally get rid of maintain_proxies() | |
- [BUG] proxy: stats frontend and peers were missing many initializers | |
- [MEDIUM] listeners: add a global listener management task | |
- [MINOR] proxy: make findproxy() return proxies from numeric IDs too | |
- [DOC] fix typos, "#" is a sharp, not a dash | |
- [MEDIUM] stats: add support for changing frontend's maxconn at runtime | |
- [MEDIUM] checks: group health checks methods by values and save option bits | |
- [MINOR] session-counters: add the ability to clear the counters | |
- [BUG] check: http-check expect + regex would crash in defaults section | |
- [MEDIUM] http: make x-forwarded-for addition conditional | |
- [REORG] build: move syscall redefinition to specific places | |
- [CLEANUP] update the year in the copyright banner | |
- [BUG] possible crash in 'show table' on stats socket | |
- [BUG] checks: use the correct destination port for sending checks | |
- [BUG] backend: risk of picking a wrong port when mapping is used with crossed families | |
- [MINOR] make use of set_host_port() and get_host_port() to get rid of family mismatches | |
- [DOC] fixed a few "sensible" -> "sensitive" errors | |
- [MINOR] make use of addr_to_str() and get_host_port() to replace many inet_ntop() | |
- [BUG] http: trailing white spaces must also be trimmed after headers | |
- [MINOR] stats: display "<NONE>" instead of the frontend name when unknown | |
- [MINOR] http: take a capture of too large requests and responses | |
- [MINOR] http: take a capture of truncated responses | |
- [MINOR] http: take a capture of bad content-lengths. | |
- [DOC] add a few old and uncommitted docs | |
- [CLEANUP] cfgparse: fix reported options for the "bind" keyword | |
- [MINOR] halog: add -hs/-HS to filter by HTTP status code range | |
- [MINOR] halog: support backslash-escaped quotes | |
- [CLEANUP] remove dirty left-over of a debugging message | |
- [MEDIUM] stats: disable complex socket reservation for stats socket | |
- [CLEANUP] remove a useless test in manage_global_listener_queue() | |
- [MEDIUM] stats: add the "set maxconn" setting to the command line interface | |
- [MEDIUM] add support for global.maxconnrate to limit the per-process conn rate. | |
- [MINOR] stats: report the current and max global connection rates | |
- [MEDIUM] stats: add the ability to adjust the global maxconnrate | |
- [BUG] peers: don't pre-allocate 65000 connections to each peer | |
- [MEDIUM] don't limit peers nor stats socket to maxconn nor maxconnrate | |
- [BUG] peers: the peer frontend must not emit any log | |
- [CLEANUP] proxy: make pause_proxy() perform the required controls and emit the logs | |
- [BUG] peers: don't keep a peers section which has a NULL frontend | |
- [BUG] peers: ensure the peers are resumed if they were paused | |
- [MEDIUM] stats: add the ability to enable/disable/shutdown a frontend at runtime | |
- [MEDIUM] session: make session_shutdown() an independant function | |
- [MEDIUM] stats: offer the possibility to kill a session from the CLI | |
- [CLEANUP] stats: centralize tests for backend/server inputs on the CLI | |
- [MEDIUM] stats: offer the possibility to kill sessions by server | |
- [MINOR] halog: do not consider byte 0x8A as end of line | |
- [MINOR] frontend: ensure debug message length is always initialized | |
- [OPTIM] halog: make fgets parse more bytes by blocks | |
- [OPTIM] halog: add assembly version of the field lookup code | |
- [MEDIUM] poll: add a measurement of idle vs work time | |
- [CLEANUP] startup: report only the basename in the usage message | |
- [MINOR] startup: add an option to change to a new directory | |
- [OPTIM] task: don't scan the run queue if we know it's empty | |
- [BUILD] stats: stdint is not present on solaris | |
- [DOC] update the README file to reflect new naming rules for patches | |
- [MINOR] stats: report the number of requests intercepted by the frontend | |
- [DOC] update ROADMAP file | |
2011/04/08 : 1.5-dev6 | |
- [BUG] stream_sock: use get_addr_len() instead of sizeof() on sockaddr_storage | |
- [BUG] TCP source tracking was broken with IPv6 changes | |
- [BUG] stick-tables did not work when converting IPv6 to IPv4 | |
- [CRITICAL] fix risk of crash when dealing with space in response cookies | |
2011/03/29 : 1.5-dev5 | |
- [BUG] standard: is_addr return value for IPv4 was inverted | |
- [MINOR] update comment about IPv6 support for server | |
- [MEDIUM] use getaddrinfo to resolve names if gethostbyname fail | |
- [DOC] update IPv6 support for bind | |
- [DOC] document IPv6 support for server | |
- [DOC] fix a minor typo | |
- [MEDIUM] IPv6 support for syslog | |
- [DOC] document IPv6 support for syslog | |
- [MEDIUM] IPv6 support for stick-tables | |
- [DOC] document IPv6 support for stick-tables | |
- [DOC] update ROADMAP file | |
- [BUG] session: src_conn_cur was returning src_conn_cnt instead | |
- [MINOR] frontend: add a make_proxy_line function | |
- [MEDIUM] stream_sock: add support for sending the proxy protocol header line | |
- [MEDIUM] server: add support for the "send-proxy" option | |
- [DOC] update the spec on the proxy protocol | |
- [BUILD] proto_tcp: fix build issue with CTTPROXY | |
- [DOC] update ROADMAP file | |
- [MEDIUM] config: rework the IPv4/IPv6 address parser to support host-only addresses | |
- [MINOR] cfgparse: better report wrong listening addresses and make use of str2sa_range | |
- [BUILD] add the USE_GETADDRINFO build option | |
- [TESTS] provide a test case for various address formats | |
- [BUG] session: conn_retries was not always initialized | |
- [BUG] log: retrieve the target from the session, not the SI | |
- [BUG] http: fix possible incorrect forwarded wrapping chunk size (take 2) | |
- [MINOR] tools: add two macros MID_RANGE and MAX_RANGE | |
- [BUG] http: fix content-length handling on 32-bit platforms | |
- [OPTIM] buffers: uninline buffer_forward() | |
- [BUG] stream_sock: fix handling for server side PROXY protocol | |
- [MINOR] acl: add support for table_cnt and table_avl matches | |
- [DOC] update ROADMAP file | |
2011/03/13 : 1.5-dev4 | |
- [MINOR] cfgparse: Check whether the path given for the stats socket actually fits into the sockaddr_un structure to avoid truncation. | |
- [MINOR] unix sockets : inherits the backlog size from the listener | |
- [CLEANUP] unix sockets : move create_uxst_socket() in uxst_bind_listener() | |
- [DOC] fix a minor typo | |
- [DOC] fix ignore-persist documentation | |
- [MINOR] add warnings on features not compatible with multi-process mode | |
- [BUG] http: fix http-pretend-keepalive and httpclose/tunnel mode | |
- [MINOR] stats: add support for several packets in stats admin | |
- [BUG] stats: admin commands must check the proxy state | |
- [BUG] stats: admin web interface must check the proxy state | |
- [MINOR] http: add pattern extraction method to stick on query string parameter | |
- [MEDIUM] add internal support for IPv6 server addresses | |
- [MINOR] acl: add be_id/srv_id to match backend's and server's id | |
- [MINOR] log: add support for passing the forwarded hostname | |
- [MINOR] log: ability to override the syslog tag | |
- [MINOR] checks: add PostgreSQL health check | |
- [DOC] update ROADMAP file | |
- [BUILD] pattern: use 'int' instead of 'int32_t' | |
- [OPTIM] linux: add support for bypassing libc to force using vsyscalls | |
- [BUG] debug: report the correct poller list in verbose mode | |
- [BUG] capture: do not capture a cookie if there is no memory left | |
- [BUG] appsession: fix possible double free in case of out of memory | |
- [CRITICAL] cookies: mixing cookies in indirect mode and appsession can crash the process | |
- [BUG] http: correctly update the header list when removing two consecutive headers | |
- [BUILD] add the CPU=native and ARCH=32/64 build options | |
- [BUILD] add -fno-strict-aliasing to fix warnings with gcc >= 4.4 | |
- [CLEANUP] hash: move the avalanche hash code globally available | |
- [MEDIUM] hash: add support for an 'avalanche' hash-type | |
- [DOC] update roadmap file | |
- [BUG] http: do not re-enable the PROXY analyser on keep-alive | |
- [OPTIM] http: don't send each chunk in a separate packet | |
- [DOC] fix minor typos reported recently in the peers section | |
- [DOC] fix another typo in the doc | |
- [MINOR] stats: report HTTP message state and buffer flags in error dumps | |
- [BUG] http chunking: don't report a parsing error on connection errors | |
- [BUG] stream_interface: truncate buffers when sending error messages | |
- [MINOR] http: support wrapping messages in error captures | |
- [MINOR] http: capture incorrectly chunked message bodies | |
- [MINOR] stats: add global event ID and count | |
- [BUG] http: analyser optimizations broke pipelining | |
- [CLEANUP] frontend: only apply TCP-specific settings to TCP/TCP6 sockets | |
- [BUG] http: fix incorrect error reporting during data transfers | |
- [CRITICAL] session: correctly leave turn-around and queue states on abort | |
- [BUG] session: release slot before processing pending connections | |
- [MINOR] tcp: add support for dynamic MSS setting | |
- [BUG] stick-table: correctly terminate string keys during lookups | |
- [BUG] acl: fix handling of empty lines in pattern files | |
- [BUG] stick-table: use the private buffer when padding strings | |
- [BUG] ebtree: fix ebmb_lookup() with len smaller than the tree's keys | |
- [OPTIM] ebtree: ebmb_lookup: reduce stack usage by moving the return code out of the loop | |
- [OPTIM] ebtree: inline ebst_lookup_len and ebis_lookup_len | |
- [REVERT] undo the stick-table string key lookup fixes | |
- [MINOR] http: improve url_param pattern extraction to ignore empty values | |
- [BUILD] frontend: shut a warning with TCP_MAXSEG | |
- [BUG] http: update the header list's tail when removing the last header | |
- [DOC] fix minor typo in the proxy protocol doc | |
- [DOC] fix typos (http-request instead of http-check) | |
- [BUG] http: use correct ACL pointer when evaluating authentication | |
- [BUG] cfgparse: correctly count one socket per port in ranges | |
- [BUG] startup: set the rlimits before binding ports, not after. | |
- [BUG] acl: srv_id must return no match when the server is NULL | |
- [MINOR] acl: add ability to check for internal response-only parameters | |
- [MINOR] acl: srv_id is only valid in responses | |
- [MINOR] config: warn if response-only conditions are used in "redirect" rules | |
- [BUG] acl: fd leak when reading patterns from file | |
- [DOC] fix minor typo in "usesrc" | |
- [BUG] http: fix possible incorrect forwarded wrapping chunk size | |
- [BUG] http: fix computation of message body length after forwarding has started | |
- [BUG] http: balance url_param did not work with first parameters on POST | |
- [TESTS] update the url_param regression test to test check_post too | |
- [DOC] update ROADMAP | |
- [DOC] internal: reflect the fact that SI_ST_ASS is transient | |
- [BUG] config: don't crash on empty pattern files. | |
- [MINOR] stream_interface: make use of an applet descriptor for IO handlers | |
- [REORG] stream_interface: move the st0, st1 and private members to the applet | |
- [REORG] stream_interface: split the struct members in 3 parts | |
- [REORG] session: move client and server address to the stream interface | |
- [REORG] tcp: make tcpv4_connect_server() take the target address from the SI | |
- [MEDIUM] stream_interface: store the target pointer and type | |
- [CLEANUP] stream_interface: remove the applet.handler pointer | |
- [MEDIUM] log: take the logged server name from the stream interface | |
- [CLEANUP] session: remove data_source from struct session | |
- [CLEANUP] stats: make all dump functions only rely on the stream interface | |
- [REORG] session: move the data_ctx struct to the stream interface's applet | |
- [MINOR] proxy: add PR_O2_DISPATCH to detect dispatch mode | |
- [MINOR] cfgparse: only keep one of dispatch, transparent, http_proxy | |
- [MINOR] session: add a pointer to the new target into the session | |
- [MEDIUM] session: remove s->prev_srv which is not needed anymore | |
- [CLEANUP] stream_interface: use inline functions to manipulate targets | |
- [MAJOR] session: remove the ->srv pointer from struct session | |
- [MEDIUM] stats: split frontend and backend stats | |
- [MEDIUM] http: always evaluate http-request rules before stats http-request | |
- [REORG] http: move the http-request rules to proto_http | |
- [BUG] http: stats were not incremented on http-request deny | |
- [MINOR] checks: report it if checks fail due to socket creation error | |
2010/11/11 : 1.5-dev3 | |
- [DOC] fix http-request documentation | |
- [MEDIUM] enable/disable servers from the stats web interface | |
- [MEDIUM] stats: add an admin level | |
- [DOC] stats: document the "stats admin" statement | |
- [MINOR] startup: print the proxy socket which caused an error | |
- [CLEANUP] Remove unneeded chars allocation | |
- [MINOR] config: detect options not supported due to compilation options | |
- [MINOR] Add pattern's fetchs payload and payload_lv | |
- [MINOR] frontend: improve accept-proxy header parsing | |
- [MINOR] frontend: add tcpv6 support on accept-proxy bind | |
- [MEDIUM] Enhance message errors management on binds | |
- [MINOR] Manage unix socket source field on logs | |
- [MINOR] Manage unix socket source field on session dump on sock stats | |
- [MINOR] Support of unix listener sockets for debug and log event messages on frontend.c | |
- [MINOR] Add some tests on sockets family for port remapping and mode transparent. | |
- [MINOR] Manage socket type unix for some logs | |
- [MINOR] Enhance controls of socket's family on acls and pattern fetch | |
- [MINOR] Support listener's sockets unix on http logs. | |
- [MEDIUM] Add supports of bind on unix sockets. | |
- [BUG] stick table purge failure if size less than 255 | |
- [BUG] stick table entries expire on counters updates/read or show table, even if there is no "expire" parameter | |
- [MEDIUM] Implement tcp inspect response rules | |
- [DOC] tcp-response content and inspect | |
- [MINOR] new acls fetch req_ssl_hello_type and rep_ssl_hello_type | |
- [DOC] acls rep_ssl_hello and req_ssl_hello | |
- [MEDIUM] Create new protected pattern types CONSTSTRING and CONSTDATA to force memcpy if data from protected areas need to be manipulated. | |
- [DOC] new type binary in stick-table | |
- [DOC] stick store-response and new patterns payload and payload_lv | |
- [MINOR] Manage all types (ip, integer, string, binary) on cli "show table" command | |
- [MEDIUM] Create updates tree on stick table to manage sync. | |
- [MAJOR] Add new files src/peer.c, include/proto/peers.h and include/types/peers.h for sync stick table management | |
- [MEDIUM] Manage peers section parsing and stick table registration on peers. | |
- [MEDIUM] Manage soft stop on peers proxy | |
- [DOC] add documentation for peers section | |
- [MINOR] checks: add support for LDAPv3 health checks | |
- [MINOR] add better support to "mysql-check" | |
- [BUG] Restore info about available active/backup servers | |
- [CONTRIB] Update haproxy.pl | |
- [CONTRIB] Update Cacti Tempates | |
- [CONTRIB] add templates for Cacti. | |
- [BUG] http: don't consider commas as a header delimitor within quotes | |
- [MINOR] support a global jobs counter | |
- [DOC] add a summary about cookie incompatibilities between specs and browsers | |
- [DOC] fix description of cookie "insert" and "indirect" modes | |
- [MEDIUM] http: fix space handling in the request cookie parser | |
- [MEDIUM] http: fix space handling in the response cookie parser | |
- [DOC] fix typo in the queue() definition (backend, not frontend) | |
- [BUG] deinit: unbind listeners before freeing them | |
- [BUG] stream_interface: only call si->release when both dirs are closed | |
- [MEDIUM] buffers: rework the functions to exchange between SI and buffers | |
- [DOC] fix typo in the avg_queue() and be_conn() definition (backend, not frontend) | |
- [MINOR] halog: add '-tc' to sort by termination codes | |
- [MINOR] halog: skip non-traffic logs for -st and -tc | |
- [BUG] stream_sock: cleanly disable the listener in case of resource shortage | |
- [BUILD] stream_sock: previous fix lacked the #include, causing a warning. | |
- [DOC] bind option is "defer-accept", not "defer_accept" | |
- [DOC] missing index entry for http-check send-state | |
- [DOC] tcp-request inspect-delay is for backends too | |
- [BUG] ebtree: string_equal_bits() could return garbage on identical strings | |
- [BUG] stream_sock: try to flush any extra pending request data after a POST | |
- [BUILD] proto_http: eliminate some build warnings with gcc-2.95 | |
- [MEDIUM] make it possible to combine http-pretend-keepalived with httpclose | |
- [MEDIUM] tcp-request : don't wait for inspect-delay to expire when the buffer is full | |
- [MEDIUM] checks: add support for HTTP contents lookup | |
- [TESTS] add test-check-expect to test various http-check methods | |
- [MINOR] global: add "tune.chksize" to change the default check buffer size | |
- [MINOR] cookie: add options "maxidle" and "maxlife" | |
- [MEDIUM] cookie: support client cookies with some contents appended to their value | |
- [MINOR] http: make some room in the transaction flags to extend cookies | |
- [MINOR] cookie: add the expired (E) and old (O) flags for request cookies | |
- [MEDIUM] cookie: reassign set-cookie status flags to store more states | |
- [MINOR] add encode/decode function for 30-bit integers from/to base64 | |
- [MEDIUM] cookie: check for maxidle and maxlife for incoming dated cookies | |
- [MEDIUM] cookie: set the date in the cookie if needed | |
- [DOC] document the cookie maxidle and maxlife parameters | |
- [BUG] checks: don't log backend down for all zero-weight servers | |
- [MEDIUM] checks: set server state to one state from failure when leaving maintenance | |
- [BUG] config: report correct keywords for "observe" | |
- [MINOR] checks: ensure that we can inherit binary checks from the defaults section | |
- [MINOR] acl: add the http_req_first match | |
- [DOC] fix typos about bind-process syntax | |
- [BUG] cookie: correctly unset default cookie parameters | |
- [MINOR] cookie: add support for the "preserve" option | |
- [BUG] ebtree: fix duplicate strings insertion | |
- [CONTRIB] halog: report per-url counts, errors and times | |
- [CONTRIB] halog: minor speed improvement in timer parser | |
- [MINOR] buffers: add a new request analyser flag for PROXY mode | |
- [MINOR] listener: add the "accept-proxy" option to the "bind" keyword | |
- [MINOR] standard: add read_uint() to parse a delimited unsigned integer | |
- [MINOR] standard: change arg type from const char* to char* | |
- [MINOR] frontend: add a new analyser to parse a proxied connection | |
- [MEDIUM] session: call the frontend_decode_proxy analyser on proxied connections | |
- [DOC] add the proxy protocol's specifications | |
- [DOC] document the 'accept-proxy' bind option | |
- [MINOR] cfgparse: report support of <path> for the 'bind' statements | |
- [DOC] add references to unix socket handling | |
- [MINOR] move MAXPATHLEN definition to compat.h | |
- [MEDIUM] unix sockets: cleanup the error reporting path | |
- [BUG] session: don't stop forwarding of data upon last packet | |
- [CLEANUP] accept: replace some inappropriate Alert() calls with send_log() | |
- [BUILD] peers: shut a printf format warning (key_size is a size_t) | |
- [BUG] accept: don't close twice upon error | |
- [OPTIM] session: don't recheck analysers when buffer flags have not changed | |
- [OPTIM] stream_sock: don't clear FDs that are already cleared | |
- [BUG] proto_tcp: potential bug on pattern fetch dst and dport | |
2010/08/28 : 1.5-dev2 | |
- [MINOR] startup: release unused structs after forking | |
- [MINOR] startup: don't wait for nothing when no old pid remains | |
- [CLEANUP] reference product branch 1.5 | |
- [MEDIUM] signals: add support for registering functions and tasks | |
- [MEDIUM] signals: support redistribution of signal zero when stopping | |
- [BUG] http: don't set auto_close if more data are expected | |
2010/08/25 : 1.5-dev1 | |
- [BUG] stats: session rate limit gets garbaged in the stats | |
- [DOC] mention 'option http-server-close' effect in Tq section | |
- [DOC] summarize and highlight persistent connections behaviour | |
- [DOC] add configuration samples | |
- [BUG] http: dispatch and http_proxy modes were broken for a long time | |
- [BUG] http: the transaction must be initialized even in TCP mode | |
- [BUG] tcp: dropped connections must be counted as "denied" not "failed" | |
- [BUG] consistent hash: balance on all servers, not only 2 ! | |
- [CONTRIB] halog: report per-server status codes, errors and response times | |
- [BUG] http: the transaction must be initialized even in TCP mode (part 2) | |
- [BUG] client: always ensure to zero rep->analysers | |
- [BUG] session: clear BF_READ_ATTACHED before next I/O | |
- [BUG] http: automatically close response if req is aborted | |
- [BUG] proxy: connection rate limiting was eating lots of CPU | |
- [BUG] http: report correct flags in case of client aborts during body | |
- [TESTS] refine non-regression tests and add 4 new tests | |
- [BUG] debug: wrong pointer was used to report a status line | |
- [BUG] debug: correctly report truncated messages | |
- [DOC] document the "dispatch" keyword | |
- [BUG] stick_table: fix possible memory leak in case of connection error | |
- [CLEANUP] acl: use 'L6' instead of 'L4' in ACL flags relying on contents | |
- [MINOR] accept: count the incoming connection earlier | |
- [CLEANUP] tcp: move some non tcp-specific layer6 processing out of proto_tcp | |
- [CLEANUP] client: move some ACLs away to their respective locations | |
- [CLEANUP] rename client -> frontend | |
- [MEDIUM] separate protocol-level accept() from the frontend's | |
- [MINOR] proxy: add a list to hold future layer 4 rules | |
- [MEDIUM] config: parse tcp layer4 rules (tcp-request accept/reject) | |
- [MEDIUM] tcp: check for pure layer4 rules immediately after accept() | |
- [OPTIM] frontend: tell the compiler that errors are unlikely to occur | |
- [MEDIUM] frontend: check for LI_O_TCP_RULES in the listener | |
- [MINOR] frontend: only check for monitor-net rules if LI_O_CHK_MONNET is set | |
- [CLEANUP] buffer->cto is not used anymore | |
- [MEDIUM] session: finish session establishment sequence in with I/O handlers | |
- [MEDIUM] session: initialize server-side timeouts after connect() | |
- [MEDIUM] backend: initialize the server stream_interface upon connect() | |
- [MAJOR] frontend: don't initialize the server-side stream_int anymore | |
- [MEDIUM] session: move the conn_retries attribute to the stream interface | |
- [MEDIUM] session: don't assign conn_retries upon accept() anymore | |
- [MINOR] frontend: rely on the frontend and not the backend for INDEPSTR | |
- [MAJOR] frontend: reorder the session initialization upon accept | |
- [MINOR] proxy: add an accept() callback for the application layer | |
- [MAJOR] frontend: split accept() into frontend_accept() and session_accept() | |
- [MEDIUM] stats: rely on the standard session_accept() function | |
- [MINOR] buffer: refine the flags that may wake an analyser up. | |
- [MINOR] stream_sock: don't dereference a non-existing frontend | |
- [MINOR] session: differenciate between accepted connections and received connections | |
- [MEDIUM] frontend: count the incoming connection earlier | |
- [MINOR] frontend: count denied TCP requests separately | |
- [CLEANUP] stick_table: add/clarify some comments | |
- [BUILD] memory: add a few missing parenthesis to the pool management macros | |
- [MINOR] stick_table: add support for variable-sized data | |
- [CLEANUP] stick_table: rename some stksess struct members to avoid confusion | |
- [CLEANUP] stick_table: move pattern to key functions to stick_table.c | |
- [MEDIUM] stick_table: add room for extra data types | |
- [MINOR] stick_table: add support for "conn_cum" data type. | |
- [MEDIUM] stick_table: don't overwrite data when storing an entry | |
- [MINOR] config: initialize stick tables after all the parsing | |
- [MINOR] stick_table: provide functions to return stksess data from a type | |
- [MEDIUM] stick_table: move the server ID to a generic data type | |
- [MINOR] stick_table: enable it for frontends too | |
- [MINOR] stick_table: export the stick_table_key | |
- [MINOR] tcp: add per-source connection rate limiting | |
- [MEDIUM] stick_table: separate storage and update of session entries | |
- [MEDIUM] stick-tables: add a reference counter to each entry | |
- [MINOR] session: add a pointer to the tracked counters for the source | |
- [CLEANUP] proto_tcp: make the config parser a little bit more flexible | |
- [BUG] config: report the correct proxy type in tcp-request errors | |
- [MINOR] config: provide a function to quote args in a more friendly way | |
- [BUG] stick_table: the fix for the memory leak caused a regression | |
- [MEDIUM] backend: support servers on 0.0.0.0 | |
- [BUG] stick-table: correctly refresh expiration timers | |
- [MEDIUM] stream-interface: add a ->release callback | |
- [MINOR] proxy: add a "parent" member to the structure | |
- [MEDIUM] session: make it possible to call an I/O handler on both SI | |
- [MINOR] tools: add a fast div64_32 function | |
- [MINOR] freq_ctr: add new types and functions for periods different from 1s | |
- [MINOR] errors: provide new status codes for config parsing functions | |
- [BUG] http: denied requests must not be counted as denied resps in listeners | |
- [MINOR] tools: add a get_std_op() function to parse operators | |
- [MEDIUM] acl: make use of get_std_op() to parse intger ranges | |
- [MAJOR] stream_sock: better wakeup conditions on read() | |
- [BUG] session: analysers must be checked when SI state changes | |
- [MINOR] http: reset analysers to listener's, not frontend's | |
- [MEDIUM] session: support "tcp-request content" rules in backends | |
- [BUILD] always match official tags when doing git-tar | |
- [MAJOR] stream_interface: fix the wakeup conditions for embedded iohandlers | |
- [MEDIUM] buffer: make buffer_feed* support writing non-contiguous chunks | |
- [MINOR] tcp: src_count acl does not have a permanent result | |
- [MAJOR] session: add track-counters to track counters related to the session | |
- [MINOR] stick-table: provide a table lookup function | |
- [MINOR] stick-table: use suffix "_cnt" for cumulated counts | |
- [MEDIUM] session: move counter ACL fetches from proto_tcp | |
- [MEDIUM] session: add concurrent connections counter | |
- [MEDIUM] session: add data in and out volume counters | |
- [MINOR] session: add the trk_conn_cnt ACL keyword to track connection counts | |
- [MEDIUM] session-counters: automatically update tracked connection count | |
- [MINOR] session: add the trk_conn_cur ACL keyword to track concurrent connection | |
- [MINOR] session: add trk_kbytes_* ACL keywords to track data size | |
- [MEDIUM] session: add a counter on the cumulated number of sessions | |
- [MINOR] config: support a comma-separated list of store data types in stick-table | |
- [MEDIUM] stick-tables: add support for arguments to data_types | |
- [MEDIUM] stick-tables: add stored data argument type checking | |
- [MEDIUM] session counters: add conn_rate and sess_rate counters | |
- [MEDIUM] session counters: add bytes_in_rate and bytes_out_rate counters | |
- [MINOR] stktable: add a stktable_update_key() function | |
- [MINOR] session-counters: add a general purpose counter (gpc0) | |
- [MEDIUM] session-counters: add HTTP req/err tracking | |
- [MEDIUM] stats: add "show table [<name>]" to dump a stick-table | |
- [MEDIUM] stats: add "clear table <name> key <value>" to clear table entries | |
- [CLEANUP] stick-table: declare stktable_data_types as extern | |
- [MEDIUM] stick-table: make use of generic types for stored data | |
- [MINOR] stats: correctly report errors on "show table" and "clear table" | |
- [MEDIUM] stats: add the ability to dump table entries matching criteria | |
- [DOC] configuration: document all the new tracked counters | |
- [DOC] stats: document "show table" and "clear table" | |
- [MAJOR] session-counters: split FE and BE track counters | |
- [MEDIUM] tcp: accept the "track-counters" in "tcp-request content" rules | |
- [MEDIUM] session counters: automatically remove expired entries. | |
- [MEDIUM] config: replace 'tcp-request <action>' with "tcp-request connection" | |
- [MEDIUM] session-counters: make it possible to count connections from frontend | |
- [MINOR] session-counters: use "track-sc{1,2}" instead of "track-{fe,be}-counters" | |
- [MEDIUM] session-counters: correctly unbind the counters tracked by the backend | |
- [CLEANUP] stats: use stksess_kill() to remove table entries | |
- [DOC] update the references to session counters and to tcp-request connection | |
- [DOC] cleanup: split a few long lines | |
- [MEDIUM] http: forward client's close when abortonclose is set | |
- [BUG] queue: don't dequeue proxy-global requests on disabled servers | |
- [BUG] stats: global stats timeout may be specified before stats socket. | |
- [BUG] conf: add tcp-request content rules to the correct list | |
2010/05/23 : 1.5-dev0 | |
- exact copy of 1.4.6 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment