Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2020-06-23 | Upstream chunked transfer encoding support. | Igor Sysoev | 1 | -1/+1 | |
2020-05-28 | Added "rootfs" feature. | Tiago Natel de Moura | 1 | -0/+5 | |
2020-03-09 | Refactor of process management. | Tiago Natel de Moura | 1 | -1/+1 | |
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. | |||||
2020-03-27 | Implemented "return" action. | Valentin Bartenev | 1 | -0/+1 | |
The "return" action can be used to immediately generate a simple HTTP response with an arbitrary status: { "action": { "return": 404 } } This is especially useful for denying access to specific resources. | |||||
2020-03-06 | Round robin upstream added. | Igor Sysoev | 1 | -0/+1 | |
2019-12-24 | Router: introducing routing on client address. | Axel Duch | 1 | -0/+1 | |
2019-12-06 | Isolation: allowed the use of credentials with unpriv userns. | Tiago Natel | 1 | -0/+6 | |
The setuid/setgid syscalls requires root capabilities but if the kernel supports unprivileged user namespace then the child process has the full set of capabilities in the new namespace, then we can allow setting "user" and "group" in such cases (this is a common security use case). Tests were added to ensure user gets meaningful error messages for uid/gid mapping misconfigurations. | |||||
2019-12-06 | Moved credential-related code to nxt_credential.c. | Tiago Natel | 1 | -0/+1 | |
This is required to avoid include cycles, as some nxt_clone_* functions depend on the credential structures, but nxt_process depends on clone structures. | |||||
2019-11-14 | Initial proxy support. | Igor Sysoev | 1 | -0/+1 | |
2019-09-19 | Basic support for serving static files. | Valentin Bartenev | 1 | -0/+1 | |
2019-09-19 | Initial applications isolation support using Linux namespaces. | Tiago de Bem Natel de Moura | 1 | -0/+7 | |
2019-08-20 | Introducing websocket support in router and libunit. | Max Romanov | 1 | -0/+5 | |
2019-02-27 | Initial routing implementation. | Igor Sysoev | 1 | -0/+1 | |
2018-10-23 | Removed unused "--upstream" command line option. | Valentin Bartenev | 1 | -1/+1 | |
2018-10-09 | Renamed "go" application type to "external". | Valentin Bartenev | 1 | -1/+1 | |
There's nothing specific to Go language. This type of application object can be used to run any external application that utilizes libunit API. | |||||
2018-09-20 | Controller: certificates storage interface. | Valentin Bartenev | 1 | -1/+1 | |
2018-09-20 | Added SSL/TLS support on connection level. | Igor Sysoev | 1 | -5/+5 | |
2018-08-06 | Unit application library. | Max Romanov | 1 | -0/+2 | |
Library now used in all language modules. Old 'nxt_app_*' code removed. See src/test/nxt_unit_app_test.c for usage sample. | |||||
2018-07-27 | Refactored thread ID functions. | Igor Sysoev | 1 | -1/+0 | |
nxt_thread_tid() was moved to src/nxt_thread.c nxt_thread_get_tid() was moved to src/nxt_thread_id.h. src/nxt_thread_id.c was removed. | |||||
2018-04-11 | Configure scripts cleanup. | Valentin Bartenev | 1 | -2/+0 | |
Thanks to 洪志道 (Hong Zhi Dao). | |||||
2017-12-28 | HTTP keep-alive connections support. | Igor Sysoev | 1 | -0/+4 | |
2017-12-01 | Using compiler capability to generate dependencies. | Max Romanov | 1 | -76/+0 | |
This closes #58 issue on GitHub. | |||||
2017-11-21 | Tests: move existing tests to "src" folder. | Andrey Zelenkov | 1 | -18/+18 | |
2017-10-05 | Improved applications versions handling. | Valentin Bartenev | 1 | -0/+1 | |
2017-09-22 | Removed fibers from compilation. | Valentin Bartenev | 1 | -2/+0 | |
It's not used anyway, but breaks building with musl. This closes issue #5 on GitHub. | |||||
2017-08-30 | Lib unit tests have been renamed to tests. | Igor Sysoev | 1 | -21/+21 | |
2017-08-29 | The process type enum exposed to go module. | Max Romanov | 1 | -0/+1 | |
2017-08-29 | The master process has been renamed to the main process. | Igor Sysoev | 1 | -2/+2 | |
2017-08-24 | Removed configure option --no-threads. | Igor Sysoev | 1 | -20/+9 | |
2017-08-17 | The new module configuration interface. | Igor Sysoev | 1 | -0/+1 | |
Configuration and building example: ./configure ./configure python ./configure php ./configure go make all or ./configure make nginext ./configure python make python ./configure php make php ./configure go make go Modules configuration options and building examples: ./configure python --module=python2 --config=python2.7-config make python2 ./configure php --module=php7 --config=php7.0-config --lib-path=/usr/local/php7.0 make php7 ./configure go --go=go1.6 --go-path=${HOME}/go1.6 make go1.6 | |||||
2017-08-02 | Port RPC interface introduced. | Max Romanov | 1 | -0/+1 | |
Usage: 1. Register handlers in incoming port with nxt_port_rpc_register_handler(). 2. Use return value as a stream identifier for next nxt_port_socket_write(). | |||||
2017-07-05 | Configuration: basic validation of schema. | Valentin Bartenev | 1 | -0/+1 | |
2017-06-28 | Configuration: reduced names of structures, functions, and macros. | Valentin Bartenev | 1 | -1/+1 | |
2017-06-23 | Store pointer to shared memory start in buf->parent. | Max Romanov | 1 | -0/+1 | |
nxt_port_mmap_t stored in arrays and it is unsafe to store pointer to array element. Shared memory structures and macros moved to separate header file to be used by GO package. | |||||
2017-06-23 | lvlhash for ports moved to separate files for future re-use. | Max Romanov | 1 | -0/+3 | |
2017-06-20 | Using new memory pool implementation. | Igor Sysoev | 1 | -5/+3 | |
2017-06-19 | Memory pools refactoring. | Igor Sysoev | 1 | -3/+3 | |
2017-06-14 | nxt_event_conn_... functions and structures have been renamed | Igor Sysoev | 1 | -8/+8 | |
to nxt_conn_... | |||||
2017-05-31 | Skeleton of router configuration and request processing. | Igor Sysoev | 1 | -0/+2 | |
2017-05-12 | Using shared memory to send data via nxt_port. | Max Romanov | 1 | -0/+2 | |
Usage: b = nxt_port_mmap_get_buf(task, port, size); b->mem.free = nxt_cpymem(b->mem.free, data, size); nxt_port_socket_write(task, port, NXT_PORT_MSG_DATA, -1, 0, b); | |||||
2017-04-10 | JSON parsing in controller. | Valentin Bartenev | 1 | -0/+2 | |
2017-03-14 | Fixed unit tests building broken by the previous commit. | Igor Sysoev | 1 | -11/+11 | |
2017-03-09 | Processes refactoring. | Igor Sysoev | 1 | -4/+6 | |
The cycle has been renamed to the runtime. | |||||
2017-03-01 | HTTP parser. | Valentin Bartenev | 1 | -0/+3 | |
2017-03-01 | Removed legacy HTTP parser. | Valentin Bartenev | 1 | -1/+0 | |
2017-02-22 | Port changes. | Igor Sysoev | 1 | -2/+1 | |
2017-02-22 | I/O operations refactoring. | Igor Sysoev | 1 | -1/+2 | |
2017-02-07 | Event engines refactoring. | Igor Sysoev | 1 | -10/+9 | |
2017-02-01 | Process channels have been renamed to ports. | Igor Sysoev | 1 | -4/+4 | |
2017-01-30 | nxt_event_timer has been renamed to nxt_timer. | Igor Sysoev | 1 | -2/+2 | |