X-Git-Url: http://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=pppd%2Fipcp.c;h=fcf17b1e7472dcb4bc8c07c0b73827daf1e92c5f;hp=24452bff59efd9bec246551b6bae1f9791916a8a;hb=9fe8923419a954fedf8b6d1a6cc07b45f165c1ab;hpb=99578f2b8bc6592119868e5fbe6f723cf3640bc2 diff --git a/pppd/ipcp.c b/pppd/ipcp.c index 24452bf..fcf17b1 100644 --- a/pppd/ipcp.c +++ b/pppd/ipcp.c @@ -1760,6 +1760,12 @@ ipcp_up(fsm *f) /* * We must have a non-zero IP address for both ends of the link. */ + + if (wo->hisaddr && !wo->accept_remote && (!(ho->neg_addr || ho->old_addrs) || ho->hisaddr != wo->hisaddr)) { + error("Peer refused to agree to his IP address"); + ipcp_close(f->unit, "Refused his IP address"); + return; + } if (!ho->neg_addr && !ho->old_addrs) ho->hisaddr = wo->hisaddr;