mirror of
https://git.libssh.org/projects/libssh.git
synced 2026-02-06 18:29:50 +09:00
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.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user