mirror of git://anongit.mindrot.org/openssh.git
- djm@cvs.openbsd.org 2014/07/17 00:10:18
[mux.c] preserve errno across syscall
This commit is contained in:
parent
1b83320628
commit
f42f7684ec
|
@ -22,6 +22,9 @@
|
|||
- djm@cvs.openbsd.org 2014/07/17 00:10:56
|
||||
[sandbox-systrace.c]
|
||||
ifdef SYS_sendsyslog so this will compile without patching on -stable
|
||||
- djm@cvs.openbsd.org 2014/07/17 00:10:18
|
||||
[mux.c]
|
||||
preserve errno across syscall
|
||||
|
||||
20140717
|
||||
- (djm) [digest-openssl.c] Preserve array order when disabling digests.
|
||||
|
|
6
mux.c
6
mux.c
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: mux.c,v 1.46 2014/07/15 15:54:14 millert Exp $ */
|
||||
/* $OpenBSD: mux.c,v 1.47 2014/07/17 00:10:18 djm Exp $ */
|
||||
/*
|
||||
* Copyright (c) 2002-2008 Damien Miller <djm@openbsd.org>
|
||||
*
|
||||
|
@ -1177,6 +1177,7 @@ muxserver_listen(void)
|
|||
char *orig_control_path = options.control_path;
|
||||
char rbuf[16+1];
|
||||
u_int i, r;
|
||||
int oerrno;
|
||||
|
||||
if (options.control_path == NULL ||
|
||||
options.control_master == SSHCTL_MASTER_NO)
|
||||
|
@ -1203,9 +1204,10 @@ muxserver_listen(void)
|
|||
|
||||
old_umask = umask(0177);
|
||||
muxserver_sock = unix_listener(options.control_path, 64, 0);
|
||||
oerrno = errno;
|
||||
umask(old_umask);
|
||||
if (muxserver_sock < 0) {
|
||||
if (errno == EINVAL || errno == EADDRINUSE) {
|
||||
if (oerrno == EINVAL || oerrno == EADDRINUSE) {
|
||||
error("ControlSocket %s already exists, "
|
||||
"disabling multiplexing", options.control_path);
|
||||
disable_mux_master:
|
||||
|
|
Loading…
Reference in New Issue