¡Hola René! I've just uploaded the fixes to the 3 day delayed queue.
Feel free to do your own upload if you prefer. I'm attaching a debdiff with the changes. Happy hacking, -- “There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies." -- C.A.R. Hoare Saludos /\/\ /\ >< `/
diff -u pptpd-1.3.4/pptpctrl.c pptpd-1.3.4/pptpctrl.c --- pptpd-1.3.4/pptpctrl.c +++ pptpd-1.3.4/pptpctrl.c @@ -660,6 +660,7 @@ char *pppd_argv[16]; int an = 0; sigset_t sigs; + char pppInterfaceIPs[33]; pppd_argv[an++] = ppp_binary; @@ -760,7 +761,6 @@ } if (*pppaddrs[0] || *pppaddrs[1]) { - char pppInterfaceIPs[33]; sprintf(pppInterfaceIPs, "%s:%s", pppaddrs[0], pppaddrs[1]); pppd_argv[an++] = pppInterfaceIPs; } diff -u pptpd-1.3.4/pptpgre.c pptpd-1.3.4/pptpgre.c --- pptpd-1.3.4/pptpgre.c +++ pptpd-1.3.4/pptpgre.c @@ -443,6 +443,7 @@ unsigned char buffer[PACKET_MAX + sizeof(struct pptp_gre_header)]; } u; unsigned header_len; + ssize_t status; #ifdef HAVE_WRITEV struct iovec iovec[2]; #endif @@ -495,10 +496,16 @@ iovec[1].iov_len = len; - return writev(fd, iovec, 2); + status = writev(fd, iovec, 2); #else /* copy payload into buffer */ memcpy(u.buffer + header_len, pack, len); /* record and increment sequence numbers */ /* write this baby out to the net */ - return write(fd, u.buffer, header_len + len); + status = write(fd, u.buffer, header_len + len); #endif + if ((status >= 0) || (errno != ENOBUFS)) { + return status; + } + // if ENOBUFS, do not close the connection + gre.seq_sent--; + return 0; } diff -u pptpd-1.3.4/debian/changelog pptpd-1.3.4/debian/changelog --- pptpd-1.3.4/debian/changelog +++ pptpd-1.3.4/debian/changelog @@ -1,3 +1,14 @@ +pptpd (1.3.4-5.2) unstable; urgency=low + + * Non-maintainer upload. + * Handle ENOBUFS gracefully. + Closes: #692129: pptpd: PPTP Connections Drop + * Programming error, reference to a stack variable used out of scope in + arguments to execvp call. + Closes: #693136: pptpd: Binary trash when launching ppp + + -- Maximiliano Curia <m...@debian.org> Wed, 28 Nov 2012 16:21:01 +0100 + pptpd (1.3.4-5.1) unstable; urgency=low * Non-maintainer upload
signature.asc
Description: Digital signature