summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)AuthorFilesLines
2022-02-15Tests: added test with long certificate chain.Andrei Zeliankou1-0/+45
2022-02-15Updated copyright notice.Valentin Bartenev8-34/+80
2022-02-14Certificates: fixed crash when reallocating chain.Zhidao HONG2-1/+7
2022-02-09Python: fixing debug message field type.Max Romanov1-1/+2
Introduced in the 78864c9d5ba8 commit. Sorry about that.
2022-02-08Python: fixing incorrect function object dereference.Max Romanov2-6/+19
The __call__ method can be native and not be a PyFunction type. A type check is thus required before accessing op_code and other fields. Reproduced on Ubuntu 21.04, Python 3.9.4 and Falcon framework: here, the App.__call__ method is compiled with Cython, so accessing op_code->co_flags is invalid; accidentally, the COROUTINE bit is set which forces the Python module into the ASGI mode. The workaround is explicit protocol specification. Note: it is impossible to specify the legacy mode for ASGI.
2022-01-31Tests: removed TestApplicationTLS.get_server_certificate().Andrei Zeliankou14-60/+61
distutils.version is replaced by packaging.version. Also minor style fixes.
2022-01-13Docker: bumped Python image version.Konstantin Pavlov1-1/+1
2022-01-10Tests: using modules in Go.Max Romanov5-46/+41
2021-12-27Java: fixing multiple SCI initializations.Max Romanov2-4/+21
- Ignoring Tomcat WebSocket container initialization. - Renaming application class loader to UnitClassLoader to avoid development environment enablement in Spring Boot. This closes #609 issue on GitHub.
2021-12-27Perl: creating input and error streams if closed.Max Romanov7-167/+166
Application handler can do anything with a stream object (including close it). Once the stream is closed, Unit creates a new stream. This closes #616 issue on GitHub.
2021-12-17Docker: bumped PHP image version.Konstantin Pavlov1-1/+1
2021-12-01Docker: made Dockerfiles architecture agnostic.Konstantin Pavlov2-2/+6
2021-12-12Tests: fixed type of applications.Andrei Zeliankou9-23/+23
2021-12-11Tests: added more OPcache tests.Andrei Zeliankou4-13/+66
2021-12-10Tests: fixed path to the "php.ini" file.Andrei Zeliankou1-2/+10
2021-12-03Fixed debug message broken in 45b25ffb2e8c.Zhidao HONG1-1/+2
2021-12-03Printing version in "./configure" output.Valentin Bartenev2-1/+3
2021-12-03Merged with the 1.26 branch.Valentin Bartenev11-15/+63
2021-12-02Unit 1.26.1 release.Valentin Bartenev1-0/+1
2021-12-02Generated Dockerfiles for Unit 1.26.1.1.26.1Valentin Bartenev8-8/+8
2021-12-02Added version 1.26.1 CHANGES.Valentin Bartenev2-2/+20
2021-12-02Reordered changes for 1.26.1 by significance (subjective).Valentin Bartenev1-7/+7
2021-12-02Fixed grammar in "changes.xml".Artem Konev1-1/+1
2021-12-02Fixed grammar in "changes.xml".Artem Konev1-1/+1
2021-12-02Packages: added systemd service for debug binary.Andrei Belov4-5/+50
2021-12-02Packages: added systemd service for debug binary.Andrei Belov4-5/+50
2021-12-01Disabling SCM_CREDS usage on DragonFly BSD.Max Romanov2-30/+38
DragonFly BSD supports SCM_CREDS and SCM_RIGHTS, but only the first control message is passed correctly while the second one isn't processed by the kernel. This closes #599 issue on GitHub.
2021-12-01Disabling SCM_CREDS usage on DragonFly BSD.Max Romanov2-30/+38
DragonFly BSD supports SCM_CREDS and SCM_RIGHTS, but only the first control message is passed correctly while the second one isn't processed by the kernel. This closes #599 issue on GitHub.
2021-12-01Fixing prototype process crash.Max Romanov2-0/+9
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.
2021-12-01Fixing prototype process crash.Max Romanov2-0/+9
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.
2021-12-01Fixing uninitialized structure field.Max Romanov1-0/+1
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).
2021-12-01Logging of the daemon version on startup.Valentin Bartenev1-1/+1
2021-12-01Logging of the daemon version on startup.Valentin Bartenev1-1/+1
2021-12-01Tests: fixed skipping tests with disabled OPcache.Andrei Zeliankou1-1/+1
2021-12-01Tests: fixed skipping tests with disabled OPcache.Andrei Zeliankou1-1/+1
2021-11-30Docker: respect the binary from CMD in the entrypoint.Konstantin Pavlov1-1/+1
2021-12-01Packages: adjusted debhelper minimal version for Debian/Ubuntu.Andrei Belov3-6/+6
Forgotten in 199a11eceb3c. While here, Standards-Version increased to 4.1.4 (matches Ubuntu 18.04 as the oldest supported distro).
2021-11-30Docker: respect the binary from CMD in the entrypoint.Konstantin Pavlov1-1/+1
2021-12-01Packages: adjusted debhelper minimal version for Debian/Ubuntu.Andrei Belov3-6/+6
Forgotten in 199a11eceb3c. While here, Standards-Version increased to 4.1.4 (matches Ubuntu 18.04 as the oldest supported distro).
2021-11-25PHP: fixed crash when calling module functions in OPcache preload.Valentin Bartenev2-2/+12
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.
2021-11-25PHP: fixed crash when calling module functions in OPcache preload.Valentin Bartenev2-2/+12
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.
2021-11-25Added a changelog for 730e903f4534.Max Romanov1-0/+7
2021-11-25Added a changelog for 730e903f4534.Max Romanov1-0/+7
2021-11-25Fixing access_log structure reference counting.Max Romanov2-4/+33
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.
2021-11-25Fixing access_log structure reference counting.Max Romanov2-4/+33
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.
2021-11-24Fixing zombie process appearance and hang up on shutdown.Max Romanov1-1/+3
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.
2021-11-24Fixing zombie process appearance and hang up on shutdown.Max Romanov1-1/+3
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.
2021-11-24Fixing alerts on router restart.Max Romanov3-7/+16
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.
2021-11-24Fixing alerts on router restart.Max Romanov3-7/+16
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.
2021-11-24Sending shared port to application prototype.Max Romanov8-85/+110
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.