aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAris Adamantiadis <aris@0xbadc0de.be>2009-06-17 23:28:05 +0200
committerAris Adamantiadis <aris@0xbadc0de.be>2009-06-17 23:28:05 +0200
commite2af94289f4aa328af9eddb48826cd6a54637e60 (patch)
tree183b4e1fbe201149e3f5def71120e9f6f575c63e /include
parentfa4c81cfb9957b50159d3cd5cbe0c32d9acc0891 (diff)
downloadlibssh-e2af94289f4aa328af9eddb48826cd6a54637e60.tar.gz
libssh-e2af94289f4aa328af9eddb48826cd6a54637e60.tar.xz
libssh-e2af94289f4aa328af9eddb48826cd6a54637e60.zip
ssh_message_retrieve + memoryleak fixed in ssh_message_free
ssh_message_retrieve parses a specific SSH message and returns a pointer to it. Hacked ssh_message_get to use it. This is the first step to have asynchronous ssh messages callbacks.
Diffstat (limited to 'include')
-rw-r--r--include/libssh/priv.h5
-rw-r--r--include/libssh/server.h6
2 files changed, 11 insertions, 0 deletions
diff --git a/include/libssh/priv.h b/include/libssh/priv.h
index 51e89c6b..68f0e183 100644
--- a/include/libssh/priv.h
+++ b/include/libssh/priv.h
@@ -427,6 +427,10 @@ struct ssh_channel_request_open {
u16 destination_port;
};
+struct ssh_service_request {
+ char *service;
+};
+
struct ssh_channel_request {
int type;
CHANNEL *channel;
@@ -454,6 +458,7 @@ struct ssh_message {
struct ssh_auth_request auth_request;
struct ssh_channel_request_open channel_request_open;
struct ssh_channel_request channel_request;
+ struct ssh_service_request service_request;
};
#ifndef _WIN32
diff --git a/include/libssh/server.h b/include/libssh/server.h
index 26c33199..495a8c8f 100644
--- a/include/libssh/server.h
+++ b/include/libssh/server.h
@@ -126,6 +126,7 @@ int ssh_accept(SSH_SESSION *session);
#define SSH_AUTH_REQUEST 1
#define SSH_CHANNEL_REQUEST_OPEN 2
#define SSH_CHANNEL_REQUEST 3
+#define SSH_SERVICE_REQUEST 4
#define SSH_AUTH_NONE (1<<0)
#define SSH_AUTH_PASSWORD (1<<1)
@@ -149,6 +150,7 @@ int ssh_accept(SSH_SESSION *session);
typedef struct ssh_message SSH_MESSAGE;
+SSH_MESSAGE *ssh_message_retrieve(SSH_SESSION *session, u32 packettype);
SSH_MESSAGE *ssh_message_get(SSH_SESSION *session);
int ssh_message_type(SSH_MESSAGE *msg);
int ssh_message_subtype(SSH_MESSAGE *msg);
@@ -168,6 +170,10 @@ char *ssh_message_channel_request_pty_term(SSH_MESSAGE *msg);
char *ssh_message_channel_request_subsystem(SSH_MESSAGE *msg);
int ssh_message_channel_request_reply_success(SSH_MESSAGE *msg);
+int ssh_message_service_reply_success(SSH_MESSAGE *msg);
+char *ssh_message_service_service(SSH_MESSAGE *msg);
+
+
#ifdef __cplusplus
}
#endif /* __cplusplus */