History log of /unit/ (Results 101 – 125 of 1953)
Revision (<<< Hide revision tags) (Show revision tags >>>)Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
1935:ba08638c325912-Aug-2021 Oisin Canty

Introduced nxt_sockaddr_parse_optport() for addresses w/o ports.

1934:2060686d657911-Aug-2021 Max Romanov

Tests: initialising log params before first _print_log().

1933:85d5ea55c75c11-Aug-2021 Max Romanov

Tests: retrying directory remove if resource is busy.

1932:ee35fc1dca3309-Aug-2021 Max Romanov

Python: fixing misprint in error message.

1931:747666e4bec309-Aug-2021 Max Romanov

Java: upgrading third-party components.

1930:fb8b29aac7a105-Aug-2021 Oisin Canty

Router: fixed crash when matching an empty address pattern array.

A crash would occur when the router tried to match an
against an empty address pattern array.

The following configuration was used

Router: fixed crash when matching an empty address pattern array.

A crash would occur when the router tried to match an
against an empty address pattern array.

The following configuration was used to reproduce the
issue:

{
"listeners": {
"127.0.0.1:8082": {
"pass": "routes"
}
},
"routes": [
{
"match": {
"source": []
},
"action": {
"return": 200
}
}
]
}

show more ...

1929:92353aff2df304-Aug-2021 Zhidao HONG

Added a changelog for ae4f067a9ea4.

1928:ae4f067a9ea401-Aug-2021 Zhidao HONG

Router: fixed segmentation fault.

In the case that routes or upstreams is empty and the pass option is a variable.
If the resolved pass is routes or upstreams, a segment error occurred.

1927:ac8d11e3442703-Aug-2021 Max Romanov

Fixed dead assignments.

Found by Clang Static Analyzer.

1926:6e85d6c0b8bb29-Jul-2021 Max Romanov

Application restart introduced.

When processing a restart request, the router sends a QUIT message to all
existing processes of the application. Then, a new shared application port is
created to en

Application restart introduced.

When processing a restart request, the router sends a QUIT message to all
existing processes of the application. Then, a new shared application port is
created to ensure that new requests won't be handled by the old processes of
the application.

show more ...

1925:b8a2ac61895024-Jul-2021 Zhidao HONG

Router: split nxt_http_app_conf_t from nxt_http_action_t.

No functional changes.

1924:96d090de753426-Jul-2021 Zhidao HONG

Router: renamed nxt_http_proxy_create() as nxt_http_proxy_init().

No functional changes.

1923:9f268a8a1a2f23-Jul-2021 Zhidao HONG

Router: split nxt_http_static_conf_t from nxt_http_action_t.

No functional changes.

1922:53a9f4983fe023-Jul-2021 Andrei Zeliankou

Tests: added SNI test without hostname in request.

1921:b0deb6fa921922-Jul-2021 Andrey Suvorov

Changing SNI callback return code if a client sends no SNI.

When a client sends no SNI is a common situation. But currently the server
processes it as an error and returns SSL_TLSEXT_ERR_ALERT_FATA

Changing SNI callback return code if a client sends no SNI.

When a client sends no SNI is a common situation. But currently the server
processes it as an error and returns SSL_TLSEXT_ERR_ALERT_FATAL causing
termination of a current TLS session. The problem occurs if configuration has
more than one certificate bundle in a listener.

This fix changes the return code to SSL_TLSEXT_ERR_OK and the log level of a
message.

show more ...

1920:7c19530e250221-Jul-2021 Andrey Suvorov

Enabling configure TLS sessions.

To support TLS sessions, Unit uses the OpenSSL built-in session cache; the
cache_size option defines the number sessions to store. To disable the feather,
the optio

Enabling configure TLS sessions.

To support TLS sessions, Unit uses the OpenSSL built-in session cache; the
cache_size option defines the number sessions to store. To disable the feather,
the option must be zero.

show more ...

1919:4db57d6df92021-Jul-2021 Oisin Canty

Tests: use mutex with multitthreaded Ruby hooks.

This commit fixes a rare crash that can occur when File.write is
called by many threads.

1918:b15674b9a39a20-Jul-2021 Max Romanov

Python: using default event_loop for main thread for ASGI.

Unit's ASGI implementation creates a new event loop to run an application for
each thread since 542b5b8c0647. This may cause unexpected ex

Python: using default event_loop for main thread for ASGI.

Unit's ASGI implementation creates a new event loop to run an application for
each thread since 542b5b8c0647. This may cause unexpected exceptions or
strange bugs if asyncio synchronisation primitives are initialised before the
application starts (e.g. globally).

Although the approach with a new event loop for the main thread is consistent
and helps to prepare the application to run in multiple threads, it can be a
source of pain for people who just want to run single-threaded ASGI
applications in Unit.

This is related to #560 issue on GitHub.

show more ...

1917:a7e80c97def420-Jul-2021 Max Romanov

Python: fixing exceptions in Future.set_result for ASGI implementation.

An ASGI application can cancel the Future object returned by the receive()
call. In this case, Unit's ASGI implementation sho

Python: fixing exceptions in Future.set_result for ASGI implementation.

An ASGI application can cancel the Future object returned by the receive()
call. In this case, Unit's ASGI implementation should not call set_result()
because the Future is already handled. In particular, the Starlette framework
was noted to cancel the received Future.

This patch adds a done() check for the Future before attempting a set_result().

This is related to #564 issue on GitHub.

show more ...

1916:2d7e5426501020-Jul-2021 Max Romanov

Python: fixing ASGI receive() issues.

The receive() call never blocks for a GET request and always returns the same
empty body message. The Starlette framework creates a separate task when
receive(

Python: fixing ASGI receive() issues.

The receive() call never blocks for a GET request and always returns the same
empty body message. The Starlette framework creates a separate task when
receive() is called in a loop until an 'http.disconnect' message is received.

The 'http.disconnect' message was previously issued after the response header
had been sent. However, the correct behavior is to respond with
'http.disconnect' after sending the response is complete.

This closes #564 issue on GitHub.

show more ...

1915:48167dd83aa519-Jul-2021 Max Romanov

Router: fixing assertion on app thread port handle.

A new application thread port message can be processed in the router after the
application is removed from the router. Assertion for this case is

Router: fixing assertion on app thread port handle.

A new application thread port message can be processed in the router after the
application is removed from the router. Assertion for this case is replaced by
a condition to store the new thread port until receiving the stop notification
from the application process.

show more ...

1914:c5adf908869005-Jul-2021 Andrei Zeliankou

Tests: print_log_on_assert() decorator introduced.

1913:3e9b04cd33bc03-Jul-2021 Andrei Zeliankou

Tests: address configuration tests reworked.

1912:942e252e3f4c02-Jul-2021 Oisin Canty

Tests: Ruby hooks.

1911:4a7d1f86c2e502-Jul-2021 Oisin Canty

Tests: run Ruby applications inside temporary directory.

12345678910>>...79