mirror of
https://github.com/opnsense/src.git
synced 2026-06-04 14:26:03 -04:00
IPv4 packets can be routed via an IPv6 nexthop, so the handling of the
parsed address family is more strict than it needs to be. If we have a
valid header that matches a known peer, then we have no reason to
decline the packet.
Convert it to an assertion that it matches the destination as viewed by
the stack below it, instead. `dst` may be the gateway instead of the
destination in the case of a nexthop, so the `af` assignment must be
switched to use the destination in all cases.
Add a test case that approximates a setup like in the PR and
demonstrates the issue.
PR: 284857
Reviewed by: markj (earlier version), zlei
(cherry picked from commit
|
||
|---|---|---|
| .. | ||
| compat.h | ||
| crypto.h | ||
| if_wg.c | ||
| if_wg.h | ||
| version.h | ||
| wg_cookie.c | ||
| wg_cookie.h | ||
| wg_crypto.c | ||
| wg_noise.c | ||
| wg_noise.h | ||