diff -up vpnc-0.5.3/vpnc.c.cloexec vpnc-0.5.3/vpnc.c --- vpnc-0.5.3/vpnc.c.cloexec 2008-11-19 21:55:51.000000000 +0100 +++ vpnc-0.5.3/vpnc.c 2008-11-20 11:48:07.000000000 +0100 @@ -2877,6 +2877,8 @@ static void do_phase2_qm(struct sa_block close_tunnel(s); error(1, errno, "Couldn't open socket of ESP. Maybe something registered ESP already.\nPlease try '--natt-mode force-natt' or disable whatever is using ESP.\nsocket(PF_INET, SOCK_RAW, IPPROTO_ESP)"); } + fcntl(s->esp_fd, F_SETFD, FD_CLOEXEC); + #ifdef IP_HDRINCL if (setsockopt(s->esp_fd, IPPROTO_IP, IP_HDRINCL, &hincl, sizeof(hincl)) == -1) { close_tunnel(s);