File ppp-2.4.3-demand-fix.diff of Package ppp

--- pppd/auth.c
+++ pppd/auth.c
@@ -546,6 +546,8 @@
     int unit;
 {
     char *msg;
+    if (phase == PHASE_DISCONNECT) /* we are called via link_terminated, must be ignored */
+       return;
 
     new_phase(PHASE_SERIALCONN);
 
@@ -658,6 +660,7 @@
 	the_channel->disconnect();
 	devfd = -1;
     }
+    /* not only disconnect, cleanup should also be called to close the devices */
     if (the_channel->cleanup)
 	(*the_channel->cleanup)();
 
openSUSE Build Service is sponsored by