***********************************************************************/
static char const RCSID[] =
-"$Id: discovery.c,v 1.1 2001/12/14 02:55:20 mostrows 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;
}
do {
padiAttempts++;
if (padiAttempts > MAX_PADI_ATTEMPTS) {
- rp_fatal("Timeout waiting for PADO packets");
+ warn("Timeout waiting for PADO packets");
+ close(conn->discoverySocket);
+ conn->discoverySocket = -1;
+ return;
}
sendPADI(conn);
conn->discoveryState = STATE_SENT_PADI;
/* If we're only printing access concentrator names, we're done */
if (conn->printACNames) {
- printf("--------------------------------------------------\n");
- exit(0);
+ die(0);
}
timeout = PADI_TIMEOUT;
do {
padrAttempts++;
if (padrAttempts > MAX_PADI_ATTEMPTS) {
- rp_fatal("Timeout waiting for PADS packets");
+ warn("Timeout waiting for PADS packets");
+ close(conn->discoverySocket);
+ conn->discoverySocket = -1;
+ return;
}
sendPADR(conn);
conn->discoveryState = STATE_SENT_PADR;