mirror of
https://github.com/OpenVPN/openvpn.git
synced 2024-09-20 12:02:28 +02:00
Restore also ping related options on a reconnect
This fixes the issue that if a client reconnects the next connection entries inherits the keepalive settings that were pushed or set by the previous entry. Since UDP+PULL entries have an implicit 120s timeout, this timeout also got applied to a TCP session after an UDP entry. Patch v2: rebase on master Reported-By: Jan Just Keijser <janjust@nikhef.nl> Signed-off-by: Arne Schwabe <arne@rfc2549.org> Acked-by: Antonio Quartulli <antonio@openvpn.net> Message-Id: <20210317160038.25828-3-arne@rfc2549.org> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg21675.html Signed-off-by: Gert Doering <gert@greenie.muc.de>
This commit is contained in:
parent
7064ccb9fd
commit
5a2ed714d1
@ -3611,6 +3611,11 @@ pre_pull_save(struct options *o)
|
||||
o->pre_pull->ciphername = o->ciphername;
|
||||
o->pre_pull->authname = o->authname;
|
||||
o->pre_pull->keysize = o->keysize;
|
||||
|
||||
/* Ping related options should be reset to the config values on reconnect */
|
||||
o->pre_pull->ping_rec_timeout = o->ping_rec_timeout;
|
||||
o->pre_pull->ping_rec_timeout_action = o->ping_rec_timeout_action;
|
||||
o->pre_pull->ping_send_timeout = o->ping_send_timeout;
|
||||
}
|
||||
|
||||
}
|
||||
@ -3662,6 +3667,10 @@ pre_pull_restore(struct options *o, struct gc_arena *gc)
|
||||
o->ciphername = pp->ciphername;
|
||||
o->authname = pp->authname;
|
||||
o->keysize = pp->keysize;
|
||||
|
||||
o->ping_rec_timeout = pp->ping_rec_timeout;
|
||||
o->ping_rec_timeout_action = pp->ping_rec_timeout_action;
|
||||
o->ping_send_timeout = pp->ping_send_timeout;
|
||||
}
|
||||
|
||||
o->push_continuation = 0;
|
||||
|
@ -79,6 +79,10 @@ struct options_pre_pull
|
||||
const char* authname;
|
||||
int keysize;
|
||||
|
||||
int ping_send_timeout;
|
||||
int ping_rec_timeout;
|
||||
int ping_rec_timeout_action;
|
||||
|
||||
int foreign_option_index;
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user