/unit/pkg/docker/ |
H A D | Dockerfile.php8.2 | diff 2665:5502438d2215 Tue Feb 20 00:56:00 UTC 2024 Dan Callahan <d.callahan@f5.com> Docker: Update versions of Go, Node, PHP, Ruby
- Go: Drop 1.20, Add 1.22 - Node: Drop 18, Add 21 - PHP: Add 8.3 - Ruby: Add 3.3
Perl and Python are still up-to-date with upstream releases
Regenerating the Dockerfiles also picks up the logging change from 183a1e9d634ae2fb129ce98f1ca8a16cbfdeac99 diff 2542:d5611d9096b0 Tue Aug 22 21:55:00 UTC 2023 Konstantin Pavlov <thresh@nginx.com> Regenerated Dockerfiles.
|
H A D | Dockerfile.ruby3.2 | diff 2665:5502438d2215 Tue Feb 20 00:56:00 UTC 2024 Dan Callahan <d.callahan@f5.com> Docker: Update versions of Go, Node, PHP, Ruby
- Go: Drop 1.20, Add 1.22 - Node: Drop 18, Add 21 - PHP: Add 8.3 - Ruby: Add 3.3
Perl and Python are still up-to-date with upstream releases
Regenerating the Dockerfiles also picks up the logging change from 183a1e9d634ae2fb129ce98f1ca8a16cbfdeac99 diff 2542:d5611d9096b0 Tue Aug 22 21:55:00 UTC 2023 Konstantin Pavlov <thresh@nginx.com> Regenerated Dockerfiles.
|
H A D | Dockerfile.node21 | 2665:5502438d2215 Tue Feb 20 00:56:00 UTC 2024 Dan Callahan <d.callahan@f5.com> Docker: Update versions of Go, Node, PHP, Ruby
- Go: Drop 1.20, Add 1.22 - Node: Drop 18, Add 21 - PHP: Add 8.3 - Ruby: Add 3.3
Perl and Python are still up-to-date with upstream releases
Regenerating the Dockerfiles also picks up the logging change from 183a1e9d634ae2fb129ce98f1ca8a16cbfdeac99
|
H A D | Dockerfile.minimal | diff 2665:5502438d2215 Tue Feb 20 00:56:00 UTC 2024 Dan Callahan <d.callahan@f5.com> Docker: Update versions of Go, Node, PHP, Ruby
- Go: Drop 1.20, Add 1.22 - Node: Drop 18, Add 21 - PHP: Add 8.3 - Ruby: Add 3.3
Perl and Python are still up-to-date with upstream releases
Regenerating the Dockerfiles also picks up the logging change from 183a1e9d634ae2fb129ce98f1ca8a16cbfdeac99 diff 2542:d5611d9096b0 Tue Aug 22 21:55:00 UTC 2023 Konstantin Pavlov <thresh@nginx.com> Regenerated Dockerfiles. diff 1958:8e23e9bc94b5 Tue Sep 21 11:03:00 UTC 2021 Konstantin Pavlov <thresh@nginx.com> Regenerated Dockerfiles. diff 1193:9e6b9345c8da Thu Sep 19 21:56:00 UTC 2019 Konstantin Pavlov <thresh@nginx.com> Packages: bump docker release for 1.11.0-2.
|
H A D | Dockerfile.jsc11 | diff 2665:5502438d2215 Tue Feb 20 00:56:00 UTC 2024 Dan Callahan <d.callahan@f5.com> Docker: Update versions of Go, Node, PHP, Ruby
- Go: Drop 1.20, Add 1.22 - Node: Drop 18, Add 21 - PHP: Add 8.3 - Ruby: Add 3.3
Perl and Python are still up-to-date with upstream releases
Regenerating the Dockerfiles also picks up the logging change from 183a1e9d634ae2fb129ce98f1ca8a16cbfdeac99 diff 2542:d5611d9096b0 Tue Aug 22 21:55:00 UTC 2023 Konstantin Pavlov <thresh@nginx.com> Regenerated Dockerfiles.
|
H A D | Dockerfile.ruby3.3 | 2665:5502438d2215 Tue Feb 20 00:56:00 UTC 2024 Dan Callahan <d.callahan@f5.com> Docker: Update versions of Go, Node, PHP, Ruby
- Go: Drop 1.20, Add 1.22 - Node: Drop 18, Add 21 - PHP: Add 8.3 - Ruby: Add 3.3
Perl and Python are still up-to-date with upstream releases
Regenerating the Dockerfiles also picks up the logging change from 183a1e9d634ae2fb129ce98f1ca8a16cbfdeac99
|
H A D | Dockerfile.php8.3 | 2665:5502438d2215 Tue Feb 20 00:56:00 UTC 2024 Dan Callahan <d.callahan@f5.com> Docker: Update versions of Go, Node, PHP, Ruby
- Go: Drop 1.20, Add 1.22 - Node: Drop 18, Add 21 - PHP: Add 8.3 - Ruby: Add 3.3
Perl and Python are still up-to-date with upstream releases
Regenerating the Dockerfiles also picks up the logging change from 183a1e9d634ae2fb129ce98f1ca8a16cbfdeac99
|
H A D | Dockerfile.perl5.38 | diff 2665:5502438d2215 Tue Feb 20 00:56:00 UTC 2024 Dan Callahan <d.callahan@f5.com> Docker: Update versions of Go, Node, PHP, Ruby
- Go: Drop 1.20, Add 1.22 - Node: Drop 18, Add 21 - PHP: Add 8.3 - Ruby: Add 3.3
Perl and Python are still up-to-date with upstream releases
Regenerating the Dockerfiles also picks up the logging change from 183a1e9d634ae2fb129ce98f1ca8a16cbfdeac99 2542:d5611d9096b0 Tue Aug 22 21:55:00 UTC 2023 Konstantin Pavlov <thresh@nginx.com> Regenerated Dockerfiles.
|
H A D | Dockerfile.node20 | diff 2665:5502438d2215 Tue Feb 20 00:56:00 UTC 2024 Dan Callahan <d.callahan@f5.com> Docker: Update versions of Go, Node, PHP, Ruby
- Go: Drop 1.20, Add 1.22 - Node: Drop 18, Add 21 - PHP: Add 8.3 - Ruby: Add 3.3
Perl and Python are still up-to-date with upstream releases
Regenerating the Dockerfiles also picks up the logging change from 183a1e9d634ae2fb129ce98f1ca8a16cbfdeac99 2542:d5611d9096b0 Tue Aug 22 21:55:00 UTC 2023 Konstantin Pavlov <thresh@nginx.com> Regenerated Dockerfiles.
|
H A D | Dockerfile.python3.12 | diff 2665:5502438d2215 Tue Feb 20 00:56:00 UTC 2024 Dan Callahan <d.callahan@f5.com> Docker: Update versions of Go, Node, PHP, Ruby
- Go: Drop 1.20, Add 1.22 - Node: Drop 18, Add 21 - PHP: Add 8.3 - Ruby: Add 3.3
Perl and Python are still up-to-date with upstream releases
Regenerating the Dockerfiles also picks up the logging change from 183a1e9d634ae2fb129ce98f1ca8a16cbfdeac99
|
H A D | Dockerfile.perl5.36 | diff 2665:5502438d2215 Tue Feb 20 00:56:00 UTC 2024 Dan Callahan <d.callahan@f5.com> Docker: Update versions of Go, Node, PHP, Ruby
- Go: Drop 1.20, Add 1.22 - Node: Drop 18, Add 21 - PHP: Add 8.3 - Ruby: Add 3.3
Perl and Python are still up-to-date with upstream releases
Regenerating the Dockerfiles also picks up the logging change from 183a1e9d634ae2fb129ce98f1ca8a16cbfdeac99 diff 2542:d5611d9096b0 Tue Aug 22 21:55:00 UTC 2023 Konstantin Pavlov <thresh@nginx.com> Regenerated Dockerfiles.
|
H A D | Dockerfile.python3.11 | diff 2665:5502438d2215 Tue Feb 20 00:56:00 UTC 2024 Dan Callahan <d.callahan@f5.com> Docker: Update versions of Go, Node, PHP, Ruby
- Go: Drop 1.20, Add 1.22 - Node: Drop 18, Add 21 - PHP: Add 8.3 - Ruby: Add 3.3
Perl and Python are still up-to-date with upstream releases
Regenerating the Dockerfiles also picks up the logging change from 183a1e9d634ae2fb129ce98f1ca8a16cbfdeac99 diff 2542:d5611d9096b0 Tue Aug 22 21:55:00 UTC 2023 Konstantin Pavlov <thresh@nginx.com> Regenerated Dockerfiles.
|
H A D | Dockerfile.go1.21 | diff 2665:5502438d2215 Tue Feb 20 00:56:00 UTC 2024 Dan Callahan <d.callahan@f5.com> Docker: Update versions of Go, Node, PHP, Ruby
- Go: Drop 1.20, Add 1.22 - Node: Drop 18, Add 21 - PHP: Add 8.3 - Ruby: Add 3.3
Perl and Python are still up-to-date with upstream releases
Regenerating the Dockerfiles also picks up the logging change from 183a1e9d634ae2fb129ce98f1ca8a16cbfdeac99 2542:d5611d9096b0 Tue Aug 22 21:55:00 UTC 2023 Konstantin Pavlov <thresh@nginx.com> Regenerated Dockerfiles.
|
H A D | Dockerfile.go1.22 | 2665:5502438d2215 Tue Feb 20 00:56:00 UTC 2024 Dan Callahan <d.callahan@f5.com> Docker: Update versions of Go, Node, PHP, Ruby
- Go: Drop 1.20, Add 1.22 - Node: Drop 18, Add 21 - PHP: Add 8.3 - Ruby: Add 3.3
Perl and Python are still up-to-date with upstream releases
Regenerating the Dockerfiles also picks up the logging change from 183a1e9d634ae2fb129ce98f1ca8a16cbfdeac99
|
/unit/docs/ |
H A D | unit-openapi.yaml | diff 2573:438271da6ff4 Wed Oct 11 14:21:00 UTC 2023 Andrei Zeliankou <zelenkov@nginx.com> Rewrite and response headers mentioned in OpenAPI.
|
H A D | changes.xml | diff 2523:1c466e280eb0 Tue Aug 22 21:55:00 UTC 2023 Konstantin Pavlov <thresh@nginx.com> Docs: added changelogs for unit-wasm. diff 2251:6e5a9550ead3 Thu Nov 17 21:56:00 UTC 2022 Andrew Clayton <a.clayton@nginx.com> Python: Added support for Python 3.11.
Python 3.8 added a new Python initialisation configuration API[0].
Python 3.11 marked the old API as deprecated resulting in the following compiler warnings which we treat as errors, failing the build
src/python/nxt_python.c: In function ‘nxt_python_start’: src/python/nxt_python.c:130:13: error: ‘Py_SetProgramName’ is deprecated [-Werror=deprecated-declarations] 130 | Py_SetProgramName(nxt_py_home); | ^~~~~~~~~~~~~~~~~ In file included from /opt/python-3.11/include/python3.11/Python.h:94, from src/python/nxt_python.c:7: /opt/python-3.11/include/python3.11/pylifecycle.h:37:38: note: declared here 37 | Py_DEPRECATED(3.11) PyAPI_FUNC(void) Py_SetProgramName(const wchar_t *); | ^~~~~~~~~~~~~~~~~ src/python/nxt_python.c:134:13: error: ‘Py_SetPythonHome’ is deprecated [-Werror=deprecated-declarations] 134 | Py_SetPythonHome(nxt_py_home); | ^~~~~~~~~~~~~~~~ /opt/python-3.11/include/python3.11/pylifecycle.h:40:38: note: declared here 40 | Py_DEPRECATED(3.11) PyAPI_FUNC(void) Py_SetPythonHome(const wchar_t *); | ^~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors
We actually have a few config scenarios: Python < 3, Python >= 3.0 < 3.8 and for Python 3 we have two configs where we select one based on virtual environment setup.
Factor out the Python 3 config initialisation into its own function. We actually create two functions, one for Python 3.8+ and one for older Python 3. We pick the right function to use at build time.
The new API also has error checking (where the old API doesn't) which we handle.
[0]: https://peps.python.org/pep-0587/
Closes: <https://github.com/nginx/unit/issues/710> [ Andrew: Expanded upon patch from @sandeep-gh ] Signed-off-by: Andrew Clayton <a.clayton@nginx.com> diff 2214:49d502e96cec Wed Oct 12 00:21:00 UTC 2022 Zhidao HONG <z.hong@f5.com> HTTP: added a $request_time variable. diff 2204:654ec7adbe4f Wed Sep 21 17:01:00 UTC 2022 Zhidao HONG <z.hong@f5.com> Status: fixed error in connection statistics.
When proxy is used, the number of accepted connections is not counted, This also results in the wrong number of active connections. diff 2135:3e77e025384d Mon Jun 20 14:21:00 UTC 2022 Konstantin Pavlov <thresh@nginx.com> Switched changelogs to packaging alias instead of personal emails. diff 2067:78864c9d5ba8 Mon Feb 07 21:04:00 UTC 2022 Max Romanov <max.romanov@nginx.com> Python: fixing incorrect function object dereference.
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. diff 1973:bc18f6f39ce3 Thu Oct 21 10:23:00 UTC 2021 Andrei Belov <defan@nginx.com> Packages: added Ubuntu 21.10 "impish" support. diff 1920:7c19530e2502 Wed Jul 21 22:22:00 UTC 2021 Andrey Suvorov <a.suvorov@f5.com> 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. diff 1756:72e75ce3c99f Thu Dec 17 21:25:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Libunit: fixed shared memory waiting.
The nxt_unit_ctx_port_recv() function may return the NXT_UNIT_AGAIN code, in which case an attempt to reread the message should be made.
The issue was reproduced in load testing with response sizes 16k and up. In the rare case of a NXT_UNIT_AGAIN result, a buffer of size -1 was processed, which triggered a 'message too small' alert; after that, the app process was terminated. diff 1755:3b0331284155 Thu Dec 17 21:25:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Limiting app queue notifications count in socket.
Under high load, a queue synchonization issue may occur, starting from the steady state when an app queue message is dequeued immediately after it has been enqueued. In this state, the router always puts the first message in the queue and is forced to notify the app about a new message in an empty queue using a socket pair. On the other hand, the application dequeues and processes the message without reading the notification from the socket, so the socket buffer overflows with notifications.
The issue was reproduced during Unit load tests. After a socket buffer overflow, the router is unable to notify the app about a new first message. When another message is enqueued, a notification is not required, so the queue grows without being read by the app. As a result, request processing stops.
This patch changes the notification algorithm by counting the notifications in the pipe instead of getting the number of messages in the queue.
|
/unit/pkg/deb/ |
H A D | Makefile.wasm | 2525:2303da82f5a3 Tue Aug 22 21:55:00 UTC 2023 Konstantin Pavlov <thresh@nginx.com> Packages: added wasm module packaging for deb-based distros.
|
/unit/pkg/rpm/ |
H A D | Makefile.wasm | 2524:5677bdb5698e Tue Aug 22 21:55:00 UTC 2023 Konstantin Pavlov <thresh@nginx.com> Packages: added wasm module packaging for rpm-based distros.
|
/unit/test/ |
H A D | test_asgi_application.py | diff 2330:4b1f175f9c88 Tue Feb 21 17:21:00 UTC 2023 Andrei Zeliankou <zelenkov@nginx.com> Tests: switched to using f-strings.
Previously, it was necessary to support older versions of Python for compatibility. F-strings were released in Python 3.6. Python 3.5 was marked as unsupported by the end of 2020, so now it's possible to start using f-strings safely for better readability and performance. diff 2330:4b1f175f9c88 Tue Feb 21 17:21:00 UTC 2023 Andrei Zeliankou <zelenkov@nginx.com> Tests: switched to using f-strings.
Previously, it was necessary to support older versions of Python for compatibility. F-strings were released in Python 3.6. Python 3.5 was marked as unsupported by the end of 2020, so now it's possible to start using f-strings safely for better readability and performance. diff 1683:43cbc14c7be9 Wed Nov 04 21:05:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Tests: added Python threading tests. diff 1654:fc7d0578e124 Mon Oct 19 21:25:00 UTC 2020 Andrei Zeliankou <zelenkov@nginx.com> Tests: fixed unit.log print.
|
H A D | test_ruby_hooks.py | diff 2330:4b1f175f9c88 Tue Feb 21 17:21:00 UTC 2023 Andrei Zeliankou <zelenkov@nginx.com> Tests: switched to using f-strings.
Previously, it was necessary to support older versions of Python for compatibility. F-strings were released in Python 3.6. Python 3.5 was marked as unsupported by the end of 2020, so now it's possible to start using f-strings safely for better readability and performance. diff 2330:4b1f175f9c88 Tue Feb 21 17:21:00 UTC 2023 Andrei Zeliankou <zelenkov@nginx.com> Tests: switched to using f-strings.
Previously, it was necessary to support older versions of Python for compatibility. F-strings were released in Python 3.6. Python 3.5 was marked as unsupported by the end of 2020, so now it's possible to start using f-strings safely for better readability and performance.
|
/unit/test/unit/applications/lang/ |
H A D | java.py | diff 2330:4b1f175f9c88 Tue Feb 21 17:21:00 UTC 2023 Andrei Zeliankou <zelenkov@nginx.com> Tests: switched to using f-strings.
Previously, it was necessary to support older versions of Python for compatibility. F-strings were released in Python 3.6. Python 3.5 was marked as unsupported by the end of 2020, so now it's possible to start using f-strings safely for better readability and performance. diff 2330:4b1f175f9c88 Tue Feb 21 17:21:00 UTC 2023 Andrei Zeliankou <zelenkov@nginx.com> Tests: switched to using f-strings.
Previously, it was necessary to support older versions of Python for compatibility. F-strings were released in Python 3.6. Python 3.5 was marked as unsupported by the end of 2020, so now it's possible to start using f-strings safely for better readability and performance. diff 1670:099c23b00eaf Tue Oct 27 21:01:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Tests: improving get_application_type() and fixing its name.
This patch also enables multiversion tests running for Java. diff 1654:fc7d0578e124 Mon Oct 19 21:25:00 UTC 2020 Andrei Zeliankou <zelenkov@nginx.com> Tests: fixed unit.log print. diff 1208:220272baa960 Wed Sep 25 16:21:00 UTC 2019 Andrey Zelenkov <zelenkov@nginx.com> Tests: fixed hanging of Go tests.
This closes #319 issue on GitHub. diff 1128:b41fd9ccbe61 Wed Aug 21 11:24:00 UTC 2019 Andrey Zelenkov <zelenkov@nginx.com> Tests: reverted rerun for Java tests in 5e429a7f133c.
Each testcase should also recompile to be recompiled. So backed out for now.
|
/unit/src/wasm-wasi-component/src/ |
H A D | lib.rs | diff 2684:73ac5ae02750 Tue Feb 13 16:21:00 UTC 2024 Andrew Clayton <a.clayton@nginx.com> Wasm-wc: Allow to use the 'reactor' adaptor again
With the initial port to wasmtime 17 we could no longer use the 'reactor' adaptor but had to switch to the more restrictive 'proxy' adaptor.
This meant amongst other things (probably) we could no longer access the filesystem.
Thanks to Joel Dice for pointing out the fix.
With this we can go back to using the 'reactor' adaptor again and things are back to working as before.
It's worth noting that you can use either the 'proxy' or 'reactor' adaptor depending on your requirements.
Cc: Joel Dice <joel.dice@fermyon.com> Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
|
/unit/src/python/ |
H A D | nxt_python_asgi_http.c | 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.
|
/unit/src/ |
H A D | nxt_router.c | diff 2677:2f8937e9d8a0 Mon Feb 05 21:32:00 UTC 2024 Andrew Clayton <a.clayton@nginx.com> Wasm-wc: Register a new Wasm component model language module type
This is the first commit in adding WebAssembly Component Model language module support.
This just adds a new NXT_APP_WASM_WC type, required by subsequent commits.
The WC stands for WASI_COMPONENT
This new module will have a type of 'wasm-wasi-component'.
Link: <https://github.com/nginx/unit/issues/1098> Signed-off-by: Andrew Clayton <a.clayton@nginx.com> diff 2077:624e51cfe97a Sat Dec 18 21:58:00 UTC 2021 Alejandro Colomar <alx.manpages@gmail.com> Removed special cases for non-NXT_CONF_VALUE_ARRAY.
The previous commit added more generic APIs for handling NXT_CONF_VALUE_ARRAY and non-NXT_CONF_VALUE_ARRAY together. Modify calling code to remove special cases for arrays and non-arrays, taking special care that the path for non arrays is logically equivalent to the previous special cased code. Use the now-generic array code only. diff 1920:7c19530e2502 Wed Jul 21 22:22:00 UTC 2021 Andrey Suvorov <a.suvorov@f5.com> 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. diff 1869:03648307ff8c Mon May 17 21:28:00 UTC 2021 Andrey Suvorov <a.suvorov@f5.com> Fixing a crash after applying the wrong TLS configuration.
When an invalid TLS configuration is applied (such as the conf_commands feature), nxt_cert_store_get() creates a buffer to send a certificate request to the main process and adds its default completion handler to an asynchronous queue to free the allocated buffer. However, if configuration fails, nxt_router_conf_error() removes the memory pool used to allocate the buffer, causing a crash when the completion handler is dispatched.
Assertion "src/nxt_buf.c:208 assertion failed: data == b->parent" is triggered when is NXT_DEBUG enabled in the configure script.
This patch uses a reference counter to retain the memory pool and redefines the completion handler to free the buffer before releasing the memory pool. diff 1666:c224d375d89b Tue Oct 27 21:01:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Router: introducing the PORT_ACK message.
The PORT_ACK message is the router's response to the application's NEW_PORT message. After receiving PORT_ACK, the application is safe to process requests using this port.
This message avoids a racing condition when the application starts processing a request from the shared queue and sends REQ_HEADERS_ACK. The REQ_HEADERS_ACK message contains the application port ID as reply_port, which the router uses to send request data. When the application creates a new port, it immediately sends it to the main router thread. Because the request is processed outside the main thread, a racing condition can occur between the receipt of the new port in the main thread and the receipt of REQ_HEADERS_ACK in the worker router thread where the same port is specified as reply_port. diff 1662:1472957bc7bd Tue Oct 27 21:01:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Router: broadcasting the SHM_ACK message to all process ports. diff 1661:70f5091ae49e Tue Oct 27 21:01:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Added error response logging.
Every internal server error response should have a clear description in log. diff 1660:909931468f33 Tue Oct 27 21:01:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Router: checking a buffer before accessing its memory fields.
This fixes the router's crash on buildbot; the reason was an unexpected 'last' response from the application to the router arriving before the response headers. The last buffer is not a memory buffer, so the result of accessing memory fields is unpredictable.
The unexpected 'last' message was caused by an error in libunit; fixed in fee8fd855a00. diff 1658:ec921552df83 Tue Oct 27 21:01:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Router: closing app worker's ports. diff 1582:31fdf609ca4c Fri Aug 21 17:50:00 UTC 2020 Valentin Bartenev <vbart@nginx.com> Configuration: removed "reschedule_timeout" option.
It's not used since cbcd76704c90.
This option is a leftover from previous IPC between router and applications processes. It was never documented, though.
Thanks to 洪志道 (Hong Zhi Dao).
|
H A D | nxt_main_process.c | diff 2686:87259ed41698 Mon Feb 05 21:50:00 UTC 2024 Andrew Clayton <a.clayton@nginx.com> Wasm-wc: Wire up the language module to the config system
This exposes the various WebAssembly Component Model language module specific options.
The application type is "wasm-wasi-component".
There is a "component" option that is required, this specifies the full path to the WebAssembly component to be run. This component should be in binary format, i.e a .wasm file.
There is also currently one optional option
"access"
Due to the sandboxed nature of WebAssembly, by default Wasm modules/components don't have any access to the underlying filesystem.
There is however a capabilities based mechanism[0] for allowing such access.
This adds a config option to the 'wasm-wasi-component' application type (same as for 'wasm'); 'access.filesystem' which takes an array of directory paths that are then made available to the wasm module/component. This access works recursively, i.e everything under a specific path is allowed access to.
Example config might look like
"applications": { "my-wasm-component": { "type": "wasm-wasi-component", "component": "/path/to/component.wasm", "access" { "filesystem": [ "/tmp", "/var/tmp" ] } } }
The actual mechanism used allows directories to be mapped differently in the guest. But at the moment we don't support that and just map say /tmp to /tmp. This can be revisited if it's something users clamour for.
[0]: <https://github.com/bytecodealliance/wasmtime/blob/main/docs/WASI-capabilities.md>
Signed-off-by: Andrew Clayton <a.clayton@nginx.com> 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 908:2b970fa86399 Mon Jan 21 15:39:00 UTC 2019 Igor Sysoev <igor@sysoev.ru> Fixed processing Unix listening socket failures.
This is related to issue #198 on GitHub. diff 584:28e8e1877e62 Wed Mar 21 13:50:00 UTC 2018 Alexander Borisov <alexander.borisov@nginx.com> Added Ruby support. diff 259:9cf0e151e752 Wed Aug 30 21:42:00 UTC 2017 Igor Sysoev <igor@sysoev.ru> nginext has been renamed to unit. diff 258:cf535a38c52b Wed Aug 30 21:42:00 UTC 2017 Igor Sysoev <igor@sysoev.ru> Introduced module compatibility vector.
|