Tatsuhiro Tsujikawa
5abafb4268
nghttpx: Fix affinity-cookie-stickiness parameter handling
...
Fix affinity-cookie-stickiness backend parameter handling.
Previously, if 3 backend options are used for the same pattern, and
the first one does not have affinity-cookie-stickiness, and the rest
of them have affinity-cookie-stickiness=strict, nghttpx wrongly
determines that they have inconsistent configurations.
2022-10-18 17:17:44 +09:00
Tatsuhiro Tsujikawa
a4d12f2a71
Replace the use of strtoul and strtol with parse_uint
...
Replace the use of strtoul and strtol with parse_uint to fix the
handling of negative integer.
2022-08-09 19:56:01 +09:00
Tatsuhiro Tsujikawa
7f4c2f9ec3
Add nghttp2_check_header_value_rfc9113
...
Add nghttp2_check_header_value_rfc9113 which verifies the additional
rule imposed by RFC 9113, section 8.2.1, that is a field value must
not start or end with 0x20(SPC) or 0x09(HTAB).
libnghttp2 uses this new function internally.
2022-06-24 19:44:13 +09:00
Tatsuhiro Tsujikawa
09344eb1ad
nghttp, nghttpd, nghttpx: Add ktls support
2022-05-07 18:53:59 +09:00
Tatsuhiro Tsujikawa
5ded01e288
nghttpx: Add affinity-cookie-stickiness backend parameter
2022-03-20 11:30:32 +09:00
Tatsuhiro Tsujikawa
79524471b4
nghttpx: Add --require-http-scheme option
2022-02-12 11:39:52 +09:00
Tatsuhiro Tsujikawa
385abf10f7
nghttpx: Add support QUIC BBR2
2022-02-10 19:45:30 +09:00
Dimitris Apostolou
ad0c9eebf7
Fix typos
2022-01-16 21:53:44 +09:00
Tatsuhiro Tsujikawa
9d41896663
nghttpx: Rename --frontend-quic-server-id to --quic-server-id
2021-10-17 14:48:46 +09:00
Tatsuhiro Tsujikawa
c790ee64a4
src: Prefer #ifdef for a single condition
2021-10-15 22:50:26 +09:00
Tatsuhiro Tsujikawa
fa7a916ef3
nghttpx: Store initial_rtt in ev_tstamp for consistency
2021-10-10 17:34:58 +09:00
Tatsuhiro Tsujikawa
69c4187100
nghttpx: Add --frontend-quic-initial-rtt option
2021-10-10 17:24:02 +09:00
Tatsuhiro Tsujikawa
87bdc21667
nghttpx: Add --worker-process-grace-shutdown-period option
2021-10-02 18:55:51 +09:00
Tatsuhiro Tsujikawa
0266c458a3
nghttpx: Add --max-worker-processes option
2021-09-29 22:12:10 +09:00
Tatsuhiro Tsujikawa
f6da0d342a
nghttpx: Fix crash if no keying materials are specified in file
2021-09-24 18:19:01 +09:00
Tatsuhiro Tsujikawa
7271537a15
nghttpx: Add --rlimit-memlock option
2021-09-24 18:13:38 +09:00
Tatsuhiro Tsujikawa
d0e8efac4d
nghttpx: Fix bug that reading QUIC secret file fails without line separator
2021-09-24 17:50:28 +09:00
Tatsuhiro Tsujikawa
308c73bfa2
nghttpx: Read QUIC keying materials from file
...
Add --frontend-quic-secret-file to read QUIC keying materials from
file. --frontend-quic-connection-id-encryption-key was removed in
favor of this new option.
2021-09-23 11:18:07 +09:00
Tatsuhiro Tsujikawa
c40309ae8e
nghttpx: optarg should be allocated per configuration
2021-09-23 11:01:01 +09:00
Tatsuhiro Tsujikawa
80cc623eb2
nghttpx: Allocate server id in Connection ID
2021-09-21 23:08:55 +09:00
Tatsuhiro Tsujikawa
6a099ee50a
nghttpx: QUIC requires TLS
2021-09-18 19:27:47 +09:00
Tatsuhiro Tsujikawa
fd060eb9f1
nghttpx: Connection ID encryption
2021-09-15 21:31:03 +09:00
Tatsuhiro Tsujikawa
8f419a4869
nghttpx: Add --frontend-quic-congestion-controller option
2021-09-13 21:35:46 +09:00
Tatsuhiro Tsujikawa
525d59fdf6
Remove util::make_hostport returning std::string
2021-09-12 18:07:54 +09:00
Tatsuhiro Tsujikawa
f74b6d9a43
nghttpx: Add --frontend-quic-require-token option
2021-09-12 15:04:54 +09:00
Tatsuhiro Tsujikawa
addd614e94
nghttpx: Add qlog support
2021-09-06 20:06:38 +09:00
Tatsuhiro Tsujikawa
ab16a11aa3
nghttpx: Add --frontend-quic-early-data, disable early data by default
2021-09-05 21:39:45 +09:00
Tatsuhiro Tsujikawa
54fd0efdfe
nghttpx: Return error if quic param is specified when quic is disabled
2021-08-31 17:15:44 +09:00
Tatsuhiro Tsujikawa
7d13891066
nghttpx: Rename eBPF options
2021-08-27 21:34:18 +09:00
Tatsuhiro Tsujikawa
d2729193c7
nghttpx: Add --frontend-http3-max-concurrent-streams option
2021-08-27 21:11:03 +09:00
Tatsuhiro Tsujikawa
87fb325357
nghttpx: Add window size options for HTTP/3 connection
2021-08-27 21:02:45 +09:00
Tatsuhiro Tsujikawa
5aeae7444f
nghttpx: Add --frontend-quic-debug-log option
2021-08-27 19:16:25 +09:00
Tatsuhiro Tsujikawa
c9b11e9fbf
nghttpx: Rename --quic-idle-timeout to --frontend-quic-idle-timeout
2021-08-27 19:03:06 +09:00
Tatsuhiro Tsujikawa
0005efa508
nghttpx: --frontend-http3-read-timeout should be noop if HTTP/3 is disabled
2021-08-27 18:45:19 +09:00
Tatsuhiro Tsujikawa
6931cb9d65
nghttpx: Add --quic-idle-timeout option
2021-08-27 18:44:33 +09:00
Tatsuhiro Tsujikawa
717e7ae8b2
nghttpx: Add --frontend-http3-read-timeout option
...
Add --frontend-http3-read-timeout option. QUIC idle timeout option
will be added later.
2021-08-27 18:29:06 +09:00
Tatsuhiro Tsujikawa
51bf79bb8c
nghttpx: Add --http2-altsvc option
2021-08-26 21:34:49 +09:00
Tatsuhiro Tsujikawa
0d35e8e15e
nghttpx: Do not allow quic on UNIX domain socket for now
2021-08-26 21:34:49 +09:00
Tatsuhiro Tsujikawa
8563ec5a7a
nghttpx: Add options to specify eBPF program file path and disable eBPF
2021-08-26 21:34:49 +09:00
Tatsuhiro Tsujikawa
33c580ebbf
Forward QUIC packet to the correct worker
2021-08-23 22:21:48 +09:00
Tatsuhiro Tsujikawa
4eced8a393
Build without HTTP/3 support
2021-08-22 23:54:29 +09:00
Tatsuhiro Tsujikawa
940fdd5573
nghttpx: Read quic packet
2021-08-21 18:34:04 +09:00
Tatsuhiro Tsujikawa
01da060496
nghttpx: Create quic server socket
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa
138419d232
Add "dnf" (= "do not forward") parameter to backend option
2021-08-14 17:16:21 +09:00
Tatsuhiro Tsujikawa
cef458c31c
Replace black-list with block-list
...
nghttpx --no-http2-cipher-black-list and
--client-no-http2-cipher-black-list are deprecated and replaced with
--no-http2-cipher-block-list and --client-no-http2-cipher-block-list
respectively.
2021-04-02 22:35:37 +09:00
Tatsuhiro Tsujikawa
6787423edc
nghttpx: Add workaround to include ':' in backend pattern
2020-11-27 22:15:46 +09:00
Tatsuhiro Tsujikawa
4e3c61ef4d
nghttpx: Add accesslog variables to record request path without query
...
This commit the following variables to construct request line without
including query component:
* $method
* $path
* $path_without_query
* $protocol_version
2020-09-19 23:58:37 +09:00
Tatsuhiro Tsujikawa
ee44313445
Fix FPE with default backend
2019-06-11 23:15:01 +09:00
Tatsuhiro Tsujikawa
77f1c872b1
nghttpx: Fix unchanged log level on configuration reload
...
Previously, if log-level is not mentioned in configuration file and
reload happens, the log level was not set to the default value NOTICE.
Instead, the log level stayed the same. This commit fixes this bug.
2019-06-05 21:17:23 +09:00
Tatsuhiro Tsujikawa
c64d2573dc
Replace http-parser with llhttp
...
llhttp does not include URL parser. We extracted URL parser code from
http-parser and put it under third-party/url-parser.
llhttp bd3d224eb8cdc92c6fc8f508d7bbe0ba266e8e92
2019-04-20 18:42:30 +09:00