{
set_script_env(vpninfo);
- system(vpninfo->vpnc_script);
+ if (system(vpninfo->vpnc_script)) {
+ int e = errno;
+ vpninfo->progress(vpninfo, PRG_ERR,
+ "Failed to spawn script '%s': %s\n",
+ vpninfo->vpnc_script, strerror(e));
+ return -e;
+ }
return 0;
}
if (vpninfo->vpnc_script) {
setenv("TUNDEV", vpninfo->ifname, 1);
setenv("reason", "disconnect", 1);
- system(vpninfo->vpnc_script);
+ if (system(vpninfo->vpnc_script) == -1) {
+ vpninfo->progress(vpninfo, PRG_ERR,
+ "Failed to spawn script '%s': %s\n",
+ vpninfo->vpnc_script,
+ strerror(errno));
+ }
}
#ifdef __sun__
if (ioctl(vpninfo->ip_fd, I_PUNLINK, vpninfo->tun_muxid) < 0)