The ppp-watch code in initscripts 4.72 has serious flaws that disable
normal usage of /sbin/ifup and /sbin/ifdown for PPP connections.
I'm using Mandrake and their packages, but it seems like the
problem is on your behalf.
First, it erroneously expects a return status from socket() to be non-zero
for success (actually it have to be non-negative)
when it checks whether an interface is up; this error stops ifup from a
successful return even when a connection is successfully established.
Second, closing the standard descriptors and executing a shell script
afterwards is a bad idea, since that shell runs into problems, for example,
when doing a pipe. You may consider to use /dev/null instead.
I have made a patch that solves both issues, and additionally removes
'--remotename' option from parameters that wvdial is issued with
by ifup-ppp script - the version of wvdial on my system doesn't recognize
it, and it can be placed in /etc/wvdial.conf instead.
Email me if you wanna take a look at the patch.
Created attachment 157 [details]
Here's that PPP patch
The return code of socket() has been fixed as of
the current rawhide release.
ppp-watch is changed to open /dev/null as of initscripts-5.02.