1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-28 21:36:16 +02:00
openwrt-xburst/obsolete-buildroot/sources/openwrt/patches/ppp/fix_closed_fds
mbm 097635b79b massive changes
- sstrip cleanup from mjn3
- various patches from nico and others: http://openwrt.org/forum/viewtopic.php?t=368


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@145 3c298f89-4303-0410-b956-a3cf2f4a3e73
2004-08-24 23:50:14 +00:00

35 lines
930 B
Plaintext

sys_init() will open a socket and keep it open for the whole like of the
process. If pppd is started without all standard fds open then the socket
will get one of their numbers, which will be clobbered later by the
/dev/null fd duplicated by main().
See Debian bug #235192.
diff -ruN ppp.orig/pppd/main.c ppp/pppd/main.c
--- ppp.orig/pppd/main.c 2004-02-29 18:50:12.000000000 +0100
+++ ppp/pppd/main.c 2004-02-29 18:48:56.000000000 +0100
@@ -385,11 +385,6 @@
if (dryrun)
die(0);
- /*
- * Initialize system-dependent stuff.
- */
- sys_init();
-
/* Make sure fds 0, 1, 2 are open to somewhere. */
fd_devnull = open(_PATH_DEVNULL, O_RDWR);
if (fd_devnull < 0)
@@ -401,6 +396,11 @@
fd_devnull = i;
}
+ /*
+ * Initialize system-dependent stuff.
+ */
+ sys_init();
+
#ifdef USE_TDB
pppdb = tdb_open(_PATH_PPPDB, 0, 0, O_RDWR|O_CREAT, 0644);
if (pppdb != NULL) {