Re: Diald Problems....
In article <[🔎] 199701131745.JAA14695@mercury.uniserve.com>, Kevin Traas
<ktraas@uniserve.com> wrote:
|| Although things work, I do have some strange messages appearing in
|| /var/log/messages. Although things seem to be working okay, I think
|| they're probably something that should be looked into. Can you "shed any
|| light" on this?
[Log cut]
|| So, I'm quite happy in that things are working; however, I feel I should be
|| concerned about the "PPP network layer died, but link did not. Probable
|| configuration error." messages and how the sequence repeats 3 or 4
|| times....
I think you mentioned in another message that you were using diald
0.14-8. This looks suspiciouly like the bug in diald I posted a fix for
(in linux.dev.diald). Here it is again. It's supposed to be fixed in
diald 0.15, but I haven't looked yet. The bug's no problem if you don't
use ip-up, I think, but if you do use ip-up, you had better apply the
patch. Or upgrade to diald 0.15, last version. :-)
Cheers. Vincent.
------------------------------------------------------------------------
EFFECT
The best noticeable effect of the bug is multiple spawns of the ip-up
script, usually shortly after connection setup.
CAUSE
When diald receives a packet on the proxy device while PPP ought to be
up, it suspects that PPP has gone down again. It checks this assumption
by reading the output of "route -n". If this output indeed shows PPP
to be down, diald waits for PPP to come back up.
The bug causes diald to fail to detect the PPP interface in the "route
-n" output. Hence, it assumes wrongly that PPP is down. When it
later detects that PPP is up, it re-spawns the ip-up script, which is
superfluous since PPP actually never was down.
PATCH (what you've all been waiting for :-)
This patch was made for the Debian source distribution of diald-0.14.
--- ppp.c.orig Thu Apr 4 13:36:52 1996
+++ ppp.c Thu Sep 5 21:40:36 1996
@@ -200,7 +200,7 @@ int ppp_route_exists()
}
while (fgets(buf,128,fp)) {
- if (sscanf(buf,"%*s %*s %*s %*s %*s %*s %*s ppp%d",&device) == 8) {
+ if (sscanf(buf,"%*s %*s %*s %*s %*s %*s %*s ppp%d",&device) == 1) {
if (device == link_iface) found = 1;
}
}
--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-user-REQUEST@lists.debian.org . Trouble? e-mail to Bruce@Pixar.com
Reply to: