version 1.264, 2020/09/18 08:16:38 |
version 1.265, 2020/10/03 09:22:26 |
|
|
main(int ac, char **av) |
main(int ac, char **av) |
{ |
{ |
int c_flag = 0, d_flag = 0, D_flag = 0, k_flag = 0, s_flag = 0; |
int c_flag = 0, d_flag = 0, D_flag = 0, k_flag = 0, s_flag = 0; |
int sock, fd, ch, result, saved_errno; |
int sock, ch, result, saved_errno; |
char *shell, *format, *pidstr, *agentsocket = NULL; |
char *shell, *format, *pidstr, *agentsocket = NULL; |
struct rlimit rlim; |
struct rlimit rlim; |
extern int optind; |
extern int optind; |
|
|
} |
} |
|
|
(void)chdir("/"); |
(void)chdir("/"); |
if ((fd = open(_PATH_DEVNULL, O_RDWR, 0)) != -1) { |
if (stdfd_devnull(1, 1, 1) == -1) |
/* XXX might close listen socket */ |
error("%s: stdfd_devnull failed", __func__); |
(void)dup2(fd, STDIN_FILENO); |
|
(void)dup2(fd, STDOUT_FILENO); |
|
(void)dup2(fd, STDERR_FILENO); |
|
if (fd > 2) |
|
close(fd); |
|
} |
|
|
|
/* deny core dumps, since memory contains unencrypted private keys */ |
/* deny core dumps, since memory contains unencrypted private keys */ |
rlim.rlim_cur = rlim.rlim_max = 0; |
rlim.rlim_cur = rlim.rlim_max = 0; |