summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)AuthorFilesLines
2019-04-09Tests: read_timeout increased.Andrey Zelenkov1-2/+2
2019-04-09Tests: speed up tests.Andrey Zelenkov11-8/+59
2019-04-09Tests: wait_for_record() introduced.Andrey Zelenkov6-85/+59
2019-04-09Tests: added "name" argument for search_in_log().Andrey Zelenkov1-2/+2
2019-04-09Tests: style.Andrey Zelenkov1-12/+3
2019-04-09Tests: simplified module checking.Andrey Zelenkov18-35/+21
2019-04-03Backed out changeset f74d4dd9c3db.Valentin Bartenev1-0/+8
This closes #240 issue on GitHub.
2019-04-02Removing unused variables and assignments.Max Romanov1-8/+5
Warnings introduced in 53533ba0097c commit.
2019-04-01Adding 'connection' to request as an alias to 'socket'.Max Romanov1-4/+11
Adding actual 'remoteAddress' and 'localAddress' into socket object. This closes #232 issue on GitHub.
2019-04-01Introducing close event to notify about server stop.Max Romanov2-0/+25
This closes #236 on GitHub. Thanks to 0xcdcdcdcd.
2019-04-01Adding syntax sugar.Max Romanov5-654/+882
With exceptions and overloads.
2019-03-28Tests: unit module refactoring.Andrey Zelenkov33-918/+931
2019-03-26Tests: speed up Java tests.Andrey Zelenkov1-1/+5
2019-03-26Tests: style.Andrey Zelenkov18-2380/+4159
2019-03-26Packages: added RHEL 8 support.Andrei Belov4-3/+16
2019-03-25Turning off port read event state after main process fork.Max Romanov2-2/+1
Master port stores two file descriptors and works as a read port on the master process side. After a fork, the port switches into write mode and the read socket closes, but the same event structure is used for the write socket. However, the inherited structure remained in read state, telling the epoll engine to use MOD operation instead of ADD. The patch resets read event state, so the engine may write using proper ADD operation.
2019-03-22Ignoring EPERM error when changing application process uid/gid.Max Romanov1-16/+33
This closes #228 issue on GitHub.
2019-03-22Destroying pool in case of error.Max Romanov2-2/+2
This closes #233 issue on GitHub. Thanks to 洪志道 (Hong Zhi Dao).
2019-03-22Style fixing.Max Romanov1-0/+1
This closes #233 issue on GitHub. Thanks to 洪志道 (Hong Zhi Dao).
2019-03-21Adjusting request schema value according to connection tls state.Max Romanov14-31/+103
This closes #223 issue on GitHub.
2019-03-18Removing unused local variable.Max Romanov1-7/+0
2019-03-18Setting request error flag in error handler.Max Romanov1-0/+2
Absence of this flag is the reason of memory leak in case when client disconnected before receiving all response data.
2019-03-11Style.Andrey Zelenkov20-48/+48
2019-03-06Removed unnecessary abstraction layer.Alexander Borisov6-260/+127
2019-03-05Introducing one more large config test, but without sockets.Max Romanov1-0/+25
2019-03-05Improving port message fragment recognition.Max Romanov1-16/+36
This is required to assemble fragmented messages correctly. Stream identifier is unique only for messages generated within a process, but the (stream, pid) pair should be enough to avoid collisions. Adding reply_port seems redundant because it's enough to add stream to a pid. This closes #199 issue on GitHub. Thanks to 洪志道 (Hong Zhi Dao).
2019-03-05Fixing EAGAIN processing for port message send.Max Romanov1-8/+26
Sending large plain (exceeding port's max_size, not in shared memory) messages causes message fragmentation. First message fragment is sent successfully, but the next fragment may fail with the EAGAIN error. In this case, the message has to be pushed back to queue head for additional processing. Related to #167 issue on GitHub.
2019-03-05Handling ENOBUFS error same was as EAGAIN.Max Romanov2-2/+12
Unlike EAGAIN, ENOBUFS returned on OSX when trying to send many relatively small (64 bytes) fragments. Found during investigation of #167 issue on GitHub.
2019-03-05Including port message header into message size limit.Max Romanov1-0/+2
Before this fix, large plain message (i.e. configuration) send may fail with the 'Message too big' error, because internal fragmentation implementation does not account for 16 byte message header. This closes #167 issue on GitHub.
2019-03-05Version bump.Valentin Bartenev1-2/+2
2019-03-01Tests: skip more alerts.Andrey Zelenkov2-2/+7
2019-03-01Tests: made tests compatible with PHP 5.3.Andrey Zelenkov3-4/+10
2019-03-01Packages: fixed building of unit-jsc11 rpm.Andrei Belov1-1/+1
2019-03-01Added tag 1.8.0 for changeset 0a18a14d169fValentin Bartenev1-0/+1
2019-03-01Generated Dockerfiles for Unit 1.8.0.1.8.0Valentin Bartenev9-9/+9
2019-03-01Added version 1.8.0 CHANGES.Valentin Bartenev3-1/+171
2019-03-01Fixed TLS connections hanging.Igor Sysoev1-4/+2
After event is delivered from the kernel its further processing is blocked. Non-ready TSL I/O operation should mark connection I/O state as not ready to unblock events and to allow their further processing. Otherwise the connection hangs.
2019-03-01Packages: added JSR-340 compatibility notice to unit-jsc packages.Andrei Belov6-1/+65
2019-03-01Tests: Perl streaming body and delayed response simple tests.Andrey Zelenkov3-0/+39
2019-03-01README.JSR-340 legal notice to save our ughm.. bottoms of bodies.Valentin Bartenev1-0/+16
2019-03-01Perl: added implementation delayed response and streaming body.Alexander Borisov2-17/+177
2019-03-01Packages: added Java trademark notice to corresponding packages.Andrei Belov8-4/+165
2019-03-01Packages: removed Ubuntu 17.04 and 17.10 references due to EOL.Andrei Belov1-22/+0
2019-02-28Tests: specify ssl_version option.Andrey Zelenkov1-1/+13
TLS is explicitly selected to prevent using of SSL protocol in ssl.get_server_certificate() call for Python 3.4 and older.
2019-02-28Tests: fixed PHP "disable_functions" and "disable_classes" tests.Andrey Zelenkov4-69/+60
2019-02-28Made QUERY_STRING mandatory.Valentin Bartenev5-18/+7
According to CGI/1.1 RFC 3875: The server MUST set this variable; if the Script-URI does not include a query component, the QUERY_STRING MUST be defined as an empty string (""). Python's PEP 333(3) allows omitting it in WSGI interface; PHP docs force no requirements; PSGI and Rack specifications require it even if empty. When nginx proxies requests over FastCGI, it always provides QUERY_STRING. and some PHP apps have been observed to fail if it is missing (see issue #201 on GitHub). A drawback of this change (besides a small overhead) is that there will be no easy way to tell a missing query string from an empty one (i.e. requests with or without the "?" character); yet, it's negligible compared to the possible benefits of wider application compatibility. This closes #226 issue on GitHub.
2019-02-28Packages: added unit-jsc (Java Servlet Container) family.Andrei Belov24-14/+2408
2019-02-28Fixed timer and event race condition.Igor Sysoev5-8/+17
When idle timeout occurs at the same time as a request comes in, the timer handler closes connection while the read event triggers request processing, and this eventually leads to segmentation fault.
2019-02-28Preserving message 'share' field when pushing to queue.Max Romanov1-0/+1
As far as I understand, this field is important to control the number of buffers send in a single write attempt. Furthermore, having uninitialized field is always bad. This closes #204 issue on GitHub. Thanks to 洪志道 (Hong Zhi Dao).
2019-02-28Introducing Java Servlet Container beta.Max Romanov95-1/+13360