]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/tty.c
Don't change serial port permissions under Linux, since the
[ppp.git] / pppd / tty.c
index 9fa0326cb0ca2d438eb181289d8cd3b0849b3d1b..d6026981613a67e736062e4f30a7cd50ed52e822 100644 (file)
@@ -73,7 +73,7 @@
  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-#define RCSID  "$Id: tty.c,v 1.11 2003/03/03 05:11:46 paulus Exp $"
+#define RCSID  "$Id: tty.c,v 1.13 2004/01/13 04:17:59 paulus Exp $"
 
 #include <stdio.h>
 #include <ctype.h>
@@ -108,7 +108,7 @@ int  connect_tty __P((void));
 void disconnect_tty __P((void));
 void tty_close_fds __P((void));
 void cleanup_tty __P((void));
-int  tty_do_send_config __P((int, u_int32_t, int, int));
+void tty_do_send_config __P((int, u_int32_t, int, int));
 
 static int setdevname __P((char *, char **, int));
 static int setspeed __P((char *, char **, int));
@@ -580,6 +580,11 @@ int connect_tty()
                    || fcntl(ttyfd, F_SETFL, fdflags & ~O_NONBLOCK) < 0)
                        warn("Couldn't reset non-blocking mode on device: %m");
 
+#ifndef __linux__
+               /*
+                * Linux 2.4 and above blocks normal writes to the tty
+                * when it is in PPP line discipline, so this isn't needed.
+                */
                /*
                 * Do the equivalent of `mesg n' to stop broadcast messages.
                 */
@@ -588,6 +593,7 @@ int connect_tty()
                        warn("Couldn't restrict write permissions to %s: %m", devnam);
                } else
                        tty_mode = statbuf.st_mode;
+#endif /* __linux__ */
 
                /*
                 * Set line speed, flow control, etc.
@@ -772,14 +778,14 @@ void cleanup_tty()
  * tty_do_send_config - set transmit-side PPP configuration.
  * We set the extended transmit ACCM here as well.
  */
-int
+void
 tty_do_send_config(mtu, accm, pcomp, accomp)
     int mtu;
     u_int32_t accm;
     int pcomp, accomp;
 {
        tty_set_xaccm(xmit_accm);
-       return tty_send_config(mtu, accm, pcomp, accomp);
+       tty_send_config(mtu, accm, pcomp, accomp);
 }
 
 /*
@@ -800,12 +806,14 @@ finish_tty()
 
        restore_tty(real_ttyfd);
 
+#ifndef __linux__
        if (tty_mode != (mode_t) -1) {
                if (fchmod(real_ttyfd, tty_mode) != 0) {
                        /* XXX if devnam is a symlink, this will change the link */
                        chmod(devnam, tty_mode);
                }
        }
+#endif /* __linux__ */
 
        close(real_ttyfd);
        real_ttyfd = -1;