Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2020-09-30 | Fixing router connection pool leakage. | Max Romanov | 1 | -1/+4 | |
The connection's local socket address is allocated from the connection pool before the request is passed to the application; however, with keep-alive connections, this field was unconditionally reset by a socket configuration value that could be NULL. For the next request, the address was allocated again from the same connection pool. Nonetheless, all leaked addresses were released when the connection was closed. The issue introduced in changeset 5c7dd85fabd5. | |||||
2020-09-29 | Supporting HTTP/1.0 keep-alive. | Max Romanov | 1 | -1/+8 | |
The Apache HTTP server benchmarking tool, ab, issues HTTP/1.0 requests with the 'Connection: Keep-Alive' header and expects a 'Connection: Keep-Alive' header in the response. | |||||
2020-09-18 | Fixed segmentation fault during reconfiguration. | Igor Sysoev | 1 | -7/+3 | |
If idle connection was closed before h1proto had been allocated then c->socket.data is NULL. This happens if nxt_h1p_idle_response() is called by nxt_h1p_idle_close(). However, h1p->conn_write_tail is used only in nxt_h1p_request_send() that would not be called after nxt_h1p_idle_response(). The bug was introduced in f237e8c553fd. | |||||
2020-09-18 | Fixed segmentation fault during reconfiguration. | Igor Sysoev | 1 | -1/+9 | |
2020-09-18 | Fixed use-after-free error during reconfiguration. | Igor Sysoev | 1 | -0/+2 | |
An idle connection was not removed from idle connection list if the connections detected that listening socket had been closed. | |||||
2020-08-05 | Improved mkstemp() error reporting. | Valentin Bartenev | 1 | -1/+1 | |
The invocation parameters should be logged as well, notably the path of the file that is failed to be created. Also, log level changed to ALERT as it's quite critical error. | |||||
2020-06-23 | Upstream chunked transfer encoding support. | Igor Sysoev | 1 | -14/+87 | |
2020-04-16 | Using malloc/free for the http fields hash. | Max Romanov | 1 | -3/+3 | |
This is required due to lack of a graceful shutdown: there is a small gap between the runtime's memory pool release and router process's exit. Thus, a worker thread may start processing a request between these two operations, which may result in an http fields hash access and subsequent crash. To simplify issue reproduction, it makes sense to add a 2 sec sleep before exit() in nxt_runtime_exit(). | |||||
2020-04-15 | Fixed crash that occurs when idle connections are closed forcibly. | Igor Sysoev | 1 | -6/+31 | |
2020-03-21 | Implemented "location" option for "return" action. | Valentin Bartenev | 1 | -0/+2 | |
This allows to specify redirects: { "action": { "return": 301, "location": "https://www.example.com/" } } | |||||
2020-03-19 | Completing buffers immediately | Max Romanov | 1 | -5/+2 | |
This fixes crash introduced in 039b00e32e3d. | |||||
2020-03-19 | Completing request header buffers to avoid memory leak. | Max Romanov | 1 | -20/+26 | |
Before this fix, only persistent connection request buffers were completed. This issue was introduced in dc403927ab0b. | |||||
2020-03-12 | Using disk file to store large request body. | Max Romanov | 1 | -26/+152 | |
This closes #386 on GitHub. | |||||
2020-03-12 | Checking Content-Length value right after header parse. | Max Romanov | 1 | -5/+0 | |
The check was moved from the request body read stage. | |||||
2020-03-06 | Round robin upstream added. | Igor Sysoev | 1 | -1/+2 | |
2019-12-24 | Introducing write tail reference to avoid buffer chain iteration. | Max Romanov | 1 | -4/+15 | |
2019-11-14 | Processing inconsistent proxied response length. | Igor Sysoev | 1 | -0/+1 | |
Keepalive connection is disabled if upstream response length differs from specified in the "Content-Length" field value. | |||||
2019-11-14 | Initial proxy support. | Igor Sysoev | 1 | -28/+759 | |
2019-11-14 | Introduced chained buffer completion handlers. | Igor Sysoev | 1 | -0/+1 | |
2019-11-14 | Using event engine memory buffers in HTTP/1 layer. | Igor Sysoev | 1 | -11/+14 | |
2019-11-14 | Using request task. | Igor Sysoev | 1 | -0/+10 | |
2019-10-10 | Style fixes. | Igor Sysoev | 1 | -2/+4 | |
2019-10-10 | Changed nxt_memcasecmp() interface to avoid casts. | Igor Sysoev | 1 | -6/+4 | |
2019-09-30 | HTTP: corrected allocation size for tail chunk. | Valentin Bartenev | 1 | -1/+1 | |
2019-09-02 | Making request state handler calls more consistent. | Max Romanov | 1 | -4/+2 | |
2019-08-26 | Adding body handler to nxt_http_request_header_send(). | Igor Sysoev | 1 | -2/+17 | |
2019-08-20 | Introducing websocket support in router and libunit. | Max Romanov | 1 | -78/+292 | |
2019-08-16 | Changing the sequence of body send execution. | Max Romanov | 1 | -7/+1 | |
Request state ready_handler required for further websocket events processing. It is not required for regular response transferring. | |||||
2019-08-06 | nxt_h1proto_t definition was moved to h1proto implementation. | Igor Sysoev | 1 | -0/+20 | |
2019-08-06 | Refactored HTTP protocol callback table. | Igor Sysoev | 1 | -46/+14 | |
2019-07-24 | Added routing based on request scheme. | Axel Duch | 1 | -17/+4 | |
Scheme matches exact string “http” or “https”. | |||||
2019-03-21 | Adjusting request schema value according to connection tls state. | Max Romanov | 1 | -0/+17 | |
This closes #223 issue on GitHub. | |||||
2019-02-28 | Fixed timer and event race condition. | Igor Sysoev | 1 | -0/+4 | |
When idle timeout occurs at the same time as a request comes in, the timer handler closes connection while the read event triggers request processing, and this eventually leads to segmentation fault. | |||||
2019-02-26 | Keepalive mode is disabled on HTTP header parsing errors. | Igor Sysoev | 1 | -0/+2 | |
2019-02-19 | Validation and normalization of request host. | Valentin Bartenev | 1 | -3/+1 | |
2018-10-01 | Disabled chunked transfer encoding for 304 responses as well. | Valentin Bartenev | 1 | -1/+1 | |
According to RFC 7232: | A 304 response cannot contain a message-body; it is always terminated | by the first empty line after the header fields. | |||||
2018-10-01 | Allowing keep-alive connections after 204 responses. | Valentin Bartenev | 1 | -5/+7 | |
This was unintentionally disabled by 7b5026a0bdeb. | |||||
2018-09-28 | Disabled chunked transfer encoding for 204 responses. | Igor Sysoev | 1 | -1/+2 | |
2018-09-20 | Added nginx error 497 response. | Igor Sysoev | 1 | -0/+20 | |
2018-09-20 | Added SSL/TLS support on connection level. | Igor Sysoev | 1 | -193/+401 | |
2018-07-30 | Fixed segfault on listening socket close. | Igor Sysoev | 1 | -13/+54 | |
Now keep-alive connection sends 408 response if listening socket was closed while reconfiguration. | |||||
2018-07-30 | Sending 408 response on idle connection timeout. | Igor Sysoev | 1 | -14/+112 | |
2018-07-12 | Disabling keep-alive connection on errors. | Igor Sysoev | 1 | -10/+17 | |
2018-07-12 | Fixed bug in "send_timeout" handling. | Igor Sysoev | 1 | -1/+1 | |
2018-06-25 | Introduced nxt_length() macro. | Valentin Bartenev | 1 | -8/+8 | |
2018-05-30 | Fixed keep-alive hanging after reconfiguration. | Igor Sysoev | 1 | -32/+86 | |
2018-04-12 | Miscellaneous changes. | Igor Sysoev | 1 | -9/+14 | |
2018-04-12 | Disabling timer when request header has been entirely read. | Igor Sysoev | 1 | -2/+8 | |
2018-04-12 | Fixed idle timeout, broken in b3e55c647741. | Igor Sysoev | 1 | -1/+1 | |
2018-04-11 | Initial access log support. | Valentin Bartenev | 1 | -0/+31 | |