diff --git a/include/libssh/libssh.h b/include/libssh/libssh.h index e7eb6e04..b2156d77 100644 --- a/include/libssh/libssh.h +++ b/include/libssh/libssh.h @@ -608,6 +608,7 @@ SSH_DEPRECATED LIBSSH_API void ssh_log(ssh_session session, const char *format, ...) PRINTF_ATTRIBUTE(3, 4); LIBSSH_API ssh_channel ssh_message_channel_request_open_reply_accept(ssh_message msg); +LIBSSH_API int ssh_message_channel_request_open_reply_accept_channel(ssh_message msg, ssh_channel chan); LIBSSH_API int ssh_message_channel_request_reply_success(ssh_message msg); #define SSH_MESSAGE_FREE(x) \ do { if ((x) != NULL) { ssh_message_free(x); (x) = NULL; } } while(0) diff --git a/include/libssh/messages.h b/include/libssh/messages.h index 07caa1ee..fd40b9f7 100644 --- a/include/libssh/messages.h +++ b/include/libssh/messages.h @@ -102,6 +102,5 @@ SSH_PACKET_CALLBACK(ssh_packet_userauth_request); int ssh_message_handle_channel_request(ssh_session session, ssh_channel channel, ssh_buffer packet, const char *request, uint8_t want_reply); ssh_message ssh_message_pop_head(ssh_session session); -int ssh_message_channel_request_open_reply_accept_channel(ssh_message msg, ssh_channel chan); #endif /* MESSAGES_H_ */ diff --git a/src/messages.c b/src/messages.c index f0c6d781..fdd355cb 100644 --- a/src/messages.c +++ b/src/messages.c @@ -1218,6 +1218,17 @@ end: return SSH_PACKET_USED; } +/** + * @internal + * + * @brief This function accepts a channel open request for the specified channel. + * + * @param[in] msg The message. + * + * @param[in] chan The channel the request is made on. + * + * @returns SSH_OK on success, SSH_ERROR if an error occured. + */ int ssh_message_channel_request_open_reply_accept_channel(ssh_message msg, ssh_channel chan) { ssh_session session; int rc; @@ -1258,7 +1269,17 @@ int ssh_message_channel_request_open_reply_accept_channel(ssh_message msg, ssh_c return rc; } - +/** + * @internal + * + * @brief This function accepts a channel open request. + * + * @param[in] msg The message. + * + * @returns a valid ssh_channel handle if the request is to be allowed + * + * @returns NULL in case of error + */ ssh_channel ssh_message_channel_request_open_reply_accept(ssh_message msg) { ssh_channel chan; int rc;