2030:207f21666c2b | 23-Nov-2021 |
Valentin Bartenev |
Fixed possible access to an uninitialized field.
The "recv_msg.incoming_buf" is checked after jumping to the "done" label if nxt_socket_msg_oob_get_fds() returns an error.
Also moved initialization
Fixed possible access to an uninitialized field.
The "recv_msg.incoming_buf" is checked after jumping to the "done" label if nxt_socket_msg_oob_get_fds() returns an error.
Also moved initialization of "port_msg" near to its first usage.
Found by Coverity (CID 373899).
show more ...
|
2025:9c4c2435499f | 01-Dec-2021 |
Max Romanov |
Fixing prototype process crash.
A prototype stores linked application processes structures. When an application process terminates, it's removed from the list. To avoid double removal, the pointer
Fixing prototype process crash.
A prototype stores linked application processes structures. When an application process terminates, it's removed from the list. To avoid double removal, the pointer to the next element should be set to NULL.
The issue was introduced in c8790d2a89bb.
show more ...
|
2024:cb12b9fde0ae | 01-Dec-2021 |
Max Romanov |
Fixing uninitialized structure field.
Port's "data" field may be used by application and thus need to be set to NULL. The issue was introduced in the f8a0992944df commit.
Found by Coverity (CID 374
Fixing uninitialized structure field.
Port's "data" field may be used by application and thus need to be set to NULL. The issue was introduced in the f8a0992944df commit.
Found by Coverity (CID 374352).
show more ...
|
2023:72edfa4fe03c | 01-Dec-2021 |
Valentin Bartenev |
Logging of the daemon version on startup. |
2019:8fcb7e44c663 | 25-Nov-2021 |
Valentin Bartenev |
PHP: fixed crash when calling module functions in OPcache preload.
In PHP, custom fastcgi_finish_request() and overloaded chdir() functions can be invoked by an OPcache preloading script (it runs wh
PHP: fixed crash when calling module functions in OPcache preload.
In PHP, custom fastcgi_finish_request() and overloaded chdir() functions can be invoked by an OPcache preloading script (it runs when php_module_startup() is called in the app process setup handler). In this case, there was no runtime context set so trying to access it caused a segmentation fault.
This closes #602 issue on GitHub.
show more ...
|
2017:c1617684637c | 25-Nov-2021 |
Max Romanov |
Fixing access_log structure reference counting.
The reference to the access_log structure is stored in the current nxt_router_conf_t and the global nxt_router_t. When the reference is copied, the r
Fixing access_log structure reference counting.
The reference to the access_log structure is stored in the current nxt_router_conf_t and the global nxt_router_t. When the reference is copied, the reference counter should be adjusted accordingly.
This closes #593 issue on GitHub.
show more ...
|
2016:730e903f4534 | 24-Nov-2021 |
Max Romanov |
Fixing zombie process appearance and hang up on shutdown.
After the c8790d2a89bb commit, the SIGCHLD handler may return before processing all awaiting PIDs. To avoid zombie processes and ensure suc
Fixing zombie process appearance and hang up on shutdown.
After the c8790d2a89bb commit, the SIGCHLD handler may return before processing all awaiting PIDs. To avoid zombie processes and ensure successful main process termination, waitpid() must be called until an error is returned.
This closes #600 issue on GitHub.
show more ...
|
2015:4570130dd183 | 24-Nov-2021 |
Max Romanov |
Fixing alerts on router restart.
Splitting the process type connectivity matrix to 'keep ports' and 'send ports'; the 'keep ports' matrix is used to clean up unnecessary ports after forking a new pr
Fixing alerts on router restart.
Splitting the process type connectivity matrix to 'keep ports' and 'send ports'; the 'keep ports' matrix is used to clean up unnecessary ports after forking a new process, and the 'send ports' matrix determines which process types expect to get created process ports.
Unfortunately, the original single connectivity matrix no longer works because of an application stop delay caused by prototypes. Existing applications should not get the new router port at the moment.
show more ...
|
2014:f8a0992944df | 24-Nov-2021 |
Max Romanov |
Sending shared port to application prototype.
Application process started with shared port (and queue) already configured. But still waits for PORT_ACK message from router to start request processin
Sending shared port to application prototype.
Application process started with shared port (and queue) already configured. But still waits for PORT_ACK message from router to start request processing (so-called "ready state").
Waiting for router confirmation is necessary. Otherwise, the application may produce response and send it to router before the router have the information about the application process. This is a subject of further optimizations.
show more ...
|
2013:797e9f33226d | 23-Nov-2021 |
Valentin Bartenev |
Fixed possible access to an uninitialized field.
The "recv_msg.incoming_buf" is checked after jumping to the "done" label if nxt_socket_msg_oob_get_fds() returns an error.
Also moved initialization
Fixed possible access to an uninitialized field.
The "recv_msg.incoming_buf" is checked after jumping to the "done" label if nxt_socket_msg_oob_get_fds() returns an error.
Also moved initialization of "port_msg" near to its first usage.
Found by Coverity (CID 373899).
show more ...
|
Revision tags: 1.26.0-1, 1.26.0 |
|
2002:c802cd567711 | 11-Nov-2021 |
Valentin Bartenev |
Removed the execute permission bit from "nxt_h1proto.c".
It was accidentally added in 4645a43bc248. |
1998:c8790d2a89bb | 09-Nov-2021 |
Tiago Natel de Moura |
Introducing application prototype processes. |
1997:a8a3f1d243ee | 09-Nov-2021 |
Tiago Natel de Moura |
Changed nxt_process_* for reuse.
This enables the reuse of process creation functions. |
1996:35873fa78fed | 09-Nov-2021 |
Tiago Natel de Moura |
Introduced SCM_CREDENTIALS / SCM_CREDS in the socket control msgs. |
1991:61155eb41a96 | 05-Nov-2021 |
Zhidao HONG |
Router: matching query string support.
The "query" option matches decoded arguments, including plus ('+') to space (' '). Like "uri", it can be a string or an array of strings. |
1990:89f8eb0b5ccf | 05-Nov-2021 |
Zhidao HONG |
HTTP: removed surplus check for r->args is not NULL. |
1989:beee0e84eea0 | 05-Nov-2021 |
Zhidao HONG |
Router: fixed nxt_http_route_arguments_parse().
A valid query string argument is a string of "key=value\[&key=value ...\]" pairs with non-empty keys. The fix removes invalid empty arguments. |
1988:574e6e17fc19 | 05-Nov-2021 |
Zhidao HONG |
Configuration: improved matching pattern error messages. |
1983:ca8c8d29f323 | 02-Nov-2021 |
Valentin Bartenev |
Improved logging of app module load errors. |
1980:43553aa72111 | 28-Oct-2021 |
Max Romanov |
Moving request limit control to libunit.
Introducting application graceful stop. For now only used when application process reach request limit value.
This closes #585 issue on GitHub. |
1979:f62d52f65cf1 | 28-Oct-2021 |
Max Romanov |
Python: creating and reusing asgi_add_reader() wrapper. |
1978:13e1e2651f08 | 28-Oct-2021 |
Max Romanov |
Adding explicit app reference to nxt_router_app_port_release().
port->app field is not thread safe and should be used in main thread only. To release port after request processing, application refer
Adding explicit app reference to nxt_router_app_port_release().
port->app field is not thread safe and should be used in main thread only. To release port after request processing, application reference should be obtained from corresponding request descriptor.
show more ...
|
1977:3891f1d68cc3 | 27-Oct-2021 |
Valentin Bartenev |
Fixed memleaks if PID checks fail in nxt_port_incoming_port_mmap().
Memory allocated for "mem" and "mmap_handler" leaked in that case. Also removed one dead assigment of "hdr" pointer. |
1976:3997c4645142 | 26-Oct-2021 |
Valentin Bartenev |
Fixed a potential descriptor leak if mmap() failed. |
1975:6a47cab8f271 | 26-Oct-2021 |
Valentin Bartenev |
Custom implementation of Base64 decoding function.
Compared to the previous implementation based on OpenSSL, the new implementation has these advantages:
1. Strict and reliable detection of invali
Custom implementation of Base64 decoding function.
Compared to the previous implementation based on OpenSSL, the new implementation has these advantages:
1. Strict and reliable detection of invalid strings, including strings with less than 4 bytes of garbage at the end;
2. Allows to use Base64 strings without '=' padding.
show more ...
|