mirror of
https://git.libssh.org/projects/libssh.git
synced 2026-02-10 10:26:47 +09:00
Add error checking to ssh_message_channel_request_reply_success().
git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@449 7dcaeef0-15fb-0310-b436-a5af3365683c
This commit is contained in:
@@ -604,20 +604,33 @@ char *ssh_message_channel_request_subsystem(SSH_MESSAGE *msg){
|
|||||||
return msg->channel_request.subsystem;
|
return msg->channel_request.subsystem;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ssh_message_channel_request_reply_success(SSH_MESSAGE *msg){
|
int ssh_message_channel_request_reply_success(SSH_MESSAGE *msg) {
|
||||||
u32 channel;
|
u32 channel;
|
||||||
if(msg->channel_request.want_reply){
|
|
||||||
channel=msg->channel_request.channel->remote_channel;
|
if (msg == NULL) {
|
||||||
ssh_log(msg->session, SSH_LOG_PACKET,
|
return SSH_ERROR;
|
||||||
"Sending a channel_request success to channel %d", channel);
|
}
|
||||||
buffer_add_u8(msg->session->out_buffer,SSH2_MSG_CHANNEL_SUCCESS);
|
|
||||||
buffer_add_u32(msg->session->out_buffer,htonl(channel));
|
if (msg->channel_request.want_reply) {
|
||||||
return packet_send(msg->session);
|
channel = msg->channel_request.channel->remote_channel;
|
||||||
} else {
|
|
||||||
ssh_log(msg->session, SSH_LOG_PACKET,
|
ssh_log(msg->session, SSH_LOG_PACKET,
|
||||||
"The client doesn't want to know the request successed");
|
"Sending a channel_request success to channel %d", channel);
|
||||||
return 0;
|
|
||||||
|
if (buffer_add_u8(msg->session->out_buffer, SSH2_MSG_CHANNEL_SUCCESS) < 0) {
|
||||||
|
return SSH_ERROR;
|
||||||
}
|
}
|
||||||
|
if (buffer_add_u32(msg->session->out_buffer, htonl(channel)) < 0) {
|
||||||
|
return SSH_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
return packet_send(msg->session);
|
||||||
|
}
|
||||||
|
|
||||||
|
ssh_log(msg->session, SSH_LOG_PACKET,
|
||||||
|
"The client doesn't want to know the request succeeded");
|
||||||
|
|
||||||
|
return SSH_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ssh_message_channel_request_reply_default(SSH_MESSAGE *msg){
|
static int ssh_message_channel_request_reply_default(SSH_MESSAGE *msg){
|
||||||
|
|||||||
Reference in New Issue
Block a user