Home
last modified time | relevance | path

Searched hist:2020 (Results 1 – 25 of 303) sorted by last modified time

12345678910>>...13

/unit/test/
H A Dtest_variables.pydiff 1654:fc7d0578e124 Mon Oct 19 21:25:00 UTC 2020 Andrei Zeliankou <zelenkov@nginx.com> Tests: fixed unit.log print.
diff 1607:de4373a63715 Mon Sep 21 20:29:00 UTC 2020 Andrei Zeliankou <zelenkov@nginx.com> Tests: added variable test with nonexistent upstream.
diff 1596:b7e2d4d92624 Wed Sep 16 20:31:00 UTC 2020 Andrei Zeliankou <zelenkov@nginx.com> Tests: migrated to the pytest.
diff 1588:c606d051f770 Mon Aug 31 02:14:00 UTC 2020 Andrei Zeliankou <zelenkov@nginx.com> Tests: $host varaible test.

Also added few tests for $uri and minor style fixes.
1567:8c6ba94a2a96 Thu Aug 13 12:17:00 UTC 2020 Andrei Zeliankou <zelenkov@nginx.com> Tests: added variables tests.
H A Dconftest.pydiff 1761:ede60e756066 Wed Dec 23 15:30:00 UTC 2020 Andrei Belov <defan@nginx.com> Tests: ability to run unitd with specified "--user" option.
diff 1757:200f477978ab Mon Dec 21 11:00:00 UTC 2020 Tiago Natel de Moura <t.nateldemoura@f5.com> Tests: introduced a separate cache directory for Go builds.

The Go compiler can't detect changes to C header files when
compiling CGO applications, and then this leads to Go test
samples being linked with wrong libunit.

This patch creates a new cache directory reused throughout
the test suite.
diff 1743:1823689e1cf8 Sat Dec 12 20:08:00 UTC 2020 Andrei Zeliankou <zelenkov@nginx.com> Tests: hyphen sign used unstead of underscore as more common.
diff 1741:8c05e9ddbffb Wed Dec 09 16:17:00 UTC 2020 Andrei Zeliankou <zelenkov@nginx.com> Tests: TestUnit class removed.

Prerequisite checks moved to the fixture in conftest.py.
diff 1740:53149d20bb97 Wed Dec 09 16:15:00 UTC 2020 Andrei Zeliankou <zelenkov@nginx.com> Tests: isolation check moved to the pytest_sessionstart().

This change eliminates the need for some classes
to run Unit one more time before running tests.
diff 1736:22db875fda34 Tue Dec 08 14:37:00 UTC 2020 Andrei Zeliankou <zelenkov@nginx.com> Tests: skip_alert() converted to the fixture.
diff 1735:a0e0d4f90e51 Tue Dec 08 14:37:00 UTC 2020 Andrei Zeliankou <zelenkov@nginx.com> Tests: utils module introduced.
diff 1730:44912af5b3e6 Sun Dec 06 16:01:00 UTC 2020 Andrei Zeliankou <zelenkov@nginx.com> Tests: options moved to the separate class.

This change is necessary to separate the logic
and prevent possible circular dependency.
diff 1706:a1da56837554 Mon Nov 16 17:37:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Tests: fixing tests interrupt in terminal.

KeyboardInterrupt re-raised.
diff 1705:e839d8cc1afe Mon Nov 16 17:36:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Tests: making available versions unique.
H A Dtest_static.pydiff 1735:a0e0d4f90e51 Tue Dec 08 14:37:00 UTC 2020 Andrei Zeliankou <zelenkov@nginx.com> Tests: utils module introduced.
diff 1730:44912af5b3e6 Sun Dec 06 16:01:00 UTC 2020 Andrei Zeliankou <zelenkov@nginx.com> Tests: options moved to the separate class.

This change is necessary to separate the logic
and prevent possible circular dependency.
diff 1706:a1da56837554 Mon Nov 16 17:37:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Tests: fixing tests interrupt in terminal.

KeyboardInterrupt re-raised.
diff 1654:fc7d0578e124 Mon Oct 19 21:25:00 UTC 2020 Andrei Zeliankou <zelenkov@nginx.com> Tests: fixed unit.log print.
diff 1635:97afbb6c5a15 Wed Oct 07 22:18:00 UTC 2020 Andrei Zeliankou <zelenkov@nginx.com> Tests: minor fixes.
diff 1620:3165d834176e Wed Sep 30 21:45:00 UTC 2020 Andrei Zeliankou <zelenkov@nginx.com> Tests: fixed test_static_space_in_name.
diff 1596:b7e2d4d92624 Wed Sep 16 20:31:00 UTC 2020 Andrei Zeliankou <zelenkov@nginx.com> Tests: migrated to the pytest.
diff 1477:b93d1acf81bd Fri May 15 03:20:00 UTC 2020 Andrei Zeliankou <zelenkov@nginx.com> Tests: style.
diff 1368:b08ca65c6cda Fri Feb 21 15:08:00 UTC 2020 Andrei Zeliankou <zelenkov@nginx.com> Tests: more static tests.
/unit/src/
H A Dnxt_var.c1563:d32bc428f46b Wed Aug 12 23:46:00 UTC 2020 Valentin Bartenev <vbart@nginx.com> Basic variables support.
H A Dnxt_main_process.cdiff 1759:196b4d90c8cc Tue Dec 22 14:53:00 UTC 2020 Valentin Bartenev <vbart@nginx.com> Python: multiple values in the "path" option.
diff 1697:73a335d2911d Tue Nov 10 19:27:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Python: supporting ASGI legacy protocol.

Introducing manual protocol selection for 'universal' apps and frameworks.
diff 1689:e0d01647db76 Thu Nov 05 13:10:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Perl: request processing in multiple threads.

This closes #486 issue on GitHub.
diff 1687:b9d99e596725 Wed Nov 04 21:45:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Ruby: request processing in multiple threads.

This closes #482 issue on GitHub.
diff 1684:a10e10f3071f Wed Nov 04 21:06:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Java: request processing in multiple threads.

This closes #458 issue on GitHub.
diff 1681:542b5b8c0647 Wed Nov 04 21:04:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Python: request processing in multiple threads.

This closes #459 issue on GitHub.
diff 1673:883f2f79c2f6 Thu Oct 29 20:30:00 UTC 2020 Tiago Natel de Moura <t.nateldemoura@f5.com> Isolation: mounting of procfs by default when using "rootfs".
diff 1601:365bbeccef1c Fri Sep 18 10:41:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Python: app module callable name configuration.

Now it is possible to specify the name of the application callable using
optional parameter 'callable'. Default value is 'application'.

This closes #290 issue on GitHub.
diff 1585:e941d77852d1 Tue Aug 25 14:25:00 UTC 2020 Tiago Natel de Moura <t.nateldemoura@f5.com> Isolation: added "automount" option.

Now it's possible to disable default bind mounts of
languages by setting:

{
"isolation": {
"automount": {
"language_deps": false
}
}
}

In this case, the user is responsible to provide a "rootfs"
containing the language libraries and required files for
the application.
diff 1579:c80e692dc644 Thu Aug 20 14:22:00 UTC 2020 Tiago Natel de Moura <t.nateldemoura@f5.com> Moved isolation related code to "nxt_isolation.c".
H A Dnxt_application.hdiff 1759:196b4d90c8cc Tue Dec 22 14:53:00 UTC 2020 Valentin Bartenev <vbart@nginx.com> Python: multiple values in the "path" option.
diff 1697:73a335d2911d Tue Nov 10 19:27:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Python: supporting ASGI legacy protocol.

Introducing manual protocol selection for 'universal' apps and frameworks.
diff 1689:e0d01647db76 Thu Nov 05 13:10:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Perl: request processing in multiple threads.

This closes #486 issue on GitHub.
diff 1687:b9d99e596725 Wed Nov 04 21:45:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Ruby: request processing in multiple threads.

This closes #482 issue on GitHub.
diff 1684:a10e10f3071f Wed Nov 04 21:06:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Java: request processing in multiple threads.

This closes #458 issue on GitHub.
diff 1681:542b5b8c0647 Wed Nov 04 21:04:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Python: request processing in multiple threads.

This closes #459 issue on GitHub.
diff 1601:365bbeccef1c Fri Sep 18 10:41:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Python: app module callable name configuration.

Now it is possible to specify the name of the application callable using
optional parameter 'callable'. Default value is 'application'.

This closes #290 issue on GitHub.
diff 1489:4a3ec07f4b19 Thu May 28 13:57:00 UTC 2020 Tiago Natel de Moura <t.nateldemoura@f5.com> Added "rootfs" feature.
diff 1488:6976d36be926 Mon Mar 09 16:28:00 UTC 2020 Tiago Natel de Moura <t.nateldemoura@f5.com> Refactor of process management.

The process abstraction has changed to:

setup(task, process)
start(task, process_data)
prefork(task, process, mp)

The prefork() occurs in the main process right before fork.

The file src/nxt_main_process.c is completely free of process
specific logic.

The creation of a process now supports a PROCESS_CREATED state. The
The setup() function of each process can set its state to either
created or ready. If created, a MSG_PROCESS_CREATED is sent to main
process, where external setup can be done (required for rootfs under
container).

The core processes (discovery, controller and router) doesn't need
external setup, then they all proceeds to their start() function
straight away.

In the case of applications, the load of the module happens at the
process setup() time and The module's init() function has changed
to be the start() of the process.

The module API has changed to:

setup(task, process, conf)
start(task, data)

As a direct benefit of the PROCESS_CREATED message, the clone(2) of
processes using pid namespaces now doesn't need to create a pipe
to make the child block until parent setup uid/gid mappings nor it
needs to receive the child pid.
diff 1473:e07d5b451423 Thu May 14 10:15:00 UTC 2020 Valentin Bartenev <vbart@nginx.com> PHP: implemented "targets" option.

This allows to specify multiple subsequent targets inside PHP applications.
For example:

{
"listeners": {
"*:80": {
"pass": "routes"
}
},

"routes": [
{
"match": {
"uri": "/info"
},

"action": {
"pass": "applications/my_app/phpinfo"
}
},
{
"match": {
"uri": "/hello"
},

"action": {
"pass": "applications/my_app/hello"
}
},
{
"action": {
"pass": "applications/my_app/rest"
}
}
],

"applications": {
"my_app": {
"type": "php",
"targets": {
"phpinfo": {
"script": "phpinfo.php",
"root": "/www/data/admin",
},

"hello": {
"script": "hello.php",
"root": "/www/data/test",
},

"rest": {
"root": "/www/data/example.com",
"index": "index.php"
},
}
}
}
}
H A Dnxt_var.h1563:d32bc428f46b Wed Aug 12 23:46:00 UTC 2020 Valentin Bartenev <vbart@nginx.com> Basic variables support.
H A Dnxt_string.hdiff 1580:f1aefdf995d4 Thu Aug 20 14:44:00 UTC 2020 Tiago Natel de Moura <t.nateldemoura@f5.com> Isolation: mount tmpfs by default.
diff 1481:235553af9977 Fri May 15 18:32:00 UTC 2020 Valentin Bartenev <vbart@nginx.com> Fixed global constant declaration (appeared in 9af10e099d09).

This fixes building with GCC 10, which is default to -fno-common.
See: https://gcc.gnu.org/gcc-10/porting_to.html
diff 1474:9af10e099d09 Wed May 13 22:29:00 UTC 2020 Axel Duch <axel.duch@nginx.com> Router: decode uri and args.
diff 1439:32578e837322 Mon Mar 30 16:37:00 UTC 2020 Valentin Bartenev <vbart@nginx.com> Configuration: support for rational numbers.
diff 1431:fe30a27f21ba Fri Mar 27 14:22:00 UTC 2020 Valentin Bartenev <vbart@nginx.com> Added nxt_is_complex_uri_encoded()/nxt_encode_complex_uri().
H A Dnxt_string.cdiff 1474:9af10e099d09 Wed May 13 22:29:00 UTC 2020 Axel Duch <axel.duch@nginx.com> Router: decode uri and args.
diff 1439:32578e837322 Mon Mar 30 16:37:00 UTC 2020 Valentin Bartenev <vbart@nginx.com> Configuration: support for rational numbers.
diff 1431:fe30a27f21ba Fri Mar 27 14:22:00 UTC 2020 Valentin Bartenev <vbart@nginx.com> Added nxt_is_complex_uri_encoded()/nxt_encode_complex_uri().
diff 1430:f4245d81dc2a Fri Mar 27 14:22:00 UTC 2020 Valentin Bartenev <vbart@nginx.com> Updated URI escaping table for better conformity with RFC 3986.

Now '>', '<', '"', '^', '\', '}', '|', '{', and '`' are also escaped.
H A Dnxt_sockaddr.cdiff 2175:e83cff38d672 Wed Aug 03 12:42:00 UTC 2022 Alejandro Colomar <alx.manpages@gmail.com> Removed dead code.

nxt_sockaddr_ntop() stopped being used in commit (git) 029942f4eb71.
It has been replaced mostly by nxt_sockaddr_text().

commit 029942f4eb7196c2cff0d0e26bc6ff274138f7d8
Author: Igor Sysoev <igor@sysoev.ru>
Date: Wed Feb 22 15:09:59 2017 +0300

I/O operations refactoring.

nxt_job_sockaddr_parse() stopped being used in commit (git) 794248090a74.

commit 794248090a74f31cbfcf24ea8c835df2d4d21073
Author: Igor Sysoev <igor@sysoev.ru>
Date: Wed Mar 4 14:04:08 2020 +0300

Legacy upstream code removed.

Also, remove functions and types used only by those two functions:

nxt_job_sockaddr_unix_parse()
nxt_job_sockaddr_inet6_parse()
nxt_job_sockaddr_inet_parse()
nxt_job_sockaddr_parse_t
nxt_job_resolve()
nxt_job_resolve_t
H A Dnxt_php_sapi.cdiff 1733:dab8544b5440 Mon Dec 07 22:59:00 UTC 2020 Valentin Bartenev <vbart@nginx.com> PHP: populating PHP_AUTH_* server variables.

This closes #498 issue on GitHub.
diff 1700:81c7ce33cd2a Tue Nov 10 21:09:00 UTC 2020 Valentin Bartenev <vbart@nginx.com> PHP: implementation of the fastcgi_finish_request() function.

This closes #219 issue on GitHub.
diff 1699:03b60c8ddc99 Tue Nov 10 21:09:00 UTC 2020 Valentin Bartenev <vbart@nginx.com> PHP: prevention of consuming unread request body on finalization.

The php_request_shutdown() function calls sapi_deactivate() that tries to read
request body into a dummy buffer. In our case it's just waste of CPU cycles.

This change is also required for the following implementation of the
fastcgi_finish_request() function, where the request context can be
cleared by the time of finalization.
diff 1636:979d2b72930b Tue Oct 06 15:12:00 UTC 2020 Valentin Bartenev <vbart@nginx.com> PHP: compatibility with 8.0.0 RC1.

This closes #474 PR on GitHub.
diff 1622:773f29e26072 Wed Sep 09 18:28:00 UTC 2020 Tiago Natel de Moura <t.nateldemoura@f5.com> PHP: fixed "rootfs" isolation dependency on system mounts.
diff 1583:0d343e154c46 Tue Aug 25 12:28:00 UTC 2020 Tiago Natel de Moura <t.nateldemoura@f5.com> PHP: added bind mounts for extensions directory.
diff 1562:7c405c015cba Wed Aug 12 19:55:00 UTC 2020 Remi Collet <remi@remirepo.net> PHP: compatibility with 8.0.0 Beta 1.

This closes #441 PR on GitHub.
diff 1525:dc00c21f5bb4 Fri Jul 24 17:25:00 UTC 2020 Valentin Bartenev <vbart@nginx.com> Configuration: added checking for presence of mandatory fields.
diff 1519:8277976f9749 Thu Jul 23 11:25:00 UTC 2020 Max Romanov <max.romanov@nginx.com> PHP: using nxt_unit_default_init() for module structure init.

Using this function in all language modules helps to avoid code duplication
and reduce the size of future patches.
diff 1517:c55c3ad3f8d4 Thu Jul 23 11:24:00 UTC 2020 Max Romanov <max.romanov@nginx.com> PHP: removing assertion to fix build on macOS.

The nxt_assert macro uses nxt_thread_context, which caused the following linker
error when using it in the library:

ld: illegal thread local variable reference to regular symbol
_nxt_thread_context for architecture x86_64
H A Dnxt_http_route_addr.cdiff 1343:8cc299d14325 Tue Jan 28 15:05:00 UTC 2020 Axel Duch <axel.duch@nginx.com> Fixed missing IPv6 checking in route-addr and an unused variable.

This closes #363 issue on Github.
Thanks to to 洪志道 (Hong Zhi Dao).
/unit/auto/modules/
H A Drubydiff 1673:883f2f79c2f6 Thu Oct 29 20:30:00 UTC 2020 Tiago Natel de Moura <t.nateldemoura@f5.com> Isolation: mounting of procfs by default when using "rootfs".
diff 1585:e941d77852d1 Tue Aug 25 14:25:00 UTC 2020 Tiago Natel de Moura <t.nateldemoura@f5.com> Isolation: added "automount" option.

Now it's possible to disable default bind mounts of
languages by setting:

{
"isolation": {
"automount": {
"language_deps": false
}
}
}

In this case, the user is responsible to provide a "rootfs"
containing the language libraries and required files for
the application.
diff 1540:624bb8f866b0 Sat Aug 08 22:00:00 UTC 2020 Valentin Bartenev <vbart@nginx.com> Ruby: fixed gem mount paths.

The gem paths must depend on the specified interpreter.
Also, gemdir looks redundant as it's already included in Gem.default_path().
diff 1539:33581f923180 Sat Aug 08 22:00:00 UTC 2020 Valentin Bartenev <vbart@nginx.com> Ruby: simplified commands in ./configure script.

There is no reason to use printf instead of just print.

No functional changes.
diff 1538:18eb0282c859 Sat Aug 08 22:00:00 UTC 2020 Valentin Bartenev <vbart@nginx.com> Ruby: removed unused variable from ./configure script.
diff 1537:b472ba224472 Sat Aug 08 20:52:00 UTC 2020 Valentin Bartenev <vbart@nginx.com> Configure: verifying the Ruby library path.

An attempt to build a Ruby module for a custom Ruby installation that has the
same major version as the system Ruby may unexpectedly cause the use of the
system Ruby library.

This closes #449 issue on GitHub.
diff 1532:4b4d0c3ce94b Thu Jul 30 23:21:00 UTC 2020 Tiago Natel de Moura <t.nateldemoura@f5.com> Isolation: fixed the generation of mounts table.

Since the introduction of rootfs feature, some language modules
can't be configured multiple times.

Now the configure generates a separate nxt_<module>_mounts.h for
each module compiled.
diff 1489:4a3ec07f4b19 Thu May 28 13:57:00 UTC 2020 Tiago Natel de Moura <t.nateldemoura@f5.com> Added "rootfs" feature.
/unit/src/python/
H A Dnxt_python_wsgi.cdiff 1745:a775a9a82b13 Mon Dec 14 14:15:00 UTC 2020 Valentin Bartenev <vbart@nginx.com> Python: WSGI environment copying moved out of request processing.

The WSGI environment dictionary contains a number of static items, that are
pre-initialized on application start. Then it's copied for each request to be
filled with request-related data.

Now this dictionary copy operation will be done between processing of requests,
which should save some CPU cycles during request processing and thus reduce
response latency for non-peak load periods.
diff 1681:542b5b8c0647 Wed Nov 04 21:04:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Python: request processing in multiple threads.

This closes #459 issue on GitHub.
diff 1648:551e0dbba1da Mon Oct 12 22:37:00 UTC 2020 Valentin Bartenev <vbart@nginx.com> Fixed building with Python 3.9.

PyUnicode_GET_SIZE() in deprecated since 3.3 and will be removed in 3.12.
In version 3.9 it was explicitly marked by deprecation warning causing
compilation error with Unit.

PyUnicode_GET_LENGTH() must be used instead.
diff 1624:e46b1b422545 Thu Oct 01 20:55:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Python: ASGI server introduced.

This closes #461 issue on GitHub.
diff 1594:41bc9d086502 Tue Sep 15 17:12:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Python: changed request headers format in router protocol.

The coming ASGI support requires raw HTTP headers format. Headers grouping
and upcase code were moved to WSGI module.
diff 1592:9727c9b61f1c Mon Sep 14 10:27:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Python: split module initialization from WSGI implementation.

This is required for futher ASGI implementation.
1591:f58129644010 Sun Sep 13 21:07:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Python: source file moved to 'python' sub-directory.

No functional changes. Get ready for an increase in file number.
H A Dnxt_python.cdiff 1759:196b4d90c8cc Tue Dec 22 14:53:00 UTC 2020 Valentin Bartenev <vbart@nginx.com> Python: multiple values in the "path" option.
diff 1697:73a335d2911d Tue Nov 10 19:27:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Python: supporting ASGI legacy protocol.

Introducing manual protocol selection for 'universal' apps and frameworks.
diff 1681:542b5b8c0647 Wed Nov 04 21:04:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Python: request processing in multiple threads.

This closes #459 issue on GitHub.
diff 1624:e46b1b422545 Thu Oct 01 20:55:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Python: ASGI server introduced.

This closes #461 issue on GitHub.
diff 1601:365bbeccef1c Fri Sep 18 10:41:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Python: app module callable name configuration.

Now it is possible to specify the name of the application callable using
optional parameter 'callable'. Default value is 'application'.

This closes #290 issue on GitHub.
1592:9727c9b61f1c Mon Sep 14 10:27:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Python: split module initialization from WSGI implementation.

This is required for futher ASGI implementation.
H A Dnxt_python_asgi.cdiff 1767:582a004c73f8 Tue Dec 29 16:01:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Libunit: processing single port message.

This partially reverts the optimisation introduced in 1d84b9e4b459 to avoid an
unpredictable block in nxt_unit_process_port_msg(). Under high load, this
function may never return control to its caller, and the external event loop
(in Node.js and Python asyncio) won't be able to process other scheduled
events.

To reproduce the issue, two request processing types are needed: 'fast' and
'furious'. The 'fast' one simply returns a small response, while the 'furious'
schedules asynchronous calls to external resources. Thus, if Unit is subjected
to a large amount of 'fast' requests, the 'furious' request processing freezes
until the high load ends.

The issue was found by Wu Jian Ping (@wujjpp) during Node.js stream
implementation discussion and relates to PR #502 on GitHub.
diff 1715:95874fd97501 Wed Nov 18 19:33:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Libunit: closing active requests on quit.
diff 1697:73a335d2911d Tue Nov 10 19:27:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Python: supporting ASGI legacy protocol.

Introducing manual protocol selection for 'universal' apps and frameworks.
diff 1682:2de7799a8749 Wed Nov 04 21:05:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Python: fixing some arguments reference counting.
diff 1681:542b5b8c0647 Wed Nov 04 21:04:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Python: request processing in multiple threads.

This closes #459 issue on GitHub.
1624:e46b1b422545 Thu Oct 01 20:55:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Python: ASGI server introduced.

This closes #461 issue on GitHub.
/unit/pkg/rpm/
H A Dunit.spec.indiff 1758:96233c508ea4 Mon Dec 21 21:57:00 UTC 2020 Konstantin Pavlov <thresh@nginx.com> Packages: check and create unit user on each post-script invocation.
diff 1753:7d8644d56ed5 Thu Dec 17 11:30:00 UTC 2020 Andrei Belov <defan@nginx.com> Packages: run non-privileged processes under "unit" user.
diff 1752:e8e3d17a8168 Tue Nov 24 11:27:00 UTC 2020 Konstantin Pavlov <thresh@nginx.com> Packages: added pcre2 to build depends.

While at it, propagate unit build depends to modules.
diff 1751:a27532e3a17b Tue Nov 24 10:25:00 UTC 2020 Konstantin Pavlov <thresh@nginx.com> Packages: dropped support for non-systemd distributions.
H A Dunit.module.spec.indiff 1752:e8e3d17a8168 Tue Nov 24 11:27:00 UTC 2020 Konstantin Pavlov <thresh@nginx.com> Packages: added pcre2 to build depends.

While at it, propagate unit build depends to modules.
H A DMakefilediff 1764:46da19f4079f Thu Dec 24 13:17:00 UTC 2020 Andrei Belov <defan@nginx.com> Packages: fixed an ability to override package version.

This was broken since 00d8049418cf.
diff 1762:f286b015628a Wed Dec 23 15:31:00 UTC 2020 Andrei Belov <defan@nginx.com> Packages: set the "--user" value to "nobody" for build-stage tests.

This allows tests to pass well in cases when the default user specified in
the ./configure parameters does not exist in the building environment.
diff 1753:7d8644d56ed5 Thu Dec 17 11:30:00 UTC 2020 Andrei Belov <defan@nginx.com> Packages: run non-privileged processes under "unit" user.
diff 1748:080737161d83 Wed Dec 16 06:55:00 UTC 2020 Andrei Belov <defan@nginx.com> Packages: introduced PYTEST_ARGS env variable for test targets.

This is useful for running particular tests, e.g.:
PYTEST_ARGS='test/test_respawn.py::TestRespawn::test_respawn_router' make test
diff 1645:29efab062b4e Thu Oct 08 16:19:00 UTC 2020 Andrei Belov <defan@nginx.com> Merged with the default branch.
diff 1596:b7e2d4d92624 Wed Sep 16 20:31:00 UTC 2020 Andrei Zeliankou <zelenkov@nginx.com> Tests: migrated to the pytest.
diff 1573:79f364e9aa90 Thu Aug 13 16:28:00 UTC 2020 Andrei Belov <defan@nginx.com> Merged with the default branch.
diff 1501:b83465063582 Tue Jun 16 12:02:00 UTC 2020 Andrei Belov <defan@nginx.com> Packages: added Fedora 32 support.
diff 1407:0361f3eda67a Thu Mar 12 15:40:00 UTC 2020 Andrei Belov <defan@nginx.com> Merged with the default branch.
diff 1403:1cee885b7f10 Thu Mar 12 14:54:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Using disk file to store large request body.

This closes #386 on GitHub.
/unit/pkg/deb/debian/
H A Dcontrol.indiff 2020:f8e0a0b7ffb9 Wed Dec 01 06:01:00 UTC 2021 Andrei Belov <defan@nginx.com> Packages: adjusted debhelper minimal version for Debian/Ubuntu.

Forgotten in 199a11eceb3c.

While here, Standards-Version increased to 4.1.4 (matches Ubuntu 18.04
as the oldest supported distro).
/unit/pkg/deb/
H A DMakefilediff 1764:46da19f4079f Thu Dec 24 13:17:00 UTC 2020 Andrei Belov <defan@nginx.com> Packages: fixed an ability to override package version.

This was broken since 00d8049418cf.
diff 1762:f286b015628a Wed Dec 23 15:31:00 UTC 2020 Andrei Belov <defan@nginx.com> Packages: set the "--user" value to "nobody" for build-stage tests.

This allows tests to pass well in cases when the default user specified in
the ./configure parameters does not exist in the building environment.
diff 1753:7d8644d56ed5 Thu Dec 17 11:30:00 UTC 2020 Andrei Belov <defan@nginx.com> Packages: run non-privileged processes under "unit" user.
diff 1750:19886d8508b5 Wed Dec 16 06:56:00 UTC 2020 Andrei Belov <defan@nginx.com> Packages: eliminated debuild warning about debian/rules.
diff 1748:080737161d83 Wed Dec 16 06:55:00 UTC 2020 Andrei Belov <defan@nginx.com> Packages: introduced PYTEST_ARGS env variable for test targets.

This is useful for running particular tests, e.g.:
PYTEST_ARGS='test/test_respawn.py::TestRespawn::test_respawn_router' make test
diff 1725:e3f504b6082e Thu Nov 19 18:19:00 UTC 2020 Andrei Belov <defan@nginx.com> Merged with the default branch.
diff 1694:191d30e37005 Mon Nov 09 13:12:00 UTC 2020 Andrei Belov <defan@nginx.com> Packages: added Ubuntu 20.10 "groovy" support.
diff 1645:29efab062b4e Thu Oct 08 16:19:00 UTC 2020 Andrei Belov <defan@nginx.com> Merged with the default branch.
diff 1596:b7e2d4d92624 Wed Sep 16 20:31:00 UTC 2020 Andrei Zeliankou <zelenkov@nginx.com> Tests: migrated to the pytest.
diff 1494:1a138dda162b Thu May 28 15:13:00 UTC 2020 Andrei Belov <defan@nginx.com> Merged with the default branch.
/unit/pkg/deb/debian.module/
H A Dcontrol.indiff 2020:f8e0a0b7ffb9 Wed Dec 01 06:01:00 UTC 2021 Andrei Belov <defan@nginx.com> Packages: adjusted debhelper minimal version for Debian/Ubuntu.

Forgotten in 199a11eceb3c.

While here, Standards-Version increased to 4.1.4 (matches Ubuntu 18.04
as the oldest supported distro).
diff 1752:e8e3d17a8168 Tue Nov 24 11:27:00 UTC 2020 Konstantin Pavlov <thresh@nginx.com> Packages: added pcre2 to build depends.

While at it, propagate unit build depends to modules.
/unit/test/unit/check/
H A Dtls.py1621:275b26bbd3ae Thu Oct 01 09:17:00 UTC 2020 Andrei Zeliankou <zelenkov@nginx.com> Tests: minor fixes.

Fixed temporary dir removing.
Fixed printing path to log.
Module checks moved to the separate file.
/unit/src/test/
H A Dnxt_http_parse_test.cdiff 1709:1fe93c17d23f Tue Nov 17 13:50:00 UTC 2020 Valentin Bartenev <vbart@nginx.com> HTTP parser: allowed more characters in header field names.

Previously, all requests that contained in header field names characters other
than alphanumeric, or "-", or "_" were rejected with a 400 "Bad Request" error
response.

Now, the parser allows the same set of characters as specified in RFC 7230,
including: "!", "#", "$", "%", "&", "'", "*", "+", ".", "^", "`", "|", and "~".
Header field names that contain only these characters are considered valid.

Also, there's a new option introduced: "discard_unsafe_fields". It accepts
boolean value and it is set to "true" by default.

When this option is "true", all header field names that contain characters
in valid range, but other than alphanumeric or "-" are skipped during parsing.
When the option is "false", these header fields aren't skipped.

Requests with non-valid characters in header field names according to
RFC 7230 are rejected regardless of "discard_unsafe_fields" setting.

This closes #422 issue on GitHub.
diff 1459:358b957ca294 Thu Apr 16 14:09:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Using malloc/free for the http fields hash.

This is required due to lack of a graceful shutdown: there is a small gap
between the runtime's memory pool release and router process's exit. Thus, a
worker thread may start processing a request between these two operations,
which may result in an http fields hash access and subsequent crash.

To simplify issue reproduction, it makes sense to add a 2 sec sleep before
exit() in nxt_runtime_exit().
/unit/src/perl/
H A Dnxt_perl_psgi.cdiff 1689:e0d01647db76 Thu Nov 05 13:10:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Perl: request processing in multiple threads.

This closes #486 issue on GitHub.
diff 1503:c21230ef5a0e Mon Jun 22 23:11:00 UTC 2020 Tiago Natel de Moura <t.nateldemoura@f5.com> Isolation: fixed build when features aren't detected.
diff 1489:4a3ec07f4b19 Thu May 28 13:57:00 UTC 2020 Tiago Natel de Moura <t.nateldemoura@f5.com> Added "rootfs" feature.
diff 1488:6976d36be926 Mon Mar 09 16:28:00 UTC 2020 Tiago Natel de Moura <t.nateldemoura@f5.com> Refactor of process management.

The process abstraction has changed to:

setup(task, process)
start(task, process_data)
prefork(task, process, mp)

The prefork() occurs in the main process right before fork.

The file src/nxt_main_process.c is completely free of process
specific logic.

The creation of a process now supports a PROCESS_CREATED state. The
The setup() function of each process can set its state to either
created or ready. If created, a MSG_PROCESS_CREATED is sent to main
process, where external setup can be done (required for rootfs under
container).

The core processes (discovery, controller and router) doesn't need
external setup, then they all proceeds to their start() function
straight away.

In the case of applications, the load of the module happens at the
process setup() time and The module's init() function has changed
to be the start() of the process.

The module API has changed to:

setup(task, process, conf)
start(task, data)

As a direct benefit of the PROCESS_CREATED message, the clone(2) of
processes using pid namespaces now doesn't need to create a pipe
to make the child block until parent setup uid/gid mappings nor it
needs to receive the child pid.
diff 1436:44ccce64ddf9 Mon Mar 30 11:08:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Attributing libunit logging function for arguments validation.

12345678910>>...13