]> andersk Git - openssh.git/commitdiff
- markus@cvs.openbsd.org 2001/03/23 14:28:32
authormouring <mouring>
Sat, 24 Mar 2001 00:43:26 +0000 (00:43 +0000)
committermouring <mouring>
Sat, 24 Mar 2001 00:43:26 +0000 (00:43 +0000)
     [session.c sshd.c]
     ignore SIGPIPE, restore in child, fixes x11-fwd crashes; with djm@

ChangeLog
session.c
sshd.c

index b37c7e7be418f0e5e59e99b0ace4115dfb4a8252..e2ae8926f6c3a6c59bf167df34f474a8a89c6f36 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -10,6 +10,9 @@
    - markus@cvs.openbsd.org 2001/03/23 13:10:57
      [sftp-int.c]
      fix put, upload to _absolute_ path, ok djm@
+   - markus@cvs.openbsd.org 2001/03/23 14:28:32
+     [session.c sshd.c]
+     ignore SIGPIPE, restore in child, fixes x11-fwd crashes; with djm@
 
 20010323
  - OpenBSD CVS Sync                             
index 3ec97d0d1035d05d7f8f668974bba57419826670..13fe018701332f56c7da2abb778ff065e75b1a2d 100644 (file)
--- a/session.c
+++ b/session.c
@@ -33,7 +33,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: session.c,v 1.66 2001/03/21 21:06:30 markus Exp $");
+RCSID("$OpenBSD: session.c,v 1.67 2001/03/23 14:28:32 markus Exp $");
 
 #include "ssh.h"
 #include "ssh1.h"
@@ -1427,6 +1427,10 @@ do_child(Session *s, const char *command)
                else
                        cp = shell;
        }
+
+       /* restore SIGPIPE for child */
+       signal(SIGPIPE,  SIG_DFL);
+
        /*
         * If we have no command, execute the shell.  In this case, the shell
         * name to be passed in argv[0] is preceded by '-' to indicate that
diff --git a/sshd.c b/sshd.c
index a12e9211fc86ece2c0a49937bc4bd5c66ad6abae..0ac78cbafa8e34975ce7b964004b20231307308e 100644 (file)
--- a/sshd.c
+++ b/sshd.c
@@ -40,7 +40,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: sshd.c,v 1.177 2001/03/23 11:04:07 djm Exp $");
+RCSID("$OpenBSD: sshd.c,v 1.178 2001/03/23 14:28:32 markus Exp $");
 
 #include <openssl/dh.h>
 #include <openssl/bn.h>
@@ -809,6 +809,9 @@ main(int ac, char **av)
        /* Chdir to the root directory so that the current disk can be
           unmounted if desired. */
        chdir("/");
+       
+       /* ignore SIGPIPE */
+       signal(SIGPIPE, SIG_IGN);
 
        /* Start listening for a socket, unless started from inetd. */
        if (inetd_flag) {
This page took 0.096809 seconds and 5 git commands to generate.