Home
last modified time | relevance | path

Searched hist:20 (Results 1 – 25 of 369) sorted by relevance

12345678910>>...15

/unit/src/
H A Dnxt_http_websocket.cdiff 1555:1d84b9e4b459 Tue Aug 11 16:20:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Introducing application and port shared memory queues.

The goal is to minimize the number of syscalls needed to deliver a message.
diff 1547:cbcd76704c90 Tue Aug 11 16:20:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Introducing the shared application port.

This is the port shared between all application processes which use it to pass
requests for processing. Using it significantly simplifies the request
processing code in the router. The drawback is 2 more file descriptors per each
configured application and more complex libunit message wait/read code.
diff 1546:06017e6e3a5f Tue Aug 11 16:20:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Changing router to application shared memory exchange protocol.

The application process needs to request the shared memory segment from the
router instead of the latter pushing the segment before sending a request to
the application. This is required to simplify the communication between the
router and the application and to prepare the router for using the application
shared port and then the queue.
1131:ec7d924d8dfb Tue Aug 20 13:31:00 UTC 2019 Max Romanov <max.romanov@nginx.com> Introducing websocket support in router and libunit.
H A Dnxt_tstr.hdiff 2448:243735980417 Thu Apr 20 15:20:00 UTC 2023 Zhidao HONG <z.hong@f5.com> HTTP: added basic URI rewrite.

This commit introduced the basic URI rewrite. It allows users to change request URI. Note the "rewrite" option ignores the contained query if any and the query from the request is preserverd.
An example:
"routes": [
{
"match": {
"uri": "/v1/test"
},
"action": {
"return": 200
}
},
{
"action": {
"rewrite": "/v1$uri",
"pass": "routes"
}
}
]

Reviewed-by: Alejandro Colomar <alx@nginx.com>
diff 2448:243735980417 Thu Apr 20 15:20:00 UTC 2023 Zhidao HONG <z.hong@f5.com> HTTP: added basic URI rewrite.

This commit introduced the basic URI rewrite. It allows users to change request URI. Note the "rewrite" option ignores the contained query if any and the query from the request is preserverd.
An example:
"routes": [
{
"match": {
"uri": "/v1/test"
},
"action": {
"return": 200
}
},
{
"action": {
"rewrite": "/v1$uri",
"pass": "routes"
}
}
]

Reviewed-by: Alejandro Colomar <alx@nginx.com>
diff 2247:baa6b9879267 Sun Nov 20 15:16:00 UTC 2022 Zhidao HONG <z.hong@f5.com> Basic njs support.
2246:5f4056478375 Sun Nov 20 15:15:00 UTC 2022 Zhidao HONG <z.hong@f5.com> Var: separating nxt_tstr_t from nxt_var_t.

It's for the introduction of njs support.
For each option that supports native variable and JS template literals introduced next,
it's unified as template string.

No functional changes.
H A Dnxt_file_name.cdiff 65:10688b89aa16 Tue Jun 20 16:49:00 UTC 2017 Igor Sysoev <igor@sysoev.ru> Using new memory pool implementation.
diff 10:a8e68ed06863 Wed Feb 01 16:20:00 UTC 2017 Igor Sysoev <igor@sysoev.ru> nxt_str_t changes.
H A Dnxt_list.cdiff 108:f87c1c4e22be Wed Jun 28 20:52:00 UTC 2017 Igor Sysoev <igor@sysoev.ru> Fixed building on Solaris broken in changeset 4077decf847b.
diff 65:10688b89aa16 Tue Jun 20 16:49:00 UTC 2017 Igor Sysoev <igor@sysoev.ru> Using new memory pool implementation.
H A Dnxt_tstr.cdiff 2448:243735980417 Thu Apr 20 15:20:00 UTC 2023 Zhidao HONG <z.hong@f5.com> HTTP: added basic URI rewrite.

This commit introduced the basic URI rewrite. It allows users to change request URI. Note the "rewrite" option ignores the contained query if any and the query from the request is preserverd.
An example:
"routes": [
{
"match": {
"uri": "/v1/test"
},
"action": {
"return": 200
}
},
{
"action": {
"rewrite": "/v1$uri",
"pass": "routes"
}
}
]

Reviewed-by: Alejandro Colomar <alx@nginx.com>
diff 2448:243735980417 Thu Apr 20 15:20:00 UTC 2023 Zhidao HONG <z.hong@f5.com> HTTP: added basic URI rewrite.

This commit introduced the basic URI rewrite. It allows users to change request URI. Note the "rewrite" option ignores the contained query if any and the query from the request is preserverd.
An example:
"routes": [
{
"match": {
"uri": "/v1/test"
},
"action": {
"return": 200
}
},
{
"action": {
"rewrite": "/v1$uri",
"pass": "routes"
}
}
]

Reviewed-by: Alejandro Colomar <alx@nginx.com>
diff 2247:baa6b9879267 Sun Nov 20 15:16:00 UTC 2022 Zhidao HONG <z.hong@f5.com> Basic njs support.
2246:5f4056478375 Sun Nov 20 15:15:00 UTC 2022 Zhidao HONG <z.hong@f5.com> Var: separating nxt_tstr_t from nxt_var_t.

It's for the introduction of njs support.
For each option that supports native variable and JS template literals introduced next,
it's unified as template string.

No functional changes.
H A Dnxt_upstream_round_robin.cdiff 1394:20b41ebfff79 Fri Mar 06 15:28:00 UTC 2020 Igor Sysoev <igor@sysoev.ru> Round robin upstream added.
diff 65:10688b89aa16 Tue Jun 20 16:49:00 UTC 2017 Igor Sysoev <igor@sysoev.ru> Using new memory pool implementation.
diff 20:4dc92b438f58 Thu Mar 09 15:03:00 UTC 2017 Igor Sysoev <igor@sysoev.ru> Processes refactoring.
The cycle has been renamed to the runtime.
H A Dnxt_conn.cdiff 771:f349b2d68e75 Thu Sep 20 12:05:00 UTC 2018 Igor Sysoev <igor@sysoev.ru> Added SSL/TLS support on connection level.
diff 654:b6ca49c1da1b Fri Apr 20 16:46:00 UTC 2018 Igor Sysoev <igor@sysoev.ru> Fixed alerts about freeing non-freeable memory on connection close.

The nxt_conn_t object is allocated by nxt_zget() and should not be freed.
diff 88:c6879c7b5bdf Fri Jun 23 16:20:00 UTC 2017 Max Romanov <max.romanov@nginx.com> Added basic HTTP request processing in router.

- request to connection mapping in engine;
- requests queue in connection;
- engine port creation;
- connected ports hash for each process;
- engine port data messages processing (app responses);
diff 65:10688b89aa16 Tue Jun 20 16:49:00 UTC 2017 Igor Sysoev <igor@sysoev.ru> Using new memory pool implementation.
H A Dnxt_upstream.hdiff 1394:20b41ebfff79 Fri Mar 06 15:28:00 UTC 2020 Igor Sysoev <igor@sysoev.ru> Round robin upstream added.
diff 65:10688b89aa16 Tue Jun 20 16:49:00 UTC 2017 Igor Sysoev <igor@sysoev.ru> Using new memory pool implementation.
H A Dnxt_router_request.hdiff 1555:1d84b9e4b459 Tue Aug 11 16:20:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Introducing application and port shared memory queues.

The goal is to minimize the number of syscalls needed to deliver a message.
diff 1547:cbcd76704c90 Tue Aug 11 16:20:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Introducing the shared application port.

This is the port shared between all application processes which use it to pass
requests for processing. Using it significantly simplifies the request
processing code in the router. The drawback is 2 more file descriptors per each
configured application and more complex libunit message wait/read code.
1131:ec7d924d8dfb Tue Aug 20 13:31:00 UTC 2019 Max Romanov <max.romanov@nginx.com> Introducing websocket support in router and libunit.
H A Dnxt_list.hdiff 2084:7d479274f334 Sat Apr 30 17:20:00 UTC 2022 Alejandro Colomar <alx.manpages@gmail.com> Fixed #define style.

We had a mix of styles for declaring function-like macros:

Style A:
#define \
foo() \
do { \
... \
} while (0)

Style B:
#define foo() \
do { \
... \
} while (0)

We had a similar number of occurences of each style:

$ grep -rnI '^\w*(.*\\' | wc -l
244
$ grep -rn 'define.*(.*)' | wc -l
239

(Those regexes aren't perfect, but a very decent approximation.)

Real examples:

$ find src -type f | xargs sed -n '/^nxt_double_is_zero/,/^$/p'
nxt_double_is_zero(f) \
(fabs(f) <= FLT_EPSILON)

$ find src -type f | xargs sed -n '/define nxt_http_field_set/,/^$/p'
#define nxt_http_field_set(_field, _name, _value) \
do { \
(_field)->name_length = nxt_length(_name); \
(_field)->value_length = nxt_length(_value); \
(_field)->name = (u_char *) _name; \
(_field)->value = (u_char *) _value; \
} while (0)

I'd like to standardize on a single style for them, and IMO,
having the identifier in the same line as #define is a better
option for the following reasons:

- Programmers are used to `#define foo() ...` (readability).
- One less line of code.
- The program for finding them is really simple (see below).

function grep_ngx_func()
{
if (($# != 1)); then
>&2 echo "Usage: ${FUNCNAME[0]} <func>";
return 1;
fi;

find src -type f \
| grep '\.[ch]$' \
| xargs grep -l "$1" \
| sort \
| xargs pcregrep -Mn "(?s)^\$[\w\s*]+?^$1\(.*?^}";

find src -type f \
| grep '\.[ch]$' \
| xargs grep -l "$1" \
| sort \
| xargs pcregrep -Mn "(?s)define $1\(.*?^$" \
| sed -E '1s/^[^:]+:[0-9]+:/&\n\n/';
}

$ grep_ngx_func
Usage: grep_ngx_func <func>

$ grep_ngx_func nxt_http_field_set
src/nxt_http.h:98:

#define nxt_http_field_set(_field, _name, _value) \
do { \
(_field)->name_length = nxt_length(_name); \
(_field)->value_length = nxt_length(_value); \
(_field)->name = (u_char *) _name; \
(_field)->value = (u_char *) _value; \
} while (0)

$ grep_ngx_func nxt_sprintf
src/nxt_sprintf.c:56:

u_char * nxt_cdecl
nxt_sprintf(u_char *buf, u_char *end, const char *fmt, ...)
{
u_char *p;
va_list args;

va_start(args, fmt);
p = nxt_vsprintf(buf, end, fmt, args);
va_end(args);

return p;
}

................
Scripted change:
................

$ find src -type f \
| grep '\.[ch]$' \
| xargs sed -i '/define *\\$/{N;s/ *\\\n/ /;s/ //}'
diff 382:0b999f4f3545 Mon Nov 20 14:08:00 UTC 2017 Max Romanov <max.romanov@nginx.com> Fixing Coverity warnings.

CID 200496
CID 200494
CID 200490
CID 200489
CID 200483
CID 200482
CID 200472
CID 200465
diff 108:f87c1c4e22be Wed Jun 28 20:52:00 UTC 2017 Igor Sysoev <igor@sysoev.ru> Fixed building on Solaris broken in changeset 4077decf847b.
diff 65:10688b89aa16 Tue Jun 20 16:49:00 UTC 2017 Igor Sysoev <igor@sysoev.ru> Using new memory pool implementation.
diff 20:4dc92b438f58 Thu Mar 09 15:03:00 UTC 2017 Igor Sysoev <igor@sysoev.ru> Processes refactoring.
The cycle has been renamed to the runtime.
H A Dnxt_sha1.c1131:ec7d924d8dfb Tue Aug 20 13:31:00 UTC 2019 Max Romanov <max.romanov@nginx.com> Introducing websocket support in router and libunit.
H A Dnxt_sha1.h1131:ec7d924d8dfb Tue Aug 20 13:31:00 UTC 2019 Max Romanov <max.romanov@nginx.com> Introducing websocket support in router and libunit.
/unit/test/python/204_no_content/
H A Dasgi.pydiff 2073:bc6ad31ce286 Mon Apr 11 20:05:00 UTC 2022 Andrei Zeliankou <zelenkov@nginx.com> Tests: style.
1626:d20f04158166 Thu Oct 01 20:55:00 UTC 2020 Max Romanov <max.romanov@nginx.com> Tests: added ASGI HTTP applications.
/unit/auto/
H A Dnjsdiff 2510:f5a5a487a669 Tue Jul 11 20:02:00 UTC 2023 Konstantin Pavlov <thresh@nginx.com> NJS: explicitely require 0.8.0 or later versions in configure.
2247:baa6b9879267 Sun Nov 20 15:16:00 UTC 2022 Zhidao HONG <z.hong@f5.com> Basic njs support.
/unit/test/unit/
H A Dcontrol.pydiff 2491:aae60837ac20 Wed Jun 14 17:20:00 UTC 2023 Andrei Zeliankou <zelenkov@nginx.com> Tests: get rid of classes in test files.

Class usage came from the unittest framework and it was always redundant
after migration to the pytest. This commit removes classes from files
containing tests to make them more readable and understandable.
diff 2073:bc6ad31ce286 Mon Apr 11 20:05:00 UTC 2022 Andrei Zeliankou <zelenkov@nginx.com> Tests: style.
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.
/unit/test/unit/applications/
H A Dtls.pydiff 2491:aae60837ac20 Wed Jun 14 17:20:00 UTC 2023 Andrei Zeliankou <zelenkov@nginx.com> Tests: get rid of classes in test files.

Class usage came from the unittest framework and it was always redundant
after migration to the pytest. This commit removes classes from files
containing tests to make them more readable and understandable.
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 1100:32ee6a91138d Sun Jul 14 20:49:00 UTC 2019 Andrey Zelenkov <zelenkov@nginx.com> Tests: TestApplicationTLS.openssl_conf() introduced.
diff 1099:090bf53b3100 Sun Jul 14 20:49:00 UTC 2019 Andrey Zelenkov <zelenkov@nginx.com> Tests: check application configuration loading in TLS tests.
diff 1041:9bdd46610ea9 Mon Apr 22 15:20:00 UTC 2019 Valentin Bartenev <vbart@nginx.com> Tests: using "pass" option instead of deprecated "application".
/unit/test/
H A Dtest_python_isolation_chroot.pydiff 2491:aae60837ac20 Wed Jun 14 17:20:00 UTC 2023 Andrei Zeliankou <zelenkov@nginx.com> Tests: get rid of classes in test files.

Class usage came from the unittest framework and it was always redundant
after migration to the pytest. This commit removes classes from files
containing tests to make them more readable and understandable.
diff 2073:bc6ad31ce286 Mon Apr 11 20:05:00 UTC 2022 Andrei Zeliankou <zelenkov@nginx.com> Tests: style.
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 1596:b7e2d4d92624 Wed Sep 16 20:31:00 UTC 2020 Andrei Zeliankou <zelenkov@nginx.com> Tests: migrated to the pytest.
H A Dtest_usr1.pydiff 2491:aae60837ac20 Wed Jun 14 17:20:00 UTC 2023 Andrei Zeliankou <zelenkov@nginx.com> Tests: get rid of classes in test files.

Class usage came from the unittest framework and it was always redundant
after migration to the pytest. This commit removes classes from files
containing tests to make them more readable and understandable.
diff 2073:bc6ad31ce286 Mon Apr 11 20:05:00 UTC 2022 Andrei Zeliankou <zelenkov@nginx.com> Tests: style.
diff 1770:e4ece1ff4413 Tue Jan 12 06:20:00 UTC 2021 Andrei Zeliankou <zelenkov@nginx.com> Tests: unit_stop() removed where possible.

Since wait_for_record() was introduced there is no need
to stop Unit before parsing unit.log.
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.
/unit/test/php/conditional/
H A Dindex.php675:cbbb009775e0 Tue May 22 17:20:00 UTC 2018 Andrey Zelenkov <zelenkov@nginx.com> Tests: initial PHP application tests.
/unit/test/php/cookies/
H A Dindex.php675:cbbb009775e0 Tue May 22 17:20:00 UTC 2018 Andrey Zelenkov <zelenkov@nginx.com> Tests: initial PHP application tests.
/unit/test/php/mirror/
H A Dindex.php675:cbbb009775e0 Tue May 22 17:20:00 UTC 2018 Andrey Zelenkov <zelenkov@nginx.com> Tests: initial PHP application tests.
/unit/test/php/404/
H A D404.html675:cbbb009775e0 Tue May 22 17:20:00 UTC 2018 Andrey Zelenkov <zelenkov@nginx.com> Tests: initial PHP application tests.
/unit/test/php/phpinfo/
H A Dindex.php675:cbbb009775e0 Tue May 22 17:20:00 UTC 2018 Andrey Zelenkov <zelenkov@nginx.com> Tests: initial PHP application tests.
/unit/test/perl/syntax_error/
H A Dpsgi.pl607:ced9f2afd5a5 Mon Apr 02 16:20:00 UTC 2018 Andrey Zelenkov <zelenkov@nginx.com> Tests: Perl script with syntax error.
/unit/test/python/empty/
H A Dwsgi.py552:2e4ea9cc507e Tue Feb 20 17:34:00 UTC 2018 Andrey Zelenkov <zelenkov@nginx.com> Tests: reworked python tests with application.

12345678910>>...15