]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/ipcp.c
set script env vars for local and remote IP numbers
[ppp.git] / pppd / ipcp.c
index 5752dd66581ad7cc6c4fe52850a51d2a7f8cb38b..fee6757439d76df99299c58f2312c9be1059639a 100644 (file)
@@ -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);