diff options
author | Alan Dunn <amdunn@gmail.com> | 2014-04-16 23:29:52 -0500 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2015-01-20 19:50:52 +0100 |
commit | 4bde48bb2e32774533ac0d45485fa6109f3cb891 (patch) | |
tree | 6dd8a35e13cea12ac3a8552c986c107764bfa437 /tests/torture.c | |
parent | f4154c503b4f16e318853a4ef028295558798655 (diff) | |
download | libssh-4bde48bb2e32774533ac0d45485fa6109f3cb891.tar.gz libssh-4bde48bb2e32774533ac0d45485fa6109f3cb891.tar.xz libssh-4bde48bb2e32774533ac0d45485fa6109f3cb891.zip |
tests: Add ssh server setup functionality
Add the ability to generate a keypair (RSA, but tests that focus on
what occurs over a connection may well not care) and an ssh_bind
easily.
Signed-off-by: Alan Dunn <amdunn@gmail.com>
Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'tests/torture.c')
-rw-r--r-- | tests/torture.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/tests/torture.c b/tests/torture.c index 74640031..726db214 100644 --- a/tests/torture.c +++ b/tests/torture.c @@ -393,6 +393,50 @@ failed: return NULL; } +#ifdef WITH_SERVER + +ssh_bind torture_ssh_bind(const char *addr, + const unsigned int port, + const char *private_key_file) { + int rc; + ssh_bind sshbind = NULL; + + sshbind = ssh_bind_new(); + if (sshbind == NULL) { + goto out; + } + + rc = ssh_bind_options_set(sshbind, SSH_BIND_OPTIONS_BINDADDR, addr); + if (rc != 0) { + goto out_free; + } + + rc = ssh_bind_options_set(sshbind, SSH_BIND_OPTIONS_BINDPORT, &port); + if (rc != 0) { + goto out_free; + } + + rc = ssh_bind_options_set(sshbind, SSH_BIND_OPTIONS_HOSTKEY, + private_key_file); + if (rc != 0) { + goto out_free; + } + + rc = ssh_bind_listen(sshbind); + if (rc != SSH_OK) { + goto out_free; + } + + goto out; + out_free: + ssh_bind_free(sshbind); + sshbind = NULL; + out: + return sshbind; +} + +#endif + #ifdef WITH_SFTP struct torture_sftp *torture_sftp_session(ssh_session session) { |