Bug 37716
| Summary: | RP3 GUI connection trouble | ||
|---|---|---|---|
| Product: | [Retired] Red Hat Linux | Reporter: | E Blaufuss <blaufuss> |
| Component: | rp3 | Assignee: | Nalin Dahyabhai <nalin> |
| Status: | CLOSED RAWHIDE | QA Contact: | Aaron Brown <abrown> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 7.1 | CC: | corlet, edward, shane, tkdupont |
| 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: | 2001-05-07 22:07:37 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
E Blaufuss
2001-04-26 02:04:02 UTC
*** Bug 37717 has been marked as a duplicate of this bug. *** I have the same problem and in my case the cause is as follows:
In /etc/sysconfig/network-scripts/network-functions
(this script has changed from 7.0 to 7.1)
the do_netreport() function contains the line:
su $OWNER -c "kill -SIGIO $i > /dev/null 2>&1" > /dev/null 2>&1 || \
rm -f $i >/dev/null 2>&1
but su apparently returns false in all situations and the $i file is
therefore being deleted regardless. Changing the line to:
su $OWNER -c "kill -SIGIO $i > /dev/null 2>&1 || \
rm -f $i >/dev/null 2>&1" > /dev/null 2>&1
fixed the problem for me.
This isn't specific to rp3. It may have a bearing on some of the
bugs reported under ppp-watch etc. but I haven't gone back to check
yet.
Will be fixed in initscripts-5.88-1. *** Bug 39603 has been marked as a duplicate of this bug. *** This fix only works for me if run the "rp3 -i ppp0" command as su. The fix did not work for me: what worked (at least so far) is just copying the
old (RH7.0) network-functions over the new. (there are other differences other
than that).
Here is the diff new old
20,33d19
< toggle_value()
< {
< if [ -z "$2" ]
< then
< echo ''
< elif [ "$2" = "yes" -o "$2" = "YES" ] ; then
< echo "$1"
< elif [ "$2" = "no" -o "$2" = "NO" ] ; then
< echo "-$1"
< else
< echo ''
< fi
< }
<
39,43c25,27
< if [ -f $i ]; then
< OWNER=`ls -l $i | awk '{ print $3 }'`
< su $OWNER -c "kill -SIGIO $i > /dev/null 2>&1 || \
< rm -f $i >/dev/null 2>&1" > /dev/null 2>&1
< fi
---
> [ -f $i ] && \
> kill -SIGIO $i >/dev/null 2>&1 || \
> rm -f $i >/dev/null 2>&1
69,76c53
< if echo ${DEVICE} | grep -q ':' ; then
< if LANG=C ifconfig -a 2>/dev/null | grep -q ${DEVICE} ; then
< retcode=1
< else
< retcode=0
< fi
< else
< if LANG=C ifconfig ${DEVICE} 2>/dev/null | grep " UP " >/dev/null 2>&1 ;
then
---
> if ifconfig ${DEVICE} 2>/dev/null | grep UP >/dev/null 2>&1 ; then
78c55
< else
---
> else
80d56
< fi
111,115c87
< if [ "$GATEWAY" = "0.0.0.0" ]; then
< /sbin/route add default ${GATEWAYDEV}
< else
< /sbin/route add default gw ${GATEWAY} ${GATEWAYDEV}
< fi
---
> /sbin/route add default gw ${GATEWAY} ${GATEWAYDEV}
The fix proposed by corlet 2001-05-07 18:07:33 does not work for me. The files in /var/run/netreport don't get deleted, but for some reason the SIGIO signal is not sent to rp3. If I send the signal manually (ie look up the pid using "ps aux" or look in /var/run/netreport) and do "/bin/kill -SIGIO pid" then the GUI comes around and does its thing. After hanging up, I need to send that signal again, to make the GUI realise that the connection is down. (I haven't tried running rp3 as root.) There is still a problem with the famous line in the do_netreport
function in /etc/sysconfig/network-scripts/network-functions. The
problem is that the redirections of stdout and stderr are written in
the syntax of a particular shell (bash), but the su command invokes
the shell specified by the user. This results in a failure if the user
uses eg the tcsh. To fix the problem, tell su to always use bash:
su $OWNER -s /bin/bash -c "kill -SIGIO $i > /dev/null 2>&1 || \
rm -f $i >/dev/null 2>&1" > /dev/null 2>&1
This fixed the problem for me. Also, I suspect it accounts for the
fact that the previous fix only worked for some people (those using
bash) and why rp3 would work if called as root (because root used the
bash shell).
|