***********************************************************************/
static char const RCSID[] =
-"$Id: discovery.c,v 1.2 2004/01/13 04:03:58 paulus Exp $";
+"$Id: discovery.c,v 1.3 2004/11/04 10:07:37 paulus Exp $";
#include "pppoe.h"
/* Skip discovery? */
if (conn->skipDiscovery) {
conn->discoveryState = STATE_SESSION;
- if (conn->killSession) {
- sendPADT(conn, "RP-PPPoE: Session killed manually");
- exit(0);
- }
return;
}
padiAttempts++;
if (padiAttempts > MAX_PADI_ATTEMPTS) {
warn("Timeout waiting for PADO packets");
+ close(conn->discoverySocket);
+ conn->discoverySocket = -1;
return;
}
sendPADI(conn);
/* If we're only printing access concentrator names, we're done */
if (conn->printACNames) {
- printf("--------------------------------------------------\n");
- exit(0);
+ die(0);
}
timeout = PADI_TIMEOUT;
padrAttempts++;
if (padrAttempts > MAX_PADI_ATTEMPTS) {
warn("Timeout waiting for PADS packets");
+ close(conn->discoverySocket);
+ conn->discoverySocket = -1;
return;
}
sendPADR(conn);