aboutsummaryrefslogtreecommitdiff
path: root/libssh
diff options
context:
space:
mode:
Diffstat (limited to 'libssh')
-rw-r--r--libssh/server.c8
-rw-r--r--libssh/session.c6
2 files changed, 14 insertions, 0 deletions
diff --git a/libssh/server.c b/libssh/server.c
index a2d9d48f..066760f0 100644
--- a/libssh/server.c
+++ b/libssh/server.c
@@ -151,6 +151,14 @@ SSH_SESSION *ssh_bind_accept(SSH_BIND *ssh_bind){
session->rsa_key=rsa;
return session;
}
+
+void ssh_bind_free(SSH_BIND *ssh_bind){
+ if(ssh_bind->bindfd>=0)
+ close(ssh_bind->bindfd);
+ ssh_bind->bindfd=-1;
+ free(ssh_bind);
+}
+
extern char *supported_methods[];
int server_set_kex(SSH_SESSION * session) {
diff --git a/libssh/session.c b/libssh/session.c
index 731446d1..1a0f25ce 100644
--- a/libssh/session.c
+++ b/libssh/session.c
@@ -81,6 +81,12 @@ void ssh_cleanup(SSH_SESSION *session){
free(session);
}
+void ssh_silent_disconnect(SSH_SESSION *session){
+ close(session->fd);
+ session->alive=0;
+ ssh_disconnect(session);
+}
+
void ssh_set_options(SSH_SESSION *session, SSH_OPTIONS *options){
session->options=options;
}