summaryrefslogtreecommitdiffstats
path: root/src/messages.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/messages.c')
-rw-r--r--src/messages.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/messages.c b/src/messages.c
index 3701eff..bda622f 100644
--- a/src/messages.c
+++ b/src/messages.c
@@ -130,6 +130,19 @@ static int ssh_execute_server_callbacks(ssh_session session, ssh_message msg){
ssh_message_reply_default(msg);
}
return SSH_OK;
+ } else if (msg->channel_request_open.type == SSH_CHANNEL_X11){
+ if(ssh_callbacks_exists(session->common.callbacks, channel_open_request_x11_function)){
+ channel = session->common.callbacks->channel_open_request_x11_function (session,
+ msg->channel_request_open.originator, msg->channel_request_open.originator_port,
+ session->common.callbacks->userdata);
+ if(channel != NULL) {
+ rc = ssh_message_channel_request_open_reply_accept_channel(msg, channel);
+ return SSH_OK;
+ } else {
+ ssh_message_reply_default(msg);
+ }
+ return SSH_OK;
+ }
}
}
break;