Branch: refs/heads/master
Home: https://github.com/OpenVPN/openvpn
Commit: 309c2332c353e741d0b696112891cbe0a8e4080f
https://github.com/OpenVPN/openvpn/commit/309c2332c353e741d0b696112891cbe0a8e4080f
Author: Moritz Fain <mor...@fa...>
Date: 2025-12-10 (Wed, 10 Dec 2025)
Changed paths:
M src/openvpn/options.c
M src/openvpn/options.h
M src/openvpn/options_parse.c
M src/openvpn/push.c
M tests/unit_tests/openvpn/test_options_parse.c
M tests/unit_tests/openvpn/test_push_update_msg.c
Log Message:
-----------
PUSH_UPDATE: fix option reset logic in continuation messages
Previously, the logic for resetting push options (like 'route') was based on
`update_options_found` which was local to `apply_push_options`. This meant
that if a PUSH_UPDATE was split across multiple continuation messages,
the state was lost, causing routes to be reset multiple times (once per
message chunk) rather than once per update sequence.
This patch moves the state tracking to `struct options` as
`push_update_options_found`, allowing it to persist across the entire
PUSH_UPDATE sequence.
This fixes an issue where large route lists sent via PUSH_UPDATE would
result in only the last chunk's routes being applied, or previous routes
being continuously deleted and re-added.
Added unit test `test_incoming_push_continuation_route_accumulation` to
verify the fix.
Github: OpenVPN/openvpn#925
Signed-off-by: Moritz Fain <mor...@fa...>
Acked-by: Marco Baffo <ma...@ma...>
Message-Id: <CAM...@ma...>
URL: https://www.mail-archive.com/ope...@li.../msg34814.html
Signed-off-by: Gert Doering <ge...@gr...>
To unsubscribe from these emails, change your notification settings at https://github.com/OpenVPN/openvpn/settings/notifications
|