summaryrefslogtreecommitdiffstats
path: root/src/shrpx_config.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/shrpx_config.h')
-rw-r--r--src/shrpx_config.h22
1 files changed, 17 insertions, 5 deletions
diff --git a/src/shrpx_config.h b/src/shrpx_config.h
index 335b0f9..f264b6a 100644
--- a/src/shrpx_config.h
+++ b/src/shrpx_config.h
@@ -406,6 +406,12 @@ constexpr auto SHRPX_OPT_REQUIRE_HTTP_SCHEME =
StringRef::from_lit("require-http-scheme");
constexpr auto SHRPX_OPT_TLS_KTLS = StringRef::from_lit("tls-ktls");
constexpr auto SHRPX_OPT_ALPN_LIST = StringRef::from_lit("alpn-list");
+constexpr auto SHRPX_OPT_FRONTEND_HEADER_TIMEOUT =
+ StringRef::from_lit("frontend-header-timeout");
+constexpr auto SHRPX_OPT_FRONTEND_HTTP2_IDLE_TIMEOUT =
+ StringRef::from_lit("frontend-http2-idle-timeout");
+constexpr auto SHRPX_OPT_FRONTEND_HTTP3_IDLE_TIMEOUT =
+ StringRef::from_lit("frontend-http3-idle-timeout");
constexpr size_t SHRPX_OBFUSCATED_NODE_LENGTH = 8;
@@ -641,6 +647,7 @@ struct QUICKeyingMaterial {
~QUICKeyingMaterial() noexcept;
QUICKeyingMaterial &operator=(QUICKeyingMaterial &&other) noexcept;
EVP_CIPHER_CTX *cid_encryption_ctx;
+ EVP_CIPHER_CTX *cid_decryption_ctx;
std::array<uint8_t, SHRPX_QUIC_SECRET_RESERVEDLEN> reserved;
std::array<uint8_t, SHRPX_QUIC_SECRETLEN> secret;
std::array<uint8_t, SHRPX_QUIC_SALTLEN> salt;
@@ -815,7 +822,7 @@ struct QUICConfig {
StringRef prog_file;
bool disabled;
} bpf;
- std::array<uint8_t, SHRPX_QUIC_SERVER_IDLEN> server_id;
+ uint32_t server_id;
};
struct Http3Config {
@@ -864,6 +871,9 @@ struct HttpConfig {
struct {
bool strip_incoming;
} early_data;
+ struct {
+ ev_tstamp header;
+ } timeout;
std::vector<AltSvc> altsvcs;
// altsvcs serialized in a wire format.
StringRef altsvc_header_value;
@@ -1048,11 +1058,10 @@ struct ConnectionConfig {
struct {
struct {
- ev_tstamp http2_read;
- ev_tstamp http3_read;
- ev_tstamp read;
+ ev_tstamp http2_idle;
+ ev_tstamp http3_idle;
ev_tstamp write;
- ev_tstamp idle_read;
+ ev_tstamp idle;
} timeout;
struct {
RateLimitConfig read;
@@ -1249,12 +1258,14 @@ enum {
SHRPX_OPTID_FORWARDED_FOR,
SHRPX_OPTID_FRONTEND,
SHRPX_OPTID_FRONTEND_FRAME_DEBUG,
+ SHRPX_OPTID_FRONTEND_HEADER_TIMEOUT,
SHRPX_OPTID_FRONTEND_HTTP2_CONNECTION_WINDOW_BITS,
SHRPX_OPTID_FRONTEND_HTTP2_CONNECTION_WINDOW_SIZE,
SHRPX_OPTID_FRONTEND_HTTP2_DECODER_DYNAMIC_TABLE_SIZE,
SHRPX_OPTID_FRONTEND_HTTP2_DUMP_REQUEST_HEADER,
SHRPX_OPTID_FRONTEND_HTTP2_DUMP_RESPONSE_HEADER,
SHRPX_OPTID_FRONTEND_HTTP2_ENCODER_DYNAMIC_TABLE_SIZE,
+ SHRPX_OPTID_FRONTEND_HTTP2_IDLE_TIMEOUT,
SHRPX_OPTID_FRONTEND_HTTP2_MAX_CONCURRENT_STREAMS,
SHRPX_OPTID_FRONTEND_HTTP2_OPTIMIZE_WINDOW_SIZE,
SHRPX_OPTID_FRONTEND_HTTP2_OPTIMIZE_WRITE_BUFFER_SIZE,
@@ -1263,6 +1274,7 @@ enum {
SHRPX_OPTID_FRONTEND_HTTP2_WINDOW_BITS,
SHRPX_OPTID_FRONTEND_HTTP2_WINDOW_SIZE,
SHRPX_OPTID_FRONTEND_HTTP3_CONNECTION_WINDOW_SIZE,
+ SHRPX_OPTID_FRONTEND_HTTP3_IDLE_TIMEOUT,
SHRPX_OPTID_FRONTEND_HTTP3_MAX_CONCURRENT_STREAMS,
SHRPX_OPTID_FRONTEND_HTTP3_MAX_CONNECTION_WINDOW_SIZE,
SHRPX_OPTID_FRONTEND_HTTP3_MAX_WINDOW_SIZE,