Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2020-08-13 | Basic variables support. | Valentin Bartenev | 1 | -0/+21 | |
2020-07-28 | Configuration: fixed buffer over-read in pattern validation. | Axel Duch | 1 | -2/+3 | |
There was an undefined behavior in the validation function, caused by testing one character after the string if a wildcard was at the end. | |||||
2020-07-24 | Configuration: added checking for presence of mandatory fields. | Valentin Bartenev | 1 | -3/+131 | |
2020-07-24 | Added missing ending indicator in object members validation lists. | Valentin Bartenev | 1 | -1/+5 | |
This fixes undefined behaviour due to array over-read if an unknown parameter is specified in an uidmap, a gidmap, or a php target object. | |||||
2020-07-24 | Configuration: removing redundant check. | Axel Duch | 1 | -3/+3 | |
Thanks to 洪志道 (Hong Zhi Dao). | |||||
2020-07-04 | Router: route patterns multi wildcards support. | Axel Duch | 1 | -39/+5 | |
2020-05-28 | Added "rootfs" feature. | Tiago Natel de Moura | 1 | -0/+18 | |
2020-05-14 | Router: decode uri and args. | Axel Duch | 1 | -2/+115 | |
2020-05-14 | PHP: implemented "targets" option. | Valentin Bartenev | 1 | -23/+179 | |
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" }, } } } } | |||||
2020-05-14 | Configuration: URI encoding in the "pass" option. | Valentin Bartenev | 1 | -33/+27 | |
This is useful to escape "/" in path fragments. For example, in order to reference the application named "foo/bar": { "pass": "applications/foo%2Fbar" } | |||||
2020-03-30 | Rational number support in upstream server weight. | Igor Sysoev | 1 | -7/+7 | |
2020-03-30 | Configuration: support for rational numbers. | Valentin Bartenev | 1 | -7/+7 | |
2020-03-21 | Implemented "location" option for "return" action. | Valentin Bartenev | 1 | -0/+5 | |
This allows to specify redirects: { "action": { "return": 301, "location": "https://www.example.com/" } } | |||||
2020-03-27 | Implemented "return" action. | Valentin Bartenev | 1 | -4/+34 | |
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-12 | Using disk file to store large request body. | Max Romanov | 1 | -0/+10 | |
This closes #386 on GitHub. | |||||
2020-03-06 | Round robin upstream added. | Igor Sysoev | 1 | -0/+130 | |
2020-03-03 | Added a "fallback" option to be used with the "share" action. | Valentin Bartenev | 1 | -0/+5 | |
It allows proceeding to another action if a file isn't available. An example: { "share": "/data/www/", "fallback": { "pass": "applications/php" } } In the example above, an attempt is made first to serve a request with a file from the "/data/www/" directory. If there's no such file, the request is passed to the "php" application. Fallback actions may be nested: { "share": "/data/www/", "fallback": { "share": "/data/cache/", "fallback": { "proxy": "http://127.0.0.1:9000" } } } | |||||
2020-03-03 | Improved validation of the "action" object. | Valentin Bartenev | 1 | -16/+41 | |
Now it enforces the mutual exclusivity of "pass", "proxy", and "share" options. | |||||
2019-12-24 | Router: introducing routing on listener address. | Axel Duch | 1 | -0/+5 | |
2019-12-24 | Router: introducing routing on client address. | Axel Duch | 1 | -0/+68 | |
2019-12-24 | Adding "limits/shm" configuration validation and parsing. | Max Romanov | 1 | -0/+5 | |
2019-11-14 | Initial proxy support. | Igor Sysoev | 1 | -4/+37 | |
2019-10-10 | Style fixes. | Igor Sysoev | 1 | -10/+9 | |
2019-10-09 | Configuration: added check for mandatory options of "action". | Valentin Bartenev | 1 | -2/+33 | |
2019-09-19 | Basic support for serving static files. | Valentin Bartenev | 1 | -0/+129 | |
2019-09-19 | Initial applications isolation support using Linux namespaces. | Tiago de Bem Natel de Moura | 1 | -67/+236 | |
2019-08-20 | Introducing websocket support in router and libunit. | Max Romanov | 1 | -0/+25 | |
2019-07-24 | Added routing based on request scheme. | Axel Duch | 1 | -0/+29 | |
Scheme matches exact string “http” or “https”. | |||||
2019-05-30 | Added routing based on header fields. | Igor Sysoev | 1 | -2/+66 | |
2019-04-12 | Controller: rejecting double wildcards. | Valentin Bartenev | 1 | -1/+6 | |
2019-04-10 | Added support for wildcards in the middle of match patterns. | Igor Sysoev | 1 | -3/+24 | |
2019-03-22 | Style fixing. | Max Romanov | 1 | -0/+1 | |
This closes #233 issue on GitHub. Thanks to 洪志道 (Hong Zhi Dao). | |||||
2019-02-28 | Introducing Java Servlet Container beta. | Max Romanov | 1 | -0/+71 | |
2019-02-27 | Controller: added "routes" configuration. | Valentin Bartenev | 1 | -0/+186 | |
2019-02-27 | Controller: added "pass" configuration option. | Valentin Bartenev | 1 | -0/+62 | |
2018-10-09 | Renamed "go" application type to "external". | Valentin Bartenev | 1 | -16/+16 | |
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 | -0/+52 | |
2018-07-09 | Controller: added "settings" configuration object. | Valentin Bartenev | 1 | -0/+45 | |
It has the following structure and default values: { "http": { "header_read_timeout": 30, "body_read_timeout": 30, "send_timeout": 30, "idle_timeout": 180, "max_body_size": 8388608 } } | |||||
2018-07-02 | Fixed error message about "spare" value. | Valentin Bartenev | 1 | -1/+1 | |
2018-06-25 | Introduced nxt_length() macro. | Valentin Bartenev | 1 | -1/+1 | |
2018-06-20 | Using own popcount where the compiler builtin is not available. | Sergey Kandaurov | 1 | -1/+1 | |
2018-06-07 | PHP: added setting of individual configuration options. | Valentin Bartenev | 1 | -0/+30 | |
2018-06-07 | PHP: added setting of php.ini configuration file path. | Valentin Bartenev | 1 | -0/+15 | |
2018-06-06 | Go: specifying command line arguments to the executable. | Valentin Bartenev | 1 | -1/+59 | |
This closes #110 issue on GitHub. | |||||
2018-05-28 | Configuration of environment variables for application processes. | Valentin Bartenev | 1 | -0/+44 | |
2018-04-11 | Initial access log support. | Valentin Bartenev | 1 | -0/+5 | |
2018-03-21 | Added Ruby support. | Alexander Borisov | 1 | -0/+11 | |
2018-02-09 | Changed the default number of spare processes to 0. | Valentin Bartenev | 1 | -1/+1 | |
2018-02-07 | Style fixes. | Andrey Zelenkov | 1 | -5/+3 | |
2018-02-06 | Fixed configuration checks for "max" property. | Andrey Zelenkov | 1 | -16/+11 | |