int ret;
int timeout;
int interval;
+ int tun_up = tun_is_up(vpninfo);
openconnect_close_https(vpninfo, 0);
vpninfo->tun_pkt = NULL;
while (1) {
- script_config_tun(vpninfo, "attempt-reconnect");
+ if (tun_up)
+ script_config_tun(vpninfo, "attempt-reconnect");
ret = vpninfo->proto->tcp_connect(vpninfo);
if (!ret)
break;
interval = RECONNECT_INTERVAL_MAX;
}
- script_config_tun(vpninfo, "reconnect");
- if (vpninfo->reconnected)
- vpninfo->reconnected(vpninfo->cbdata);
+ if (tun_up) {
+ script_config_tun(vpninfo, "reconnect");
+ if (vpninfo->reconnected)
+ vpninfo->reconnected(vpninfo->cbdata);
+ }
return 0;
}