linux/drivers/net/ovpn
Ralf Lici 5940f3407b ovpn: reject invalid peer VPN addresses
In MP mode, ovpn uses peer VPN addresses as lookup keys for selecting
the peer that should receive outgoing tunnel packets. The netlink
configuration path currently accepts address values that cannot sensibly
identify a VPN peer, such as multicast, broadcast or loopback addresses.

Reject invalid peer VPN addresses when creating or updating an MP peer.
Keep accepting the unspecified address as the internal unset value,
provided that at least one VPN address family remains configured.

Fixes: 1d36a36f6d ("ovpn: implement peer add/get/dump/delete via netlink")
Signed-off-by: Ralf Lici <ralf@mandelbit.com>
Signed-off-by: Antonio Quartulli <antonio@openvpn.net>
2026-09-21 11:39:13 +02:00
..
bind.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
bind.h ovpn: introduce the ovpn_peer object 2025-04-17 12:30:02 +02:00
crypto_aead.c ovpn: defer key slot crypto freeing to workqueue 2026-08-09 22:47:57 +02:00
crypto_aead.h ovpn: defer key slot crypto freeing to workqueue 2026-08-09 22:47:57 +02:00
crypto.c ovpn: defer key slot crypto freeing to workqueue 2026-08-09 22:47:57 +02:00
crypto.h ovpn: defer key slot crypto freeing to workqueue 2026-08-09 22:47:57 +02:00
io.c ovpn: finish crypto callback cleanup before peer release 2026-08-07 02:12:13 +02:00
io.h ovpn: implement keepalive mechanism 2025-04-17 12:30:03 +02:00
main.c ovpn: run deferred work on a module-owned workqueue 2026-08-09 22:47:57 +02:00
main.h
Makefile ovpn: implement TCP transport 2025-04-17 12:30:03 +02:00
netlink-gen.c ovpn: limit keepalive values to one day 2026-07-30 11:28:30 +02:00
netlink-gen.h ovpn: add support for asymmetric peer IDs 2026-03-17 11:09:05 +01:00
netlink.c ovpn: reject invalid peer VPN addresses 2026-09-21 11:39:13 +02:00
netlink.h ovpn: notify userspace on client float event 2026-03-17 11:08:55 +01:00
ovpnpriv.h ovpn: run deferred work on a module-owned workqueue 2026-08-09 22:47:57 +02:00
peer.c ovpn: reject duplicate peer VPN addresses 2026-09-21 11:39:13 +02:00
peer.h ovpn: reject duplicate peer VPN addresses 2026-09-21 11:39:13 +02:00
pktid.c ovpn: pktid: use bitops.h API 2026-03-17 11:08:54 +01:00
pktid.h ovpn: pktid: use bitops.h API 2026-03-17 11:08:54 +01:00
proto.h ovpn: implement packet processing 2025-04-17 12:30:02 +02:00
skb.h ovpn: consolidate crypto allocations in one chunk 2026-03-17 11:09:20 +01:00
socket.c ovpn: ensure socket is owned by ovpn before deref sk_user_data 2026-07-30 11:28:30 +02:00
socket.h ovpn: ensure sk is still valid during cleanup 2025-06-03 13:08:15 +02:00
stats.c ovpn: store tunnel and transport statistics 2025-04-17 12:30:02 +02:00
stats.h ovpn: disable BHs when updating device stats 2026-05-15 00:43:55 +02:00
tcp.c ovpn: run deferred work on a module-owned workqueue 2026-08-09 22:47:57 +02:00
tcp.h ovpn: ensure sk is still valid during cleanup 2025-06-03 13:08:15 +02:00
udp.c ovpn: replace bind when clearing stale local source 2026-09-21 11:39:13 +02:00
udp.h ovpn: ensure sk is still valid during cleanup 2025-06-03 13:08:15 +02:00