Bug 1005

Summary: ifup-ppp: not disconnecting stdin/out/err
Product: [Retired] Red Hat Linux Reporter: kenn
Component: initscriptsAssignee: Bill Nottingham <notting>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: 5.2CC: kenn, rvokal
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 1999-02-03 17:20:49 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description kenn 1999-01-31 17:15:11 UTC
The first is a bug in
/etc/sysconfig/network-scripts/ifup-ppp:

--- ifup-ppp.dist       Thu Oct 15 17:07:52 1998
+++ ifup-ppp    Sun Jan 31 20:31:04 1999
@@ -6,7 +6,7 @@
 if [ "$1" != daemon ] ; then
   # disconnect stdin, out, err to disassociate from
controlling tty
   # so that no HUPs will get through.
-  $0 daemon $*& </dev/null >/dev/null 2>/dev/null
+  $0 daemon $* </dev/null >/dev/null 2>/dev/null &
   exit 0
 fi
 shift

The redirections don't seem to take effect unless they come
before the &.  I discovered this when writing a CGI script
containing
the command /usr/sbin/usernetctl ppp0 up.  Because ifup-ppp
never
disconnected from stdout, Apache never saw stdout closed and
didn't
properly close the HTTP connection.

Doing

   /usr/sbin/usernetctl ppp0 up &> /dev/null < /dev/null

to forcibly redirect stdin/out/err works around the
problem.  Making the
above change to ifup-ppp fixes the root cause.  (Thanks to
James Griffiths <my> for helping to track this one
down.)

This probably applies to all architectures, but I don't
have access to any others to test on.

Comment 1 Bill Nottingham 1999-02-03 17:20:59 UTC
fixed in initscripts-3.84