aboutsummaryrefslogtreecommitdiff
path: root/src/callbacks.c
diff options
context:
space:
mode:
authorAris Adamantiadis <aris@0xbadc0de.be>2013-02-11 21:31:11 +0100
committerAndreas Schneider <asn@cryptomilk.org>2013-07-13 13:59:58 +0200
commitab2e641b4a68e31390510f020d939107bef53b37 (patch)
tree6c85b2d683af3998c46553c5480da18ed90d8164 /src/callbacks.c
parent48b715cce0d74c6695df5f085ed79de065ec072f (diff)
downloadlibssh-ab2e641b4a68e31390510f020d939107bef53b37.tar.gz
libssh-ab2e641b4a68e31390510f020d939107bef53b37.tar.xz
libssh-ab2e641b4a68e31390510f020d939107bef53b37.zip
Defined SSH server callbacks interface
Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'src/callbacks.c')
-rw-r--r--src/callbacks.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/callbacks.c b/src/callbacks.c
index 5a61180d..f524aba3 100644
--- a/src/callbacks.c
+++ b/src/callbacks.c
@@ -59,3 +59,19 @@ int ssh_set_channel_callbacks(ssh_channel channel, ssh_channel_callbacks cb) {
leave_function();
return 0;
}
+
+int ssh_set_server_callbacks(ssh_session session, ssh_server_callbacks cb){
+ if (session == NULL || cb == NULL) {
+ return SSH_ERROR;
+ }
+ enter_function();
+ if(cb->size <= 0 || cb->size > 1024 * sizeof(void *)){
+ ssh_set_error(session,SSH_FATAL,
+ "Invalid callback passed in (badly initialized)");
+ leave_function();
+ return SSH_ERROR;
+ }
+ session->server_callbacks = cb;
+ leave_function();
+ return 0;
+}