diff options
author | Aris Adamantiadis <aris@0xbadc0de.be> | 2009-06-17 23:28:05 +0200 |
---|---|---|
committer | Aris Adamantiadis <aris@0xbadc0de.be> | 2009-06-17 23:28:05 +0200 |
commit | e2af94289f4aa328af9eddb48826cd6a54637e60 (patch) | |
tree | 183b4e1fbe201149e3f5def71120e9f6f575c63e /include | |
parent | fa4c81cfb9957b50159d3cd5cbe0c32d9acc0891 (diff) | |
download | libssh-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.h | 5 | ||||
-rw-r--r-- | include/libssh/server.h | 6 |
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 */ |