diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/callbacks.c | 16 |
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; +} |