aboutsummaryrefslogtreecommitdiff
path: root/src/server_ssh.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/server_ssh.c')
-rw-r--r--src/server_ssh.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/server_ssh.c b/src/server_ssh.c
index 9f24657..219866b 100644
--- a/src/server_ssh.c
+++ b/src/server_ssh.c
@@ -4,10 +4,14 @@
#include <libssh/server.h>
#include "server_ssh.h"
-#include "server.h"
#include "log.h"
-struct server_callbacks potd_ssh_callbacks = {
+typedef struct ssh_data {
+ ssh_bind sshbind;
+ ssh_session session;
+} ssh_data;
+
+struct fwd_callbacks potd_ssh_callbacks = {
.on_listen = ssh_on_listen,
.on_shutdown = ssh_on_shutdown
};
@@ -16,9 +20,9 @@ static int set_default_keys(ssh_bind sshbind, int rsa_already_set,
int dsa_already_set, int ecdsa_already_set);
-int ssh_init_cb(struct server_ctx *ctx)
+int ssh_init_cb(struct forward_ctx *ctx)
{
- ctx->server_cbs = potd_ssh_callbacks;
+ ctx->fwd_cbs = potd_ssh_callbacks;
if (ssh_init())
return 1;
@@ -26,7 +30,7 @@ int ssh_init_cb(struct server_ctx *ctx)
assert(d);
d->sshbind = ssh_bind_new();
d->session = ssh_new();
- ctx->server_dat.data = d;
+ ctx->data = d;
if (!d->sshbind || !d->session)
return 1;
if (set_default_keys(d->sshbind, 0, 0, 0))
@@ -35,9 +39,9 @@ int ssh_init_cb(struct server_ctx *ctx)
return 0;
}
-int ssh_on_listen(struct server_data *data)
+int ssh_on_listen(struct forward_ctx *ctx)
{
- ssh_data *d = (ssh_data *) data->data;
+ ssh_data *d = (ssh_data *) ctx->data;
if (ssh_bind_listen(d->sshbind) < 0) {
E("Error listening to SSH socket: %s", ssh_get_error(d->sshbind));
@@ -45,7 +49,7 @@ int ssh_on_listen(struct server_data *data)
return 0;
}
-int ssh_on_shutdown(struct server_data *data)
+int ssh_on_shutdown(struct forward_ctx *ctx)
{
return 0;
}