version 1.285, 2016/07/11 21:38:13 |
version 1.286, 2016/07/23 02:54:08 |
|
|
/* Flag indicating that no shell has been requested */ |
/* Flag indicating that no shell has been requested */ |
extern int no_shell_flag; |
extern int no_shell_flag; |
|
|
|
/* Flag indicating that ssh should daemonise after authentication is complete */ |
|
extern int fork_after_authentication_flag; |
|
|
/* Control socket */ |
/* Control socket */ |
extern int muxserver_sock; /* XXX use mux_client_cleanup() instead */ |
extern int muxserver_sock; /* XXX use mux_client_cleanup() instead */ |
|
|
|
|
debug("Entering interactive session."); |
debug("Entering interactive session."); |
|
|
if (options.control_master && |
if (options.control_master && |
! option_clear_or_none(options.control_path)) { |
!option_clear_or_none(options.control_path)) { |
debug("pledge: id"); |
debug("pledge: id"); |
if (pledge("stdio rpath wpath cpath unix inet dns recvfd proc exec id tty", |
if (pledge("stdio rpath wpath cpath unix inet dns recvfd proc exec id tty", |
NULL) == -1) |
NULL) == -1) |
|
|
NULL) == -1) |
NULL) == -1) |
fatal("%s pledge(): %s", __func__, strerror(errno)); |
fatal("%s pledge(): %s", __func__, strerror(errno)); |
|
|
} else if (! option_clear_or_none(options.proxy_command)) { |
} else if (!option_clear_or_none(options.proxy_command) || |
|
fork_after_authentication_flag) { |
debug("pledge: proc"); |
debug("pledge: proc"); |
if (pledge("stdio cpath unix inet dns proc tty", NULL) == -1) |
if (pledge("stdio cpath unix inet dns proc tty", NULL) == -1) |
fatal("%s pledge(): %s", __func__, strerror(errno)); |
fatal("%s pledge(): %s", __func__, strerror(errno)); |