]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/main.c
added stuff to print packets in readable form
[ppp.git] / pppd / main.c
index 4e1e3de522e4ea4dda2dabd9a600e826b4cc4ffa..3172485a23e77d025cfc9c18cdf972a44c3d4910 100644 (file)
@@ -18,7 +18,7 @@
  */
 
 #ifndef lint
-static char rcsid[] = "$Id: main.c,v 1.2 1993/11/23 23:40:53 paulus Exp $";
+static char rcsid[] = "$Id: main.c,v 1.5 1994/01/10 00:18:59 paulus Exp $";
 #endif
 
 #define SETSID
@@ -223,6 +223,11 @@ main(argc, argv)
 
     pid = getpid();
 
+    if (!ppp_available()) {
+       fprintf(stderr, "Sorry - PPP is not available on this system\n");
+       exit(1);
+    }
+
     /*
      * Initialize to the standard option set, then parse, in order,
      * the system options file, the user's options file, and the command
@@ -259,8 +264,6 @@ main(argc, argv)
            syslog(LOG_ERR, "getpgrp(0): %m");
            die(1);
        }
-       if (pgrpid != pid) 
-           syslog(LOG_WARNING, "warning... not a process group leader");
 
     } else {
        /*
@@ -336,7 +339,16 @@ main(argc, argv)
 
     signal(SIGUSR1, incdebug);         /* Increment debug flag */
     signal(SIGUSR2, nodebug);          /* Reset debug flag */
-  
+
+    /*
+     * Block SIGIOs and SIGPOLLs for now
+     */
+    sigemptyset(&mask);
+    sigaddset(&mask, SIGIO);
+#ifdef STREAMS
+    sigaddset(&mask, SIGPOLL);
+#endif
+    sigprocmask(SIG_BLOCK, &mask, NULL);
 
     /*
      * Open the serial device and set it up to be the ppp interface.
@@ -394,14 +406,14 @@ main(argc, argv)
     }
 
     /*
-     * Set process group of device to our process group so we can get SIGIOs.
+     * Set process group of device to our process group so we can get
+     * SIGIOs and SIGHUPs.
      */
 #ifdef SETSID
     if (default_device) {
        int id = tcgetpgrp(fd);
        if (id != pgrpid) {
-           syslog(LOG_WARNING,
-                  "warning: not foreground process group leader");
+           syslog(LOG_WARNING, "warning: not in tty's process group");
        }
     } else {
        if (tcsetpgrp(fd, pgrpid) < 0) {