]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/sys-bsd.c
remove typo, get ethernet hw address using arp request
[ppp.git] / pppd / sys-bsd.c
index 0e64dcd364cbffd197291d326acb590f69c0fce4..4239d0fc8dc2628f0dfda3b2cfd85e585eb77a19 100644 (file)
@@ -21,7 +21,7 @@
  */
 
 #ifndef lint
-static char rcsid[] = "$Id: sys-bsd.c,v 1.31 1998/04/02 12:04:19 paulus Exp $";
+static char rcsid[] = "$Id: sys-bsd.c,v 1.34 1998/11/07 06:59:30 paulus Exp $";
 /*     $NetBSD: sys-bsd.c,v 1.1.1.3 1997/09/26 18:53:04 christos Exp $ */
 #endif
 
@@ -159,9 +159,16 @@ sys_close()
 /*
  * sys_check_options - check the options that the user specified
  */
-void
+int
 sys_check_options()
 {
+#ifndef CDTRCTS
+    if (crtscts == 2) {
+       syslog(LOG_WARNING, "DTR/CTS flow control is not supported on this system");
+       return 0;
+    }
+#endif
+    return 1;
 }
 
 /*
@@ -385,10 +392,19 @@ set_up_tty(fd, local)
     }
 
     tios.c_cflag &= ~(CSIZE | CSTOPB | PARENB | CLOCAL);
-    if (crtscts > 0 && !local)
-       tios.c_cflag |= CRTSCTS;
-    else if (crtscts < 0)
+    if (crtscts > 0 && !local) {
+        if (crtscts == 2) {
+#ifdef CDTRCTS
+            tios.c_cflag |= CDTRCTS;
+#endif
+       } else
+           tios.c_cflag |= CRTSCTS;
+    } else if (crtscts < 0) {
        tios.c_cflag &= ~CRTSCTS;
+#ifdef CDTRCTS
+       tios.c_cflag &= ~CDTRCTS;
+#endif
+    }
 
     tios.c_cflag |= CS8 | CREAD | HUPCL;
     if (local || !modem)
@@ -1060,7 +1076,7 @@ dodefaultroute(g, cmd)
 
     memset(&rtmsg, 0, sizeof(rtmsg));
     rtmsg.hdr.rtm_type = cmd == 's'? RTM_ADD: RTM_DELETE;
-    rtmsg.hdr.rtm_flags = RTF_UP | RTF_GATEWAY;
+    rtmsg.hdr.rtm_flags = RTF_UP | RTF_GATEWAY | RTF_STATIC;
     rtmsg.hdr.rtm_version = RTM_VERSION;
     rtmsg.hdr.rtm_seq = ++rtm_seq;
     rtmsg.hdr.rtm_addrs = RTA_DST | RTA_GATEWAY | RTA_NETMASK;