X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Fipcp.c;h=fee6757439d76df99299c58f2312c9be1059639a;hb=f4359362fc3b55c4668b31bc6e56a0365156147b;hp=5752dd66581ad7cc6c4fe52850a51d2a7f8cb38b;hpb=2db4a9ae219399e01d11af9e219193d54288a35c;p=ppp.git diff --git a/pppd/ipcp.c b/pppd/ipcp.c index 5752dd6..fee6757 100644 --- a/pppd/ipcp.c +++ b/pppd/ipcp.c @@ -18,7 +18,7 @@ */ #ifndef lint -static char rcsid[] = "$Id: ipcp.c,v 1.30 1997/03/04 03:39:10 paulus Exp $"; +static char rcsid[] = "$Id: ipcp.c,v 1.33 1998/03/25 03:08:47 paulus Exp $"; #endif /* @@ -604,7 +604,7 @@ ipcp_nakci(f, p, len) no.neg_vj = 1; break; case CI_ADDRS: - if (go->neg_addr && go->old_addrs || no.old_addrs + if ((go->neg_addr && go->old_addrs) || no.old_addrs || cilen != CILEN_ADDRS) goto bad; try.neg_addr = 1; @@ -1085,10 +1085,12 @@ ip_check_options() option_error("remote IP address required for demand-dialling\n"); exit(1); } +#if 0 if (demand && wo->accept_remote) { option_error("ipcp-accept-remote is incompatible with demand\n"); exit(1); } +#endif } @@ -1155,6 +1157,8 @@ ipcp_up(f) ipcp_close(f->unit, "Could not determine local IP address"); return; } + script_setenv("IPLOCAL", ip_ntoa(go->ouraddr)); + script_setenv("IPREMOTE", ip_ntoa(ho->hisaddr)); /* * Check that the peer is allowed to use the IP address it wants. @@ -1269,8 +1273,6 @@ static void ipcp_down(f) fsm *f; { - u_int32_t ouraddr, hisaddr; - IPCPDEBUG((LOG_INFO, "ipcp: down")); np_down(f->unit, PPP_IP); sifvjcomp(f->unit, 0, 0, 0);