summaryrefslogtreecommitdiffhomepage
path: root/src (follow)
AgeCommit message (Collapse)AuthorFilesLines
2018-03-29nxt_lvlhsh_peek().Igor Sysoev3-2/+101
2018-03-29Removed unused macros and functions.Igor Sysoev3-38/+0
2018-03-28nxt_port_buf_completion() and nxt_sendbuf_completion().Igor Sysoev4-67/+67
nxt_sendbuf_completion() has been renamed to nxt_port_buf_completion() and moved to src/nxt_port_socket.c. nxt_sendbuf_completion0() has been renamed to nxt_sendbuf_completion().
2018-03-28Using more expressive name for field.Igor Sysoev2-19/+20
2018-03-28Using type for nxt_msec_diff().Igor Sysoev1-4/+5
2018-03-21Added Ruby support.Alexander Borisov8-1/+1356
2018-03-21Triggering RPC error for all handlers on port close.Max Romanov3-0/+41
This is required to avoid crashes and memory leaks on Unit exit.
2018-03-21Registered RPC handlers affects port use counters.Max Romanov1-0/+8
Service process port gets closed and released by runtime on process exit, but there can be active RPC handlers, which uses port structure.
2018-03-19Perl: improvements to support PSGI specification.Alexander Borisov1-16/+15
2018-03-16PHP: fixed segfault on initialization.Valentin Bartenev1-12/+9
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-15HTTP parser: excluding leading and trailing tabs from field values.Valentin Bartenev1-2/+5
As required by RFC 7230.
2018-03-15HTTP parser: allowing tabs in field values as per RFC 7230.Valentin Bartenev2-13/+45
2018-03-15HTTP parser: restricting allowed characters in fields values.Valentin Bartenev2-1/+20
According to RFC 7230 only printable 7-bit ASCII characters are allowed in field values.
2018-03-15HTTP parser: fixed parsing of field values ending with space.Valentin Bartenev2-8/+16
This closes #82 issue on GitHub.
2018-03-15Python: safety checks for request processing context.Valentin Bartenev1-2/+14
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-15Python: fixed crash if start_response() is called inside iteration.Valentin Bartenev1-4/+4
The start_response() uses nxt_python_run_ctx, but it was unset right after the application call.
2018-03-15Skipping idle state when port already closed.Max Romanov1-1/+1
2018-03-14Ignoring response for already terminated request.Max Romanov1-0/+3
Request can be terminated because of invalid response headers and content should be ignored in this case.
2018-03-13Capitalization in the "Server" field.Valentin Bartenev2-3/+3
2018-03-13Releasing application on configuration failure.Max Romanov1-0/+15
2018-03-07Socket configuration should retain application.Max Romanov1-0/+8
This retains application during reconfiguration if an incoming connection was already established before the reconfiguration, but no request was yet created for the connection and thus no application was yet assigned to the request.
2018-03-06Added support for shm_open(SHM_ANON) extension.Sergey Kandaurov2-0/+24
2018-03-05Reduced number of critical log levels.Valentin Bartenev47-534/+403
2018-02-20Removed unwanted assertions.Max Romanov5-22/+42
2018-02-14Fixed race condition while discovering modules.Valentin Bartenev2-20/+51
Previously, the discovery process might exit before the main process received a list of available modules.
2018-02-13Improving configuration field mapping names.Max Romanov1-16/+25
Avoiding word 'common' as too common. Couple of assertions reduced to error messages.
2018-02-12signalfd() notification should be ignored if nothing was read.Igor Sysoev1-0/+1
2018-02-12HTTP: the Date response header.Valentin Bartenev3-2/+55
2018-02-12Version bump.Valentin Bartenev1-2/+2
2018-02-09Made nxt_assert() statements to be compiled only with debug.Valentin Bartenev3-16/+30
2018-02-09Changed the default number of spare processes to 0.Valentin Bartenev2-2/+2
2018-02-09Fixed starting of applications with specified version.Valentin Bartenev1-5/+15
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-09Version bump.Valentin Bartenev1-2/+2
2018-02-08Router: fixed freed memory access race condition.Igor Sysoev1-6/+8
2018-02-08Perl: fixed IO-Object duplication bug.Alexander Borisov1-26/+2
2018-02-07Fixed reading of the rest of body, again.Valentin Bartenev2-19/+12
The last attempt in ee5f278e8c81 wasn't enough.
2018-02-07Style fixes.Andrey Zelenkov12-25/+23
2018-02-07Fixed processing of application response in router.Max Romanov1-1/+4
If the first buffer contained only header and there were other buffers in chain, those buffers were not processed. In particular, this broke Perl application responses with empty body.
2018-02-06Perl: added more checks for 'body' variableAlexander Borisov1-1/+6
2018-02-06Fixed configuration checks for "max" property.Andrey Zelenkov1-16/+11
2018-02-02Fixed typo in assertion statement introduced in 4979fe09d9cd.Max Romanov1-1/+1
Found by Coverity (CID 260375).
2018-01-31Added Perl support.Alexander Borisov8-10/+1789
2018-01-29Introducing extended app process management.Max Romanov9-100/+710
- Pre-fork 'processes.spare' application processes; - fork more processes to keep 'processes.spare' idle processes; - fork on-demand up to 'processes.max' count; - scale down idle application processes above 'processes.spare' after 'processes.idle_timeout'; - number of concurrently started application processes also limited by 'processes.spare' (or 1, if spare is 0).
2018-01-25HTTP parser: simplified nxt_http_parse_field_value().Valentin Bartenev1-15/+11
There's no need in loop after 4ac474b68658. Found by Coverity (CID 259713).
2018-01-24Fixed formatting in nxt_sprintf() and logging.Sergey Kandaurov19-28/+29
2018-01-24Using size_t for the field width type of the "%*s" specifier.Sergey Kandaurov13-28/+39
2018-01-24HTTP parser: restricting control chars in header fields values.Valentin Bartenev1-3/+1
This also fixes an infinite loop here (found with honggfuzz).
2018-01-19Python: fixed the "wsgi.errors" environment variable name.Valentin Bartenev1-2/+2
This closes issue #76 on GitHub.
2018-01-18Ability to validate configuration options with multiple types.Valentin Bartenev1-45/+102
2018-01-18Reduced duplication of validated app config options.Max Romanov1-65/+17
Common options moved to separate array. Application-specific arrays refers to common options.