*/
#ifndef lint
-static char rcsid[] = "$Id: ipcp.c,v 1.16 1995/04/26 06:46:50 paulus Exp $";
+static char rcsid[] = "$Id: ipcp.c,v 1.17 1995/04/28 06:24:53 paulus Exp $";
#endif
/*
case CI_ADDR:
if (go->neg_addr || no.neg_addr || cilen != CILEN_ADDR)
goto bad;
- try.neg_addr = 1;
try.old_addrs = 0;
GETLONG(l, p);
ciaddr1 = htonl(l);
if (ciaddr1 && go->accept_local)
try.ouraddr = ciaddr1;
- no.neg_addr = 1;
+ if (try.ouraddr != 0)
+ no.neg_addr = 1;
break;
default:
goto bad;
* If neither we nor he knows his address, reject the option.
*/
orc = CONFREJ;
+ wo->req_addr = 0; /* don't NAK with 0.0.0.0 later */
break;
}
* Don't ACK an address of 0.0.0.0 - reject it instead.
*/
orc = CONFREJ;
+ wo->req_addr = 0; /* don't NAK with 0.0.0.0 later */
break;
}