FreeBSD Port: pppd23-2.3.11

ZOleg zoleg at buryatia.ru
Wed Apr 21 19:25:47 PDT 2004


Привет!
Засылаю тебе патчик для pppd-2.3.11 - без него демон не стартует на 
фряхе 5.2.1, на 4.х не проверял.
Кстати, когда 2.4.2 портируешь?

Удачи!!!
Z. Oleg


-------------- next part --------------
diff -ruN ppp-2.3.11.orig/pppd/sys-bsd.c ppp-2.3.11/pppd/sys-bsd.c
--- pppd/sys-bsd.c	Tue Aug 24 14:25:54 1999
+++ pppd/sys-bsd.c	Thu Apr 22 10:40:42 2004
@@ -180,22 +180,22 @@
 int
 ppp_available()
 {
-    int s, ok;
-    struct ifreq ifr;
+    const char *modname = "if_ppp";
     extern char *no_ppp_msg;
 
-    if ((s = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
-	return 1;		/* can't tell */
+    if (modfind(modname) != -1) {
+	return 1;
+    }
 
-    strlcpy(ifr.ifr_name, "ppp0", sizeof (ifr.ifr_name));
-    ok = ioctl(s, SIOCGIFFLAGS, (caddr_t) &ifr) >= 0;
-    close(s);
+    if (getuid() == 0 && kldload(modname) != -1)
+	return 1;
 
     no_ppp_msg = "\
 This system lacks kernel support for PPP.  To include PPP support\n\
-in the kernel, please follow the steps detailed in the README.bsd\n\
-file in the ppp-2.2 distribution.\n";
-    return ok;
+in the kernel, please add \"device ppp\" to your kernel config or \n\
+load the if_ppp module.\n";
+
+    return 0;
 }
 
 /*


More information about the freebsd-ports mailing list