diff -rupN openvpn-2.3.2/src/openvpn/options.c openvpn-2.3.2-new/src/openvpn/options.c
old
|
new
|
pre_pull_restore (struct options *o) |
2829 | 2829 | } |
2830 | 2830 | |
2831 | 2831 | o->push_continuation = 0; |
| 2832 | o->push_option_types_found = 0; |
2832 | 2833 | } |
2833 | 2834 | |
2834 | 2835 | #endif |
diff -rupN openvpn-2.3.2/src/openvpn/options.h openvpn-2.3.2-new/src/openvpn/options.h
old
|
new
|
struct options |
458 | 458 | bool client; |
459 | 459 | bool pull; /* client pull of config options from server */ |
460 | 460 | int push_continuation; |
| 461 | int push_option_types_found; |
461 | 462 | const char *auth_user_pass_file; |
462 | 463 | struct options_pre_pull *pre_pull; |
463 | 464 | |
diff -rupN openvpn-2.3.2/src/openvpn/push.c openvpn-2.3.2-new/src/openvpn/push.c
old
|
new
|
incoming_push_message (struct context *c |
202 | 202 | msg (D_PUSH_ERRORS, "WARNING: Received bad push/pull message: %s", sanitize_control_message(BSTR(buffer), &gc)); |
203 | 203 | else if (status == PUSH_MSG_REPLY || status == PUSH_MSG_CONTINUATION) |
204 | 204 | { |
| 205 | c->options.push_option_types_found |= option_types_found; |
| 206 | |
205 | 207 | if (status == PUSH_MSG_REPLY) |
206 | | do_up (c, true, option_types_found); /* delay bringing tun/tap up until --push parms received from remote */ |
| 208 | do_up (c, true, c->options.push_option_types_found ); /* delay bringing tun/tap up until --push parms received from remote */ |
207 | 209 | event_timeout_clear (&c->c2.push_request_interval); |
208 | 210 | } |
209 | 211 | |