Commit graph

455 commits

Author SHA1 Message Date
Valentin Bartenev
e8aada94de HTTP parser: allowing underscore in header field names. 2018-01-09 16:50:47 +03:00
Valentin Bartenev
c85c9dc7a8 Year 2018. 2018-01-01 16:31:07 +03:00
Igor Sysoev
30a83a1159 Using correct pointer and size for memzero operation.
Found by Coverity (CID 215689).
2017-12-29 19:42:54 +03:00
Igor Sysoev
4c4981f992 Using correct pointer in test operation.
Found by Coverity (CID 215687).
2017-12-29 18:43:55 +03:00
Igor Sysoev
bcbe6df8af Corrected allocation size of HTTP response header. 2017-12-29 18:43:54 +03:00
Igor Sysoev
965a95d602 Version bump. 2017-12-29 18:43:51 +03:00
Andrei Belov
3e9e6878a6 Packages: fixed building on 64-bit Debian 9 and Ubuntu 17.10. 2017-12-28 22:16:52 +03:00
Igor Sysoev
d45326481c Added tag 0.3 for changeset b8400e8feb36 2017-12-28 21:25:22 +03:00
Igor Sysoev
8492ba945b Fixed Go package and PHP module building.
Go package and PHP module could not be built after changeset 5817734dd9b9.
2017-12-28 21:07:28 +03:00
Valentin Bartenev
cbab4939ec Removed 0.3 tag, again. 2017-12-28 20:56:16 +03:00
Igor Sysoev
dbd7540a04 Removed duplicate declaration. 2017-12-28 20:50:49 +03:00
Andrei Belov
cb3c7dd40c Packages: hardening flags for rpm. 2017-12-28 20:38:36 +03:00
Andrei Belov
d22aa88405 Packages: hardening flags for deb. 2017-12-28 20:38:36 +03:00
Andrei Belov
ad63a3e752 Packages: added support for Ubuntu 17.10. 2017-12-28 20:38:35 +03:00
Andrei Belov
e939b8ae18 Packages: added python 3.4 module on Debian 8. 2017-12-28 20:38:34 +03:00
Igor Sysoev
c4894036c3 Removed tag 0.3 2017-12-28 20:37:46 +03:00
Igor Sysoev
9f619eb707 Added tag 0.3 for changeset c059dbae9ac3 2017-12-28 20:25:10 +03:00
Igor Sysoev
dc47f02307 Removed duplicate declaration. 2017-12-28 20:12:19 +03:00
Igor Sysoev
795a244bd0 Disabled Nagle algorithm for keep-alive connections. 2017-12-28 20:12:13 +03:00
Igor Sysoev
ecba3d80f9 Fixing memory leak introduced in changeset 5817734dd9b9. 2017-12-28 20:08:15 +03:00
Igor Sysoev
ea40378206 Removed tag 0.3 2017-12-28 20:06:29 +03:00
Igor Sysoev
c9024a3dc8 Added tag 0.3 for changeset ab13db235c19 2017-12-28 16:32:07 +03:00
Igor Sysoev
8ba7f5f1e5 Added version 0.3 CHANGES. 2017-12-28 16:01:06 +03:00
Igor Sysoev
9a6d3c5775 HTTP keep-alive connections support. 2017-12-28 16:01:06 +03:00
Igor Sysoev
497faf1b9a Changed nxt_mp_retain() and nxt_mp_release() interfaces. 2017-12-28 16:01:06 +03:00
Max Romanov
b59535b22c Removed unused variable assignment.
Found by Coverity (CID 215301).
2017-12-28 15:58:01 +03:00
Max Romanov
47bc1c53d6 Implementing worker stop after limits.requests. 2017-12-27 17:48:53 +03:00
Max Romanov
5196cf4d50 Rescheduling of pending request after configured timeout.
New optional configuration parameter introduced: limits.reschedule_timeout.
Default value 1 second.  In the case when request is written to the port
socket 'in advance', it is called 'pending'.

On every completed request, the head of pending request is checked against
reschedule timeout.  If this request waiting for execution longer than
timeout, it is cancelled, new port selected for this request.
2017-12-27 17:48:04 +03:00
Max Romanov
baa8c9387b Fixing code style. 2017-12-27 17:47:42 +03:00
Max Romanov
bef2ec483e Fixing application timeout.
Application timeout limits maximum time of worker response in processing
particular request.  Not including the time required to start worker,
time in request queue etc.
2017-12-27 17:47:18 +03:00
Max Romanov
ab138c9166 Changing worker selection precedence.
This patch increase precedence of non-started worker over busy worker.

1. idle worker;
2. start new worker;
3. busy worker, but can accept request in advance;
2017-12-27 17:46:39 +03:00
Max Romanov
89c0f7c5db Implementing the ability to cancel request before worker starts processing it. 2017-12-27 17:46:17 +03:00
Valentin Bartenev
45d08d5145 HTTP parser: introduced nxt_http_parse_fields(). 2017-12-27 15:45:23 +03:00
Max Romanov
be36cf52c8 Introducing application 'atexit' hook.
Finalizing Python interpreter.

This closes #65 issue on GitHub.
2017-12-27 14:02:11 +03:00
Sergey Kandaurov
cdfdbc43eb Enabled exporting symbols for NetBSD. 2017-12-26 17:55:48 +03:00
Igor Sysoev
2ab29f6cc3 nxt_conn_close() should disable all pending write operations. 2017-12-26 17:31:37 +03:00
Valentin Bartenev
95a9cb94d5 HTTP parser: fixed memory overflow in the collisions test.
The level hash uses the NULL value as the indicator of a free entry in a bucket.
So, inserting a NULL value breaks the hash and can lead to a bucket overflow.

In case of the collision counter, the value wasn't initialized, since it's not
needed for the purpose of checking collisions.  As a result, it might contain
any garbage from the stack and in some rare cases the value was NULL.

Now the value is initilized.
2017-12-26 17:18:57 +03:00
Valentin Bartenev
8830d73261 HTTP parser: reworked header fields handling. 2017-12-25 17:04:22 +03:00
Max Romanov
392abd03e5 Restoring apps in case of reconfiguration error. 2017-12-25 16:24:54 +03:00
Max Romanov
4e403c17da Introducing --lib-path options for Python module linkage.
This option is useful when python-config does not setup path to libpython,
which is non standard.
2017-12-15 14:06:15 +03:00
Max Romanov
799cff5f3e Introducing Unit version check in Go package.
To communicate with the Go program, Unit setup environment variable
named NXT_GO_PORTS with value contains Unit version, stream id to confirm
application is started, and Unit ports information.  Go Unit package parses
this string and compares runtime version with compile time version.  In case
of parse error or version mismatch, ListenAndServe() returns with the error.
2017-12-13 18:12:13 +03:00
Andrey Zelenkov
b680e944d6 Tests: removed unused decorators. 2017-12-13 15:26:32 +03:00
Andrey Zelenkov
d2bf066b1c Tests: http() function introduced. 2017-12-13 15:23:32 +03:00
Andrey Zelenkov
f7c386ece3 Tests: fixed "negative workers" test. 2017-12-12 18:54:27 +03:00
Valentin Bartenev
67d72d46f7 HTTP parser: improved detection of corrupted request line. 2017-12-08 19:18:00 +03:00
Valentin Bartenev
20d720dfc5 HTTP parser: slightly improved readability of code.
As suggested by Igor Sysoev.
2017-12-08 19:18:00 +03:00
Valentin Bartenev
4be9774540 Fixed protocol version string handling in router. 2017-12-07 17:02:05 +03:00
Andrey Zelenkov
3b6d3151f1 Tests: added basic PHP tests. 2017-12-06 15:36:05 +03:00
Andrey Zelenkov
7ae5bef233 Tests: check_modules() function introduced. 2017-12-06 15:35:28 +03:00
Andrey Zelenkov
79b1d4f5ff Tests: port range changed to 7xxx. 2017-12-06 15:34:58 +03:00