[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Access to ssh_message->channel_request.command
  [Thread Prev] | [Thread Next]
 
 
- Subject: Access to ssh_message->channel_request.command
- From: Peter Pramberger <peter@xxxxxxxxxxxxx>
- Reply-to: libssh@xxxxxxxxxx
- Date: Sun, 23 Aug 2009 23:53:55 +0200
- To: libssh@xxxxxxxxxx
Hi all, in order to get SSH support in Nepenthes (a honeypot, which uses libssh for the server-side implementation) working, I'd to update to the latest 0.2.1-svn version. Unfortunately Nepenthes now does not longer compile, because it tries to access ssh_message->channel_request.command directly, and all struct definitions have been moved to priv.h. Short version: libssh does not provide a direct way to access ssh_message->channel_request.command, which get set for SSH_CHANNEL_REQUEST_EXEC requests and contains the requested command to execute. The attached patch adds ssh_message_channel_request_command(). While valid for 0.2.1, it should also apply to 0.3 with small modifications. PS: Please keep me CC on replies, I'm not subscribed to the list. Br, Peter
diff -up libssh-0.2.1/include/libssh/server.h.orig libssh-0.2.1/include/libssh/server.h
--- libssh-0.2.1/include/libssh/server.h.orig	2009-08-23 21:41:10.000000000 +0200
+++ libssh-0.2.1/include/libssh/server.h	2009-08-23 21:41:14.000000000 +0200
@@ -81,6 +81,7 @@
 // returns the TERM env variable
 char *ssh_message_channel_request_pty_term(SSH_MESSAGE *msg);
 char *ssh_message_channel_request_subsystem(SSH_MESSAGE *msg);
+char *ssh_message_channel_request_command(SSH_MESSAGE *msg);
 int ssh_message_channel_request_reply_success(SSH_MESSAGE *msg);
 
 #endif
diff -up libssh-0.2.1/libssh/libssh.vers.orig libssh-0.2.1/libssh/libssh.vers
--- libssh-0.2.1/libssh/libssh.vers.orig	2009-08-23 21:39:11.000000000 +0200
+++ libssh-0.2.1/libssh/libssh.vers	2009-08-23 21:39:15.000000000 +0200
@@ -63,5 +63,6 @@
 SSH_0.2.1 {
     ssh_log;
     ssh_options_set_log_function; ssh_options_set_log_verbosity;
     ssh_auth_list; ssh_userauth_list;
+    ssh_message_channel_request_command;
 } SSH_0.2;
diff -up libssh-0.2.1/libssh/messages.c.orig libssh-0.2.1/libssh/messages.c
--- libssh-0.2.1/libssh/messages.c.orig	2009-08-23 14:39:18.000000000 +0200
+++ libssh-0.2.1/libssh/messages.c	2009-08-23 21:36:19.000000000 +0200
@@ -310,6 +310,10 @@ char *ssh_message_channel_request_subsys
     return msg->channel_request.subsystem;
 }
 
+char *ssh_message_channel_request_command(SSH_MESSAGE *msg){
+    return msg->channel_request.command;
+}
+
 int ssh_message_channel_request_reply_success(SSH_MESSAGE *msg){
     u32 channel;
     if(msg->channel_request.want_reply){
| Re: Access to ssh_message->channel_request.command | Aris Adamantiadis <aris@xxxxxxxxxxxx> | 

