1
1

tests: Fix torture_server_x11().

Этот коммит содержится в:
Andreas Schneider 2015-01-21 09:19:30 +01:00
родитель 6b7f275c32
Коммит f6a50aff4c
3 изменённых файлов: 30 добавлений и 4 удалений

Просмотреть файл

@ -331,6 +331,11 @@ ssh_session torture_ssh_session(const char *host,
return NULL;
}
rc = ssh_options_set(session, SSH_OPTIONS_SSH_DIR, "/tmp");
if (rc < 0) {
goto failed;
}
if (ssh_options_set(session, SSH_OPTIONS_HOST, host) < 0) {
goto failed;
}
@ -397,9 +402,11 @@ failed:
ssh_bind torture_ssh_bind(const char *addr,
const unsigned int port,
enum ssh_keytypes_e key_type,
const char *private_key_file) {
int rc;
ssh_bind sshbind = NULL;
enum ssh_bind_options_e opts = -1;
sshbind = ssh_bind_new();
if (sshbind == NULL) {
@ -416,8 +423,21 @@ ssh_bind torture_ssh_bind(const char *addr,
goto out_free;
}
rc = ssh_bind_options_set(sshbind, SSH_BIND_OPTIONS_HOSTKEY,
private_key_file);
switch (key_type) {
case SSH_KEYTYPE_DSS:
opts = SSH_BIND_OPTIONS_DSAKEY;
break;
case SSH_KEYTYPE_RSA:
opts = SSH_BIND_OPTIONS_RSAKEY;
break;
case SSH_KEYTYPE_ECDSA:
opts = SSH_BIND_OPTIONS_ECDSAKEY;
break;
default:
goto out_free;
}
rc = ssh_bind_options_set(sshbind, opts, private_key_file);
if (rc != 0) {
goto out_free;
}

Просмотреть файл

@ -69,6 +69,7 @@ ssh_session torture_ssh_session(const char *host,
ssh_bind torture_ssh_bind(const char *addr,
const unsigned int port,
enum ssh_keytypes_e key_type,
const char *private_key_file);
struct torture_sftp *torture_sftp_session(ssh_session session);

Просмотреть файл

@ -12,6 +12,7 @@
struct hostkey_state {
const char *hostkey;
char *hostkey_path;
enum ssh_keytypes_e key_type;
int fd;
};
@ -27,7 +28,8 @@ static void setup(void **state) {
assert_return_code(h->fd, errno);
close(h->fd);
h->hostkey = torture_get_testkey(SSH_KEYTYPE_ECDSA, 512, 0);
h->key_type = SSH_KEYTYPE_RSA;
h->hostkey = torture_get_testkey(h->key_type, 0, 0);
torture_write_file(h->hostkey_path, h->hostkey);
@ -152,7 +154,10 @@ static void test_ssh_channel_request_x11(void **state) {
ssh_callbacks_init(&server_cb);
/* Create server */
sshbind = torture_ssh_bind("localhost", TEST_SERVER_PORT, h->hostkey_path);
sshbind = torture_ssh_bind("localhost",
TEST_SERVER_PORT,
h->key_type,
h->hostkey_path);
assert_non_null(sshbind);
/* Get client to connect */