5e346b8f70
SVN-Revision: 145
34 lines
930 B
Text
34 lines
930 B
Text
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) {
|