forked from rpms/openssh
set FD_CLOEXEC on accepted socket
This commit is contained in:
parent
37c0ae034e
commit
3131004032
@ -1,6 +1,6 @@
|
|||||||
diff -up openssh-5.1p1/channels.c.cloexec openssh-5.1p1/channels.c
|
diff -up openssh-5.3p1/channels.c.cloexec openssh-5.3p1/channels.c
|
||||||
--- openssh-5.1p1/channels.c.cloexec 2008-12-11 22:24:49.000000000 +0100
|
--- openssh-5.3p1/channels.c.cloexec 2010-01-19 09:26:50.000000000 +0100
|
||||||
+++ openssh-5.1p1/channels.c 2008-12-11 22:29:52.000000000 +0100
|
+++ openssh-5.3p1/channels.c 2010-01-19 09:26:51.000000000 +0100
|
||||||
@@ -60,6 +60,7 @@
|
@@ -60,6 +60,7 @@
|
||||||
#include <termios.h>
|
#include <termios.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
@ -28,10 +28,10 @@ diff -up openssh-5.1p1/channels.c.cloexec openssh-5.1p1/channels.c
|
|||||||
c->rfd = rfd;
|
c->rfd = rfd;
|
||||||
c->wfd = wfd;
|
c->wfd = wfd;
|
||||||
c->sock = (rfd == wfd) ? rfd : -1;
|
c->sock = (rfd == wfd) ? rfd : -1;
|
||||||
diff -up openssh-5.1p1/sshconnect2.c.cloexec openssh-5.1p1/sshconnect2.c
|
diff -up openssh-5.3p1/sshconnect2.c.cloexec openssh-5.3p1/sshconnect2.c
|
||||||
--- openssh-5.1p1/sshconnect2.c.cloexec 2008-12-11 22:24:49.000000000 +0100
|
--- openssh-5.3p1/sshconnect2.c.cloexec 2010-01-19 09:26:50.000000000 +0100
|
||||||
+++ openssh-5.1p1/sshconnect2.c 2008-12-11 22:24:49.000000000 +0100
|
+++ openssh-5.3p1/sshconnect2.c 2010-01-19 09:26:51.000000000 +0100
|
||||||
@@ -38,6 +38,7 @@
|
@@ -39,6 +39,7 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
@ -39,7 +39,7 @@ diff -up openssh-5.1p1/sshconnect2.c.cloexec openssh-5.1p1/sshconnect2.c
|
|||||||
#if defined(HAVE_STRNVIS) && defined(HAVE_VIS_H)
|
#if defined(HAVE_STRNVIS) && defined(HAVE_VIS_H)
|
||||||
#include <vis.h>
|
#include <vis.h>
|
||||||
#endif
|
#endif
|
||||||
@@ -1267,6 +1268,7 @@ ssh_keysign(Key *key, u_char **sigp, u_i
|
@@ -1512,6 +1513,7 @@ ssh_keysign(Key *key, u_char **sigp, u_i
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (pid == 0) {
|
if (pid == 0) {
|
||||||
@ -47,9 +47,9 @@ diff -up openssh-5.1p1/sshconnect2.c.cloexec openssh-5.1p1/sshconnect2.c
|
|||||||
permanently_drop_suid(getuid());
|
permanently_drop_suid(getuid());
|
||||||
close(from[0]);
|
close(from[0]);
|
||||||
if (dup2(from[1], STDOUT_FILENO) < 0)
|
if (dup2(from[1], STDOUT_FILENO) < 0)
|
||||||
diff -up openssh-5.1p1/sshconnect.c.cloexec openssh-5.1p1/sshconnect.c
|
diff -up openssh-5.3p1/sshconnect.c.cloexec openssh-5.3p1/sshconnect.c
|
||||||
--- openssh-5.1p1/sshconnect.c.cloexec 2008-07-02 14:34:30.000000000 +0200
|
--- openssh-5.3p1/sshconnect.c.cloexec 2009-06-21 10:53:53.000000000 +0200
|
||||||
+++ openssh-5.1p1/sshconnect.c 2008-12-11 22:24:49.000000000 +0100
|
+++ openssh-5.3p1/sshconnect.c 2010-01-19 09:26:51.000000000 +0100
|
||||||
@@ -38,6 +38,7 @@
|
@@ -38,6 +38,7 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@ -58,7 +58,7 @@ diff -up openssh-5.1p1/sshconnect.c.cloexec openssh-5.1p1/sshconnect.c
|
|||||||
|
|
||||||
#include "xmalloc.h"
|
#include "xmalloc.h"
|
||||||
#include "key.h"
|
#include "key.h"
|
||||||
@@ -194,8 +195,11 @@ ssh_create_socket(int privileged, struct
|
@@ -191,8 +192,11 @@ ssh_create_socket(int privileged, struct
|
||||||
return sock;
|
return sock;
|
||||||
}
|
}
|
||||||
sock = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
|
sock = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
|
||||||
@ -71,3 +71,14 @@ diff -up openssh-5.1p1/sshconnect.c.cloexec openssh-5.1p1/sshconnect.c
|
|||||||
|
|
||||||
/* Bind the socket to an alternative local IP address */
|
/* Bind the socket to an alternative local IP address */
|
||||||
if (options.bind_address == NULL)
|
if (options.bind_address == NULL)
|
||||||
|
diff -up openssh-5.3p1/sshd.c.cloexec openssh-5.3p1/sshd.c
|
||||||
|
--- openssh-5.3p1/sshd.c.cloexec 2010-01-19 09:43:45.000000000 +0100
|
||||||
|
+++ openssh-5.3p1/sshd.c 2010-01-19 09:47:04.000000000 +0100
|
||||||
|
@@ -1105,6 +1105,7 @@ server_accept_loop(int *sock_in, int *so
|
||||||
|
error("accept: %.100s", strerror(errno));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
+ fcntl(*newsock, F_SETFD, FD_CLOEXEC);
|
||||||
|
if (unset_nonblock(*newsock) == -1) {
|
||||||
|
close(*newsock);
|
||||||
|
continue;
|
||||||
|
@ -69,7 +69,7 @@
|
|||||||
Summary: An open source implementation of SSH protocol versions 1 and 2
|
Summary: An open source implementation of SSH protocol versions 1 and 2
|
||||||
Name: openssh
|
Name: openssh
|
||||||
Version: 5.3p1
|
Version: 5.3p1
|
||||||
Release: 15%{?dist}%{?rescue_rel}
|
Release: 16%{?dist}%{?rescue_rel}
|
||||||
URL: http://www.openssh.com/portable.html
|
URL: http://www.openssh.com/portable.html
|
||||||
#URL1: http://pamsshauth.sourceforge.net
|
#URL1: http://pamsshauth.sourceforge.net
|
||||||
#Source0: ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-%{version}.tar.gz
|
#Source0: ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-%{version}.tar.gz
|
||||||
@ -525,6 +525,9 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Jan 19 2010 Jan F. Chadima <jchadima@redhat.com> - 5.3p1-16
|
||||||
|
- set FD_CLOEXEC on accepted socket (#541809)
|
||||||
|
|
||||||
* Fri Jan 8 2010 Jan F. Chadima <jchadima@redhat.com> - 5.3p1-15
|
* Fri Jan 8 2010 Jan F. Chadima <jchadima@redhat.com> - 5.3p1-15
|
||||||
- replaced define by global in macros
|
- replaced define by global in macros
|
||||||
|
|
||||||
@ -1144,7 +1147,7 @@ fi
|
|||||||
- update to 3.6.1p2
|
- update to 3.6.1p2
|
||||||
|
|
||||||
* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
|
* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
|
||||||
- rebuilt
|
6 rebuilt
|
||||||
|
|
||||||
* Mon Mar 24 2003 Florian La Roche <Florian.LaRoche@redhat.de>
|
* Mon Mar 24 2003 Florian La Roche <Florian.LaRoche@redhat.de>
|
||||||
- add patch for getsockopt() call to work on bigendian 64bit archs
|
- add patch for getsockopt() call to work on bigendian 64bit archs
|
||||||
|
Loading…
Reference in New Issue
Block a user