More various fixes (F-*)#132
Merged
Merged
Conversation
this applies for both states established and close wait
socket with an armed callback is torn down involuntarily, so close() waiters are no longer starved by close_socket()'s memset.
…grams this is per rfc 1812 section 4.3.2.7
floor of 536 up to tcp_default_mss in tcp_parse_options so a malicious tiny mss can no longer coerce wolfip into emitting 1-byte segments, and update the two flow tests that negotiated a sub-floor 512 mss to use above-floor values.
…ally by scaling the base timeout by 1<<dhcp_timeout_count up to a 64s cap via a shared dhcp_backoff_delay() helper, instead of retransmitting on a fixed ~2s cadence.
3376, section 5.2) instead of replying synchronously, coalescing query floods into one report per group
in-bounds total-length before the alloweddips lookup, closing three source-policy bypasses
…mmit chaining_key/hash to the handshake only after the response authenticates
…set_private_key so sessions authnticated under the old static identity do not survive a key rotation.
7d48c0e to
d7b2f34
Compare
119db10 to
fb0ad86
Compare
danielinux
approved these changes
Jun 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
bee1900 - expire every peer's session keyparis and staged packets in wolfguard_set_private_key so sessions authnticated under the old static identity do not survive a key rotation.
7ba9799 - hold wg_noise_consume_response key derivation in local buffers and commit chaining_key/hash to the handshake only after the response authenticates
8572893 preserve re-staged packets in wg_packet_send_staged
1ae2f17 - expire consumed cookie after WG_COOKIE_SECRET_MAX_AGE
2065c59 - gate wg_handle_data injection on a full ipv4 header, valid verseion and in-bounds total-length before the alloweddips lookup, closing three source-policy bypasses
962b0c2 - defer igmp query responses to a randomized per-membership timer (RFC 3376, section 5.2) instead of replying synchronously, coalescing query floods into one report per group
51f48f9 - back off dhcp discover/request/renew/rebind retransmissions exponentially by scaling the base timeout by 1<<dhcp_timeout_count up to a 64s cap via a shared dhcp_backoff_delay() helper, instead of retransmitting on a fixed ~2s cadence.
de9ed73 - clamp a peer-advertised tcp mss below the rfc 9293 floor of 536 up to tcp_default_mss in tcp_parse_options so a malicious tiny mss can no longer coerce wolfip into emitting 1-byte segments, and update the two flow tests that negotiated a sub-floor 512 mss to use above-floor values.
056519d - don't emit a forwarding time exceeded for ttl-expired icmp error datagrams this is per rfc 1812 section 4.3.2.7
1056cb7 - deliver a final cb_event_closed through wolfip_poll step 3 when a tcp socket with an armed callback is torn down involuntarily, so close() waiters are no longer starved by close_socket()'s memset.
3a54a3e - set the socket struct (tsocket) callbacks to null in sock_close this applies for both states established and close wait