diff options
author | Jens Wagner <jwagner@hexonet.net> | 2014-01-07 22:07:54 +0100 |
---|---|---|
committer | Gert Doering <gert@greenie.muc.de> | 2014-01-07 22:07:54 +0100 |
commit | 1aac9a0b7a4046822a0134cd8693a828f2e16576 (patch) | |
tree | feb49ed40b997503a6102911ba7c563bdab3a7f4 /src/openvpn/misc.c | |
parent | 64e4079f32e70a25e603470483c0e95549b3ab1d (diff) | |
download | openvpn-1aac9a0b7a4046822a0134cd8693a828f2e16576.tar.gz openvpn-1aac9a0b7a4046822a0134cd8693a828f2e16576.tar.xz openvpn-1aac9a0b7a4046822a0134cd8693a828f2e16576.zip |
Fix spurious ignoring of pushed config options (trac#349).
The function incoming_push_message(...) in push.c uses a local variable
option_types_found, that gets passed to do_up(...).
If the server push got split into several parts, only the last part
(PUSH_MSG_REPLY) option_types_found is used for do_up (initilized as 0
locally), the previous ones (PUSH_MSG_CONTINUATION) are ignored.
So e.g. a ping config, pushed by the server in the first push, followed
by a lot of "push route" configs, causing a second push message, will
have the do_up() called, but without e.g. the OPT_P_TIMER flag, so those
options will be silently ignored.
The patch resolves that, by introducing "push_option_types_found" in
"c->options" and using that as storage.
Fix trac bug #349.
Acked-by: Gert Doering <gert@greenie.muc.de>
URL: https://community.openvpn.net/openvpn/ticket/349
Signed-off-by: Gert Doering <gert@greenie.muc.de>
Diffstat (limited to 'src/openvpn/misc.c')
0 files changed, 0 insertions, 0 deletions