summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/callbacks.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/callbacks.c b/src/callbacks.c
index 5a61180..f524aba 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;
+}