Commit Graph

943 Commits

Author SHA1 Message Date
Andrei Belov a22fd45248 Packages: URL fixed in examples to work with latest curl. 2018-12-27 11:06:43 +03:00
Valentin Bartenev e038f1e9cc Version bump. 2019-02-07 17:42:31 +03:00
Andrei Belov 325421eac7 Packages: URL fixed in examples to work with latest curl. 2018-12-27 11:06:43 +03:00
Andrey Zelenkov 17068d2cdc Tests: removed skipping Go tests on x86. 2018-12-25 21:28:02 +03:00
Andrey Zelenkov 5964413066 Tests: added delay to wait for error logging. 2018-12-25 17:22:32 +03:00
Andrey Zelenkov 4ccf0c8a17 Tests: fixed test_tls_reconfigure.
Previously, order of applying TLS configuration and sending partial request to
the application was uncertain.  These changes make sure that client-application
connection was established before reconfiguration.  Additionally, added test
to check that non-TLS connection works correctly after reconfiguration.
2018-12-25 16:35:35 +03:00
Andrey Zelenkov f5b7fee128 Tests: set TCP_NODELAY option by default. 2018-12-25 16:35:35 +03:00
Andrey Zelenkov d625691ff4 Tests: test_node_application_write_before_writeHead reworked.
Added res.end() call in application and response status check.
Also, renamed to test_node_application_write_before_write_head.
2018-12-25 16:35:35 +03:00
Andrey Zelenkov f57e729a11 Tests: expectedFailure's removed from test_node_application.py.
Also removed alert skip in test_node_application_write_before_writeHead.

Fixes committed in 1340e3539362, 1e008ef94f43, 5df32621af19, dae402cb243f
and 41f561b3a178.
2018-12-25 16:35:35 +03:00
Andrey Zelenkov f9a3328a25 Tests: more QUERY_STRING tests. 2018-12-24 20:35:18 +03:00
Valentin Bartenev fac0ef29d5 Version bump. 2018-12-24 20:31:45 +03:00
Valentin Bartenev 4195a29fab Added tag 1.7 for changeset 784b45adb0fe 2018-12-20 19:23:59 +03:00
Valentin Bartenev c51e1aa47d Generated Dockerfiles for Unit 1.7. 2018-12-20 19:17:08 +03:00
Valentin Bartenev 45655f2652 Added version 1.7 CHANGES. 2018-12-20 19:17:08 +03:00
Valentin Bartenev 61a87bc285 Fixed style in CHANGES. 2018-12-20 19:17:08 +03:00
Valentin Bartenev 27394118b3 Python: fixed error reporting on initialization of applications.
PyErr_Print() writes traceback to "sys.stderr", which is a file object that
can buffer the output.  If the process exits immediately, the buffer can be
destroyed before flushing to the log.  As a result, the user doesn't see
the traceback.

Now Py_Finalize() is also called in case of any errors during initialization.
It finalizes the interpreter and flushes all data.
2018-12-20 15:47:10 +03:00
Valentin Bartenev 1ce7e860b2 Python: cleanup of nxt_python_init().
- Removed surplus NULL assignments;
 - Added missing nxt_slow_path();
 - Style cleanup.
2018-12-20 15:47:10 +03:00
Artem Konev 9c03079e3a Python: fixed a typo in path error message. 2018-12-20 14:17:58 +03:00
Valentin Bartenev cebec46353 Python: replaced PyErr_PrintEx(1) with PyErr_Print().
These function calls are equivalent.
No functional changes.
2018-12-19 20:06:53 +03:00
Alexander Borisov 98e8f366da Node.js: removed value checking for headers. 2018-12-19 15:57:07 +03:00
Alexander Borisov d9dad07934 Node.js: removed unused _implicitHeader() function. 2018-12-19 15:57:04 +03:00
Alexander Borisov d6f38a3268 Node.js: added check for libunit version at compile time. 2018-12-19 15:56:57 +03:00
Alexander Borisov c55f329ecf libunit: added generation of version header file. 2018-12-19 15:56:54 +03:00
Alexander Borisov ab461437b5 Node.js: checking for exception after running JS code from C++. 2018-12-19 15:56:37 +03:00
Alexander Borisov dcf51274ce Node.js: checking uniqueness of HTTP headers for different case. 2018-12-19 15:56:30 +03:00
Alexander Borisov 607653c0f1 Node.js: calling write callback asynchronously. 2018-12-19 15:56:13 +03:00
Alexander Borisov 704fe556b4 Node.js: style fixes.
No functional changes.
2018-12-19 15:56:09 +03:00
Alexander Borisov dc16885b60 Node.js: changed the unit-http socket constructor.
Third-party file descriptors are not supported.
Socket "readable" and "writable" options are set true by default.
2018-12-19 15:56:06 +03:00
Alexander Borisov f47a5db506 Node.js: napi_call_function() replaced with napi_make_callback().
The sequence of napi_open_callback_scope(),
napi_call_function(), and napi_close_callback_scope() functions calls
executes the provided JS code and all functions enqueued by
process.nextTick() and Promises during this execution.
2018-12-19 15:56:01 +03:00
Alexander Borisov 13c9ebccca Node.js: changed the 'data' event calling sequence for the request.
The problem is caused by Promises' inconsistency.
The 'date' event could have been triggered before the user has started
listening for it.  To resolve the issue, we override the 'on' method of
the request's emitter.
2018-12-19 15:55:58 +03:00
Alexander Borisov de3c062c6e Node.js: buffering HTTP headers before writing the body. 2018-12-19 15:55:54 +03:00
Valentin Bartenev aeb026c8ab Node.js: removed unused dependency. 2018-12-12 19:57:15 +03:00
Valentin Bartenev f51f95fa54 Node.js: fixed global install in some cases.
By default "npm install" switches to non-privileged user to run package scripts
if it is invoked by root.  As a result it may prevent node-gyp from writing to
package directory and break installation of the module.

To disable this switching the --unsafe-perm flag is added.
2018-12-12 19:54:52 +03:00
Andrey Zelenkov aafa4bbaf9 Tests: more Node.js tests. 2018-12-11 18:30:58 +03:00
Andrey Zelenkov 37cd6d23b6 Tests: PHP directives "disable_classes" and "disable_functions". 2018-11-28 03:14:38 +03:00
Andrey Zelenkov 2ef5011236 Tests: fixed test_node_application_write_callback.
Fixed the write() callback order test.
Also introduced a separate test to verify the callback call itself.
2018-12-04 19:05:10 +03:00
Valentin Bartenev d500e29f88 Ruby: rpath made optional.
In most cases it is not needed because Ruby libraries are in the default path.
At the same time, rpath pointing to the default path is prohibited by rpmbuild
on Fedora.

This is related to issue #87 on GitHub.
2018-12-04 17:18:00 +03:00
Andrei Belov 63d16aa5f6 Packages: made unit-go architecture-dependent.
This closes #172 issue on GitHub.
2018-11-29 12:10:16 +03:00
Valentin Bartenev db63191719 PHP: fixed "disable_functions" and "disable_classes" options.
It turned out they need additional processing to work.
This closes #183 issue on GitHub.
2018-11-27 22:06:39 +03:00
Andrei Belov 7c09387156 Packages: added strict version dependency for unit-dev/unit-devel. 2018-11-26 13:05:37 +03:00
Valentin Bartenev 262578dc71 PHP: workaround for bug #71041.
Since PHP 7, a zend_signal_startup() call is required if the interpreter
was built with ZEND_SIGNALS defined; such a call was added in 3fd76e4ce70a.

However, the zend_signal_startup() export is missing from the PHP library;
as the result, dlopen() fails with the 'Undefined symbol "zend_signal_startup"'
error while loading the PHP module.

Meanwhile, if PHP is built without ZTS, the zend_signal_startup() call can
be omitted; otherwise, the missing call causes segmentation fault.

The PHP fix already was committed to upstream, but we still have to deal
with numerous unpatched versions remaining at large.

See the related PHP bug: https://bugs.php.net/bug.php?id=71041
2018-11-22 20:23:43 +03:00
Valentin Bartenev adf22b6a0d PHP: fixed compatibility with ZTS.
This closes #184 issue on GitHub.
2018-11-21 18:22:19 +03:00
Valentin Bartenev 39cd4a9dee Prettier ./configure summary. 2018-11-15 21:50:00 +03:00
Sergey Kandaurov 0fdc7c3a55 Tests: Node.js application tests. 2018-10-25 15:43:48 +03:00
Andrey Zelenkov 41d3d63758 Tests: class prefix made optional. 2018-11-15 21:26:15 +03:00
Andrey Zelenkov eff760bd2b Tests: added command line arguments parsing in tests.
Added the following command line arguments:

  -d, --detailed: Show detailed output for tests

    Usage examples:

    ./test/run.py --detailed
    python3 test/test_access_log.py --detailed
    python3 test/test_access_log.py -d TestUnitAccessLog.test_access_log_ipv6


  -l, --log: Save unit.log after the test execution

    Usage examples:

    ./test/run.py -l
    python3 test/test_access_log.py -l
    python3 test/test_access_log.py --log TestUnitAccessLog.test_access_log_ipv6
2018-11-15 21:26:15 +03:00
Valentin Bartenev c1fd6cb589 Added TLS information to ./configure summary. 2018-11-15 20:08:46 +03:00
Valentin Bartenev e4d9cffedf Version bump. 2018-11-15 20:08:43 +03:00
Valentin Bartenev a4b02e1738 Added tag 1.6 for changeset d411e7fdee9e 2018-11-15 16:06:42 +03:00
Valentin Bartenev 1ebd23f11a Generated Dockerfiles for Unit 1.6. 2018-11-15 16:05:11 +03:00