version 1.46, 2014/07/15 15:54:14 |
version 1.47, 2014/07/17 00:10:18 |
|
|
char *orig_control_path = options.control_path; |
char *orig_control_path = options.control_path; |
char rbuf[16+1]; |
char rbuf[16+1]; |
u_int i, r; |
u_int i, r; |
|
int oerrno; |
|
|
if (options.control_path == NULL || |
if (options.control_path == NULL || |
options.control_master == SSHCTL_MASTER_NO) |
options.control_master == SSHCTL_MASTER_NO) |
|
|
|
|
old_umask = umask(0177); |
old_umask = umask(0177); |
muxserver_sock = unix_listener(options.control_path, 64, 0); |
muxserver_sock = unix_listener(options.control_path, 64, 0); |
|
oerrno = errno; |
umask(old_umask); |
umask(old_umask); |
if (muxserver_sock < 0) { |
if (muxserver_sock < 0) { |
if (errno == EINVAL || errno == EADDRINUSE) { |
if (oerrno == EINVAL || oerrno == EADDRINUSE) { |
error("ControlSocket %s already exists, " |
error("ControlSocket %s already exists, " |
"disabling multiplexing", options.control_path); |
"disabling multiplexing", options.control_path); |
disable_mux_master: |
disable_mux_master: |