|
|
b01d5e |
--- a/tests/torture.c 2019-06-28 14:01:52.936462964 +0200
|
|
|
b01d5e |
+++ b/tests/torture.c 2019-06-28 14:03:52.324325029 +0200
|
|
|
b01d5e |
@@ -854,7 +854,7 @@
|
|
|
b01d5e |
s = *state;
|
|
|
b01d5e |
|
|
|
b01d5e |
snprintf(sshd_start_cmd, sizeof(sshd_start_cmd),
|
|
|
b01d5e |
- "/usr/sbin/sshd -r -f %s -E %s/sshd/daemon.log 2> %s/sshd/cwrap.log",
|
|
|
b01d5e |
+ "runcon -t sshd_t -u system_u -r system_r /usr/sbin/sshd -r -f %s -E %s/sshd/daemon.log 2> %s/sshd/cwrap.log",
|
|
|
b01d5e |
s->srv_config, s->socket_dir, s->socket_dir);
|
|
|
b01d5e |
|
|
|
b01d5e |
rc = system(sshd_start_cmd);
|
|
|
b01d5e |
@@ -864,7 +864,7 @@
|
|
|
b01d5e |
unsetenv("PAM_WRAPPER");
|
|
|
b01d5e |
|
|
|
b01d5e |
/* Wait until the sshd is ready to accept connections */
|
|
|
b01d5e |
- rc = torture_wait_for_daemon(5);
|
|
|
b01d5e |
+ rc = torture_wait_for_daemon(10);
|
|
|
b01d5e |
assert_int_equal(rc, 0);
|
|
|
b01d5e |
}
|
|
|
b01d5e |
|
|
|
b01d5e |
@@ -904,27 +904,32 @@
|
|
|
b01d5e |
torture_reload_sshd_server(void **state)
|
|
|
b01d5e |
{
|
|
|
b01d5e |
struct torture_state *s = *state;
|
|
|
b01d5e |
- pid_t pid;
|
|
|
b01d5e |
+ char sshd_start_cmd[1024];
|
|
|
b01d5e |
int rc;
|
|
|
b01d5e |
|
|
|
b01d5e |
- /* read the pidfile */
|
|
|
b01d5e |
- pid = torture_read_pidfile(s->srv_pidfile);
|
|
|
b01d5e |
- assert_int_not_equal(pid, -1);
|
|
|
b01d5e |
+ rc = torture_terminate_process(s->srv_pidfile);
|
|
|
b01d5e |
+ if (rc != 0) {
|
|
|
b01d5e |
+ fprintf(stderr, "XXXXXX Failed to terminate sshd\n");
|
|
|
b01d5e |
+ }
|
|
|
b01d5e |
|
|
|
b01d5e |
- kill(pid, SIGHUP);
|
|
|
b01d5e |
+ usleep(100 * 1000);
|
|
|
b01d5e |
|
|
|
b01d5e |
- /* 10 ms */
|
|
|
b01d5e |
- usleep(10 * 1000);
|
|
|
b01d5e |
+ /* Set the default interface for the server */
|
|
|
b01d5e |
+ setenv("SOCKET_WRAPPER_DEFAULT_IFACE", "10", 1);
|
|
|
b01d5e |
+ setenv("PAM_WRAPPER", "1", 1);
|
|
|
b01d5e |
|
|
|
b01d5e |
- rc = kill(pid, 0);
|
|
|
b01d5e |
- if (rc != 0) {
|
|
|
b01d5e |
- fprintf(stderr,
|
|
|
b01d5e |
- "ERROR: SSHD process %u died during reload!\n", pid);
|
|
|
b01d5e |
- return SSH_ERROR;
|
|
|
b01d5e |
- }
|
|
|
b01d5e |
+ snprintf(sshd_start_cmd, sizeof(sshd_start_cmd),
|
|
|
b01d5e |
+ "runcon -t sshd_t -u system_u -r system_r /usr/sbin/sshd -r -f %s -E %s/sshd/daemon.log 2> %s/sshd/cwrap.log",
|
|
|
b01d5e |
+ s->srv_config, s->socket_dir, s->socket_dir);
|
|
|
b01d5e |
+
|
|
|
b01d5e |
+ rc = system(sshd_start_cmd);
|
|
|
b01d5e |
+ assert_return_code(rc, errno);
|
|
|
b01d5e |
+
|
|
|
b01d5e |
+ setenv("SOCKET_WRAPPER_DEFAULT_IFACE", "21", 1);
|
|
|
b01d5e |
+ unsetenv("PAM_WRAPPER");
|
|
|
b01d5e |
|
|
|
b01d5e |
/* Wait until the sshd is ready to accept connections */
|
|
|
b01d5e |
- rc = torture_wait_for_daemon(5);
|
|
|
b01d5e |
+ rc = torture_wait_for_daemon(10);
|
|
|
b01d5e |
assert_int_equal(rc, 0);
|
|
|
b01d5e |
return SSH_OK;
|
|
|
b01d5e |
}
|