summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJan Doskočil <jan.doskocil@nic.cz>2024-12-20 15:15:37 +0100
committerDaniel Salzman <daniel.salzman@nic.cz>2024-12-20 15:23:00 +0100
commit413600ea53f14b53b9ed5598fc3ff35f3c568e06 (patch)
tree62638c5fa85ce25e36e5c5fb7f008ce7c73a449f
parentMerge branch 'max_ttl_rrsig_bck' into 'master' (diff)
downloadknot-413600ea53f14b53b9ed5598fc3ff35f3c568e06.tar.xz
knot-413600ea53f14b53b9ed5598fc3ff35f3c568e06.zip
libngtcp2: update embedded libngtcp2 to v1.10.0
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c3
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c4
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c15
-rw-r--r--src/contrib/libngtcp2/ngtcp2/ngtcp2.h4
-rw-r--r--src/contrib/libngtcp2/ngtcp2/version.h4
5 files changed, 14 insertions, 16 deletions
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
index 8b60efabe..765e4a877 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_conn.c
@@ -11739,7 +11739,8 @@ static ngtcp2_ssize conn_write_vmsg_wrapper(ngtcp2_conn *conn,
if (cstat->bytes_in_flight >= cstat->cwnd) {
conn->rst.is_cwnd_limited = 1;
- } else if ((cstat->cwnd >= cstat->ssthresh ||
+ } else if (conn->rst.app_limited == 0 &&
+ (cstat->cwnd >= cstat->ssthresh ||
cstat->bytes_in_flight * 2 < cstat->cwnd) &&
nwrite == 0 && conn_pacing_pkt_tx_allowed(conn, ts) &&
(conn->flags & NGTCP2_CONN_FLAG_HANDSHAKE_COMPLETED)) {
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c
index 9eb102f16..0b66fceac 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_map.c
@@ -31,7 +31,7 @@
#include "ngtcp2_conv.h"
-#define NGTCP2_INITIAL_TABLE_LENBITS 4
+#define NGTCP2_INITIAL_HASHBITS 4
void ngtcp2_map_init(ngtcp2_map *map, const ngtcp2_mem *mem) {
map->mem = mem;
@@ -196,7 +196,7 @@ int ngtcp2_map_insert(ngtcp2_map *map, ngtcp2_map_key_type key, void *data) {
return rv;
}
} else {
- rv = map_resize(map, NGTCP2_INITIAL_TABLE_LENBITS);
+ rv = map_resize(map, NGTCP2_INITIAL_HASHBITS);
if (rv != 0) {
return rv;
}
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
index 4d417186e..090355f5d 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_rtb.c
@@ -249,9 +249,12 @@ static ngtcp2_ssize rtb_reclaim_frame(ngtcp2_rtb *rtb, uint8_t flags,
if (!fr->stream.fin) {
/* 0 length STREAM frame with offset == 0 must be
retransmitted if no non-empty data are sent to this
- stream, and no data in this stream are acknowledged. */
+ stream, fin flag is not set, and no data in this stream
+ are acknowledged. */
if (fr->stream.offset != 0 || fr->stream.datacnt != 0 ||
- strm->tx.offset || (strm->flags & NGTCP2_STRM_FLAG_ANY_ACKED)) {
+ strm->tx.offset ||
+ (strm->flags &
+ (NGTCP2_STRM_FLAG_SHUT_WR | NGTCP2_STRM_FLAG_ANY_ACKED))) {
continue;
}
} else if (strm->flags & NGTCP2_STRM_FLAG_FIN_ACKED) {
@@ -1284,14 +1287,6 @@ static int rtb_on_pkt_lost_resched_move(ngtcp2_rtb *rtb, ngtcp2_conn *conn,
return 0;
}
- if (ent->flags & NGTCP2_RTB_ENTRY_FLAG_PMTUD_PROBE) {
- ngtcp2_log_info(rtb->log, NGTCP2_LOG_EVENT_LDC,
- "pkn=%" PRId64
- " is a PMTUD probe packet, no retransmission is necessary",
- ent->hd.pkt_num);
- return 0;
- }
-
if (ent->flags & NGTCP2_RTB_ENTRY_FLAG_LOST_RETRANSMITTED) {
--rtb->num_lost_pkts;
diff --git a/src/contrib/libngtcp2/ngtcp2/ngtcp2.h b/src/contrib/libngtcp2/ngtcp2/ngtcp2.h
index acc79be6e..87976b144 100644
--- a/src/contrib/libngtcp2/ngtcp2/ngtcp2.h
+++ b/src/contrib/libngtcp2/ngtcp2/ngtcp2.h
@@ -1471,7 +1471,9 @@ typedef struct ngtcp2_transport_params {
uint64_t max_udp_payload_size;
/**
* :member:`active_connection_id_limit` is the maximum number of
- * Connection ID that sender can store.
+ * Connection ID that sender can store. If specified, it must be in
+ * the range of [:macro:`NGTCP2_DEFAULT_ACTIVE_CONNECTION_ID_LIMIT`,
+ * 8], inclusive.
*/
uint64_t active_connection_id_limit;
/**
diff --git a/src/contrib/libngtcp2/ngtcp2/version.h b/src/contrib/libngtcp2/ngtcp2/version.h
index e9e7f9bf8..20c4ac24d 100644
--- a/src/contrib/libngtcp2/ngtcp2/version.h
+++ b/src/contrib/libngtcp2/ngtcp2/version.h
@@ -36,7 +36,7 @@
*
* Version number of the ngtcp2 library release.
*/
-#define NGTCP2_VERSION "1.9.1"
+#define NGTCP2_VERSION "1.10.0"
/**
* @macro
@@ -46,6 +46,6 @@
* number, 8 bits for minor and 8 bits for patch. Version 1.2.3
* becomes 0x010203.
*/
-#define NGTCP2_VERSION_NUM 0x010901
+#define NGTCP2_VERSION_NUM 0x010a00
#endif /* !defined(NGTCP2_VERSION_H) */