Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2020-04-14 | Tests: minor fixes and style. | Andrei Zeliankou | 16 | -175/+99 | |
2020-04-10 | Resolving a racing condition while adding ports on the app's side. | Max Romanov | 5 | -13/+48 | |
An earlier attempt (ad6265786871) to resolve this condition on the router's side added a new issue: the app could get a request before acquiring a port. | |||||
2020-04-08 | Controller: improved handling of unix domain control socket. | Valentin Bartenev | 5 | -18/+90 | |
One of the ways to detect Unit's startup and subsequent readiness to accept commands relies on waiting for the control socket file to be created. Earlier, it was unreliable due to a race condition between the client's connect() and the daemon's listen() calls after the socket's bind() call. Now, unix domain listening sockets are created with a nxt_listen_socket_create() call as follows: s = socket(); unlink("path/to/socket.tmp") bind(s, "path/to/socket.tmp"); listen(s); rename("path/to/socket.tmp", "path/to/socket"); This eliminates a time-lapse when the socket file is already created but nobody is listening on it yet, which therefore prevents the condition described above. Also, it allows reliably detecting whether the socket is being used or simply wasn't cleaned after the daemon stopped abruptly. A successful connection to the socket file means the daemon has been started; otherwise, the file can be overwritten. | |||||
2020-04-08 | Controller: fixed cleaning up of control socket file in some cases. | Valentin Bartenev | 1 | -6/+20 | |
Previously, the unix domain control socket file might have been left in the file system after a failed nxt_listen_socket_create() call. | |||||
2020-04-08 | Removed unused code related to testing of address binding. | Valentin Bartenev | 7 | -31/+9 | |
2020-04-08 | Controller: eliminated extra control socket's sockaddr copying. | Valentin Bartenev | 1 | -11/+1 | |
2020-04-08 | Node.js: fixing Server.listen() method. | Max Romanov | 1 | -1/+11 | |
This is required for Express framework compatibility. This closes #418 issue on GitHub. | |||||
2020-04-06 | Fixing 'find & add' racing condition in connected ports hash. | Max Romanov | 4 | -32/+29 | |
Missing error log messages added. | |||||
2020-04-03 | Tests: use "return" action in upstream tests. | Andrei Zeliankou | 5 | -98/+101 | |
2020-04-03 | Tests: added notification on "read_timeout" expiration. | Andrei Zeliankou | 2 | -4/+30 | |
2020-04-03 | Tests: minor fixes. | Andrei Zeliankou | 3 | -9/+20 | |
2020-04-01 | Fixed build with Clang 10, broken by 32578e837322. | Valentin Bartenev | 1 | -1/+3 | |
This silences the -Wimplicit-int-float-conversion warning. | |||||
2020-03-30 | Tests: added tests for rational numbers in upstream server weight. | Andrei Zeliankou | 2 | -12/+98 | |
2020-03-30 | Rational number support in upstream server weight. | Igor Sysoev | 2 | -24/+38 | |
2020-03-30 | Configuration: support for rational numbers. | Valentin Bartenev | 8 | -170/+135 | |
2020-03-30 | Fixing application process infinite loop. | Max Romanov | 4 | -23/+33 | |
Main process exiting before app process init may have caused hanging. | |||||
2020-03-30 | Handling change file message in libunit. | Max Romanov | 3 | -2/+11 | |
This is required for proper log file rotation action. | |||||
2020-03-30 | Attributing libunit logging function for arguments validation. | Max Romanov | 4 | -10/+31 | |
2020-03-27 | Tests: added tests for "location" option. | Andrei Zeliankou | 1 | -0/+94 | |
2020-03-27 | Tests: added tests for "return" action. | Andrei Zeliankou | 4 | -270/+191 | |
2020-03-27 | Tests: increase default "read_timeout" to 60s in message_read(). | Andrei Zeliankou | 1 | -1/+1 | |
2020-03-21 | Implemented "location" option for "return" action. | Valentin Bartenev | 5 | -2/+60 | |
This allows to specify redirects: { "action": { "return": 301, "location": "https://www.example.com/" } } | |||||
2020-03-27 | Added nxt_is_complex_uri_encoded()/nxt_encode_complex_uri(). | Valentin Bartenev | 2 | -44/+158 | |
2020-03-27 | Updated URI escaping table for better conformity with RFC 3986. | Valentin Bartenev | 1 | -6/+4 | |
Now '>', '<', '"', '^', '\', '}', '|', '{', and '`' are also escaped. | |||||
2020-03-27 | Implemented "return" action. | Valentin Bartenev | 5 | -4/+96 | |
The "return" action can be used to immediately generate a simple HTTP response with an arbitrary status: { "action": { "return": 404 } } This is especially useful for denying access to specific resources. | |||||
2020-03-27 | Initialization of the action object made more consistent. | Valentin Bartenev | 1 | -3/+3 | |
2020-03-25 | Tests: added tests for comments in JSON. | Andrei Zeliankou | 1 | -0/+61 | |
2020-03-25 | Tests: UTF-8 BOM test. | Andrei Zeliankou | 1 | -0/+19 | |
2020-03-25 | Configuration: fixed comments parsing. | Valentin Bartenev | 1 | -1/+5 | |
Unclosed multi-line comments and "/" at the end of JSON shouldn't be allowed. | |||||
2020-03-23 | Tests: increase default "read_timeout" value to 60s. | Andrei Zeliankou | 2 | -15/+16 | |
This change is necessary to avoid errors on slow hosts. Also slightly reworked argument passing to the recvall() function. | |||||
2020-03-23 | Tests: added notification on unsuccessful connect(). | Andrei Zeliankou | 1 | -1/+1 | |
2020-03-23 | Tests: wait for unit.pid file before running tests. | Andrei Zeliankou | 1 | -1/+4 | |
Waiting for control.unit.sock was replaced by unit.pid due to current problem with race between connect() and listen() calls for control.unit.sock. This change should be reverted after fix. | |||||
2020-03-19 | Fixed filepath in the image checksum file. | Konstantin Pavlov | 1 | -1/+1 | |
2020-03-23 | Tests: rearranging functions in main.py. | Andrei Zeliankou | 1 | -69/+69 | |
2020-03-23 | Tests: terminate unitd process on exit(). | Andrei Zeliankou | 1 | -12/+14 | |
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 | 3 | -22/+29 | |
Before this fix, only persistent connection request buffers were completed. This issue was introduced in dc403927ab0b. | |||||
2020-03-19 | Tests: test_python_procman.py refactored. | Andrei Zeliankou | 1 | -115/+58 | |
2020-03-19 | Tests: fixed prerequisite in test_share_fallback.py. | Andrei Zeliankou | 1 | -3/+3 | |
2020-03-17 | Fixing body fd access racing condition. | Max Romanov | 3 | -18/+32 | |
To avoid closing the body fd prematurely, the fd value is moved from the request struct to the app link. The body fd should not be closed immediately after the request is sent to the application due to possible request rescheduling. | |||||
2020-03-17 | Checking sendfile() availability in configure. | Max Romanov | 1 | -24/+32 | |
Removing SF_NODISKIO flag for FreeBSD sendfile() check because it is not used yet and to support DragonFlyBSD. This closes #414 issue on GitHub. | |||||
2020-03-16 | Version bump. | Valentin Bartenev | 1 | -2/+2 | |
2020-03-13 | Added checksum generation to make dist target. | Konstantin Pavlov | 1 | -0/+4 | |
While at it, clean up dist artifacts on make clean. | |||||
2020-03-13 | Added a target to export docker images as tarballs | Konstantin Pavlov | 2 | -5/+31 | |
2020-03-12 | Tests: skip "close failed" alert in test_proxy_parallel test. | Andrei Zeliankou | 1 | -0/+2 | |
2020-03-12 | Added tag 1.16.0 for changeset 8bab088952dd | Valentin Bartenev | 1 | -0/+1 | |
2020-03-12 | Generated Dockerfiles for Unit 1.16.0.1.16.0 | Valentin Bartenev | 8 | -8/+8 | |
2020-03-12 | Added version 1.16.0 CHANGES. | Valentin Bartenev | 2 | -0/+103 | |
2020-03-12 | Using disk file to store large request body. | Max Romanov | 18 | -36/+455 | |
This closes #386 on GitHub. | |||||
2020-03-12 | Moving request memory pool retain call after RPC data allocation. | Max Romanov | 2 | -10/+15 | |
If the call is done only after a successful RPC data allocation, its corresponding release call is not missed, which avoids a potential leak. |