Commit Graph
100 Commits
Author SHA1 Message Date
Valentin Bartenev 42e1d8e3b2 Packages: tar building functionality moved into pkg/Makefile. 2018-06-27 18:30:49 +03:00
Valentin Bartenev 1a52d876f7 Introduced nxt_length() macro. 2018-06-25 16:51:47 +03:00
Valentin Bartenev af31012815 More effective implementation of nxt_popcount().
This method requires as many iterations as there are set bits,
while the previous one has to shift up to the position of the
highest bit.
2018-06-21 16:40:02 +03:00
Valentin Bartenev e96374bfa1 Version bump. 2018-06-13 15:42:42 +03:00
Valentin Bartenev 0f0fb35620 Added tag 1.2 for changeset fbe7f5a3867e 2018-06-07 17:48:45 +03:00
Valentin Bartenev b1bdf309e2 Generated Dockerfiles for Unit 1.2. 2018-06-07 17:46:46 +03:00
Valentin Bartenev 9dd0fa87ad Added version 1.2 CHANGES. 2018-06-07 16:43:37 +03:00
Valentin Bartenev 8f278a5fed PHP: added setting of individual configuration options. 2018-06-07 16:17:32 +03:00
Valentin Bartenev 388390888b PHP: added setting of php.ini configuration file path. 2018-06-07 16:17:31 +03:00
Valentin Bartenev 771dc2f55e Exported functions for accessing configuration values. 2018-06-07 16:17:30 +03:00
Valentin Bartenev ceeb301881 Go: specifying command line arguments to the executable.
This closes #110 issue on GitHub.
2018-06-06 16:53:35 +03:00
Valentin Bartenev d7e6e2bd8c Configuration of environment variables for application processes. 2018-05-28 20:55:23 +03:00
Valentin Bartenev 3e8dbfe5ff Added SERVER_SOFTWARE request meta-variable. 2018-05-21 16:14:24 +03:00
Valentin Bartenev 10898568a3 Version bump. 2018-04-27 16:48:14 +03:00
Valentin Bartenev 4814fa7efe Added tag 1.1 for changeset 3f710b55c226 2018-04-26 18:33:11 +03:00
Valentin Bartenev 472e9b2a24 Generated Dockerfiles for Unit 1.1. 2018-04-26 18:31:13 +03:00
Valentin Bartenev 62a89eed60 Added version 1.1 CHANGES. 2018-04-26 18:30:06 +03:00
Valentin Bartenev d1b0f74550 Improved wording in CHANGES. 2018-04-26 16:47:55 +03:00
Valentin Bartenev 17160e9352 Python: added a missing slash in the path to "pyenv.cfg".
This closes #115 issue on GitHub.
2018-04-25 15:11:01 +03:00
Valentin Bartenev 749f7c0340 Support for PEP 405 virtual environments.
This closes #96 issue on GitHub.
2018-04-24 20:49:36 +03:00
Valentin Bartenev 5371891492 Fixed segfault when two modules have the same type and version.
The bug appeared in 217e48a3b091.
This closes #104 issue on GitHub.
2018-04-20 23:57:46 +03:00
Valentin Bartenev a20830ff55 Router: fixed race condition while access log reopening.
In order to reopen access log, the router process creates a memory pool
and allocates a buffer to send RPC message for the main process.

Previously, the memory pool was destroyed when RPC response handler was
called.  It appeared, that the buffer completion handler could be not
triggered by that time and still remained in a queue.

Now the memory pool is destroyed only after both events are happen.
2018-04-19 19:48:58 +03:00
Valentin Bartenev b06a0c95d0 Removed duplicating socket address parsing function.
This also fixes #101 issue on GitHub.  The function previously used to
parse IPv6 address of control socket was broken.  Now the working function
is used instead.
2018-04-18 17:28:22 +03:00
Valentin Bartenev 54ccb32333 Added missing cleanup when nxt_port_socket_write() failed. 2018-04-18 17:28:04 +03:00
Valentin Bartenev ab4f867996 Added missing checks if nxt_port_rpc_register_handler() failed.
This closes #97 issue on GitHub.
Thanks to 洪志道 (Hong Zhi Dao).
2018-04-17 21:13:43 +03:00
Valentin Bartenev 555141f798 Improved "unitd" command line help. 2018-04-13 20:07:02 +03:00
Valentin Bartenev 115949c50f Version bump. 2018-04-13 19:10:15 +03:00
Valentin Bartenev 1c19c6f1ad Added tag 1.0 for changeset 5870dd420309 2018-04-12 19:50:37 +03:00
Valentin Bartenev 8912dea621 Generated Dockerfiles for Unit 1.0. 2018-04-12 19:47:37 +03:00
Valentin Bartenev 32eb649e7c Added version 1.0 CHANGES. 2018-04-12 19:47:33 +03:00
Valentin Bartenev 946cfa32a8 Version bump. 2018-04-12 19:39:25 +03:00
Valentin Bartenev 07b554c2b4 Configure scripts cleanup.
Thanks to 洪志道 (Hong Zhi Dao).
2018-04-11 18:29:48 +03:00
Valentin Bartenev c610b35649 Controller: added "/config" prefix for the configuration object. 2018-04-11 18:23:58 +03:00
Valentin Bartenev da61cfd98b Access log reopening. 2018-04-11 18:23:58 +03:00
Valentin Bartenev 204c394721 Initial access log support. 2018-04-11 18:23:33 +03:00
Valentin Bartenev dc75c83950 Fixed pipelined request processing, broken by 9e16499b63f0. 2018-04-11 12:49:58 +03:00
Valentin Bartenev 41317e37da HTTP parser: saving partial method.
This is useful for log purposes.
2018-04-10 16:51:22 +03:00
Valentin Bartenev 8d697e8004 HTTP parser: saving unsupported version.
This is useful for log purposes.
2018-04-10 16:51:22 +03:00
Valentin Bartenev b1b9c78362 HTTP parser: correct "target" for partial or invalid request line. 2018-04-10 16:51:22 +03:00
Valentin Bartenev eb51264710 Processing of partially parsed HTTP header.
This is useful for log purposes.
2018-04-09 19:16:19 +03:00
Valentin Bartenev 96927e7d0c Controller: fixed a memory leak when PUT operation failed.
Thanks to 洪志道 (Hong Zhi Dao).
2018-04-08 14:08:06 +03:00
Valentin Bartenev c0a423aa74 Fixed NXT_INT64_T_HEXLEN.
This closes #89 issue on GitHub.
Thanks to hongzhidao.
2018-04-05 15:54:08 +03:00
Valentin Bartenev d15b4ca906 Style. 2018-04-05 15:49:41 +03:00
Valentin Bartenev 0665896a55 Style: capitalized letters in hexadecimal literals. 2018-04-04 18:13:05 +03:00
Valentin Bartenev f4cb476feb Version bump. 2018-04-02 17:42:36 +03:00
Valentin Bartenev 9844ecd9ec Added tag 0.7 for changeset d2fcec5b0fa3 2018-03-22 21:09:37 +03:00
Valentin Bartenev 157120bfd1 Generated Dockerfiles for Unit 0.7. 2018-03-22 21:07:06 +03:00
Valentin Bartenev 228d8518c7 Added version 0.7 CHANGES. 2018-03-22 21:07:06 +03:00
Valentin Bartenev e254eecb77 PHP: fixed segfault on initialization.
PHP SAPI can call log handler while initializing.  Particularly, that happens
if there's a problem in loading some extension specified in php.ini file.
On this stage server context is empty, so now nxt_thread_log_error() is used.
2018-03-16 18:19:48 +03:00
Valentin Bartenev 701a54c177 HTTP parser: excluding leading and trailing tabs from field values.
As required by RFC 7230.
2018-03-15 21:08:29 +03:00
Valentin Bartenev 0b628bfe48 HTTP parser: allowing tabs in field values as per RFC 7230. 2018-03-15 21:07:57 +03:00
Valentin Bartenev 3d2f85d9ca HTTP parser: restricting allowed characters in fields values.
According to RFC 7230 only printable 7-bit ASCII characters are allowed
in field values.
2018-03-15 21:07:56 +03:00
Valentin Bartenev 5a003df1fe HTTP parser: fixed parsing of field values ending with space.
This closes #82 issue on GitHub.
2018-03-15 20:52:39 +03:00
Valentin Bartenev f81fa2a921 Python: safety checks for request processing context.
An application can store request related functions and mistakenly call them
outside of request processing.  Previously this resulted in segmentation
fault due to unset nxt_python_run_ctx.  Now an exception will be raised.
2018-03-15 17:11:13 +03:00
Valentin Bartenev cf2767625f Python: fixed crash if start_response() is called inside iteration.
The start_response() uses nxt_python_run_ctx, but it was unset right
after the application call.
2018-03-15 17:10:24 +03:00
Valentin Bartenev bebc5845f8 Capitalization in the "Server" field. 2018-03-13 20:32:47 +03:00
Valentin Bartenev 912a49c609 Reduced number of critical log levels. 2018-03-05 17:32:50 +03:00
Valentin Bartenev 27b00629e1 Fixed race condition while discovering modules.
Previously, the discovery process might exit before the main process
received a list of available modules.
2018-02-14 16:33:35 +03:00
Valentin Bartenev 9646772a00 HTTP: the Date response header. 2018-02-12 16:58:40 +03:00
Valentin Bartenev dc50773e51 Version bump. 2018-02-12 16:58:38 +03:00
Valentin Bartenev 582fd34f35 Added tag 0.6 for changeset 88831b81e384 2018-02-09 19:24:46 +03:00
Valentin Bartenev 87f0dce1f6 Generated Dockerfiles for Unit 0.6. 2018-02-09 19:07:55 +03:00
Valentin Bartenev 061343520d Added version 0.6 CHANGES. 2018-02-09 19:07:55 +03:00
Valentin Bartenev 24d07cfdd2 Made nxt_assert() statements to be compiled only with debug. 2018-02-09 19:07:55 +03:00
Valentin Bartenev fc496c19ac Changed the default number of spare processes to 0. 2018-02-09 19:06:53 +03:00
Valentin Bartenev 9d683d37b1 Fixed starting of applications with specified version.
The "type" option can contain version number that need to be cut off before
calling nxt_app_parse_type().

The bug was introduced in 4979fe09d9cd.
2018-02-09 19:06:53 +03:00
Valentin Bartenev c890f53d10 Version bump. 2018-02-09 19:06:53 +03:00
Valentin Bartenev 7daf2cbfef Added tag 0.5 for changeset 1ba4d13d222b 2018-02-08 19:11:53 +03:00
Valentin Bartenev 01c6f149a6 Generated Dockerfiles for Unit 0.5. 2018-02-08 18:59:02 +03:00
Valentin Bartenev 40a360b640 Added version 0.5 CHANGES. 2018-02-08 18:42:51 +03:00
Valentin Bartenev 31f72401d9 Fixed reading of the rest of body, again.
The last attempt in ee5f278e8c81 wasn't enough.
2018-02-07 18:17:41 +03:00
Valentin Bartenev 7fe8f72364 HTTP parser: simplified nxt_http_parse_field_value().
There's no need in loop after 4ac474b68658.

Found by Coverity (CID 259713).
2018-01-25 10:31:22 +03:00
Valentin Bartenev 477e8177b7 HTTP parser: restricting control chars in header fields values.
This also fixes an infinite loop here (found with honggfuzz).
2018-01-24 15:02:56 +03:00
Valentin Bartenev d1f29ed77e Python: fixed the "wsgi.errors" environment variable name.
This closes issue #76 on GitHub.
2018-01-19 19:45:11 +03:00
Valentin Bartenev 01ec9a5dba Ability to validate configuration options with multiple types. 2018-01-18 15:52:44 +03:00
Valentin Bartenev 0c38ff0e66 Checking for major HTTP version. 2018-01-15 20:50:20 +03:00
Valentin Bartenev a073616fc3 Improved HTTP version representation. 2018-01-15 20:50:14 +03:00
Valentin Bartenev 3fb140d6d2 HTTP parser: improved error reporting. 2018-01-15 20:49:59 +03:00
Valentin Bartenev 84eba82bc8 Version bump. 2018-01-15 18:37:07 +03:00
Valentin Bartenev 845b373bda Fixed reading of the rest of body, broken after 5817734dd9b9. 2018-01-12 21:36:24 +03:00
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
Valentin Bartenev cbab4939ec Removed 0.3 tag, again. 2017-12-28 20:56:16 +03:00
Valentin Bartenev 45d08d5145 HTTP parser: introduced nxt_http_parse_fields(). 2017-12-27 15:45:23 +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
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
Valentin Bartenev 89a1c66dd0 Fixed crash on invalid JSON number. 2017-11-21 18:41:43 +03:00
Valentin Bartenev 5ed4d7b9dc Avoiding compilation on systems with no working shared memory. 2017-10-25 14:57:18 +03:00
Valentin Bartenev 03e18cf42f Fixed change log for version 0.2.
Records about Go were added by mistake.
The relevant patches haven't been committed yet.
2017-10-23 21:12:12 +03:00
Valentin Bartenev e7d81186b5 Fixed controller restarting.
Previously, stored configuration wasn't reread on controller
process restart, which resulted in segmentation fault.
2017-10-19 17:43:54 +03:00
Valentin Bartenev 39fd38a948 Fixed matching of empty version. 2017-10-19 17:26:56 +03:00
Valentin Bartenev 1c6d4d8cff Basic validation errors. 2017-10-10 19:46:58 +03:00
Valentin Bartenev e4bea2c75c Optimized application type handling. 2017-10-10 19:15:08 +03:00
Valentin Bartenev 93438a0d9e Fixed building with old GCC after the previous change. 2017-10-05 17:31:41 +03:00
Valentin Bartenev 096562c0b1 Improved applications versions handling. 2017-10-05 16:46:18 +03:00
Valentin Bartenev fcd141936c Version bump. 2017-10-02 17:10:12 +03:00
Valentin Bartenev d18113ab66 Changed "path" to "directory" in configure summary.
The "directory" is more specific term, similar to "file".
2017-09-26 17:53:21 +03:00