From 91bb1b2de66a62723e0cbdda02e455f728522181 Mon Sep 17 00:00:00 2001 From: Aris Adamantiadis Date: Fri, 27 Nov 2009 20:42:43 +0100 Subject: Squashed commit of the following: commit 43fad8dfd977637c31fade76ace2905f6528c3bc Author: Aris Adamantiadis Date: Fri Nov 27 18:39:06 2009 +0100 adaptation to the new ssh_poll_handle object name commit 1e5e6ac4605adf10d437d04f0fd4b7e66024853c Merge: 3fd92a0... 810adad... Author: Aris Adamantiadis Date: Fri Nov 27 18:33:06 2009 +0100 Merge branch 'master' into badcode/libssh_async commit 3fd92a08eb74b1447a9ff4ca4e1d137475c62cc6 Author: Aris Adamantiadis Date: Mon Nov 2 14:25:46 2009 +0100 Compiles again commit 8910d7b9692418c9ccea0234f6d49674d238dc16 Merge: e83f1b5... cce34a6... Author: Aris Adamantiadis Date: Mon Nov 2 12:47:34 2009 +0100 Merge branch 'master' into libssh_async Very big merge ! Conflicts: include/libssh/callbacks.h include/libssh/priv.h libssh/channels.c libssh/messages.c libssh/packet.c libssh/server.c libssh/session.c libssh/socket.c commit e83f1b593219e183082b015315f09bfe95a29cfc Author: Aris Adamantiadis Date: Mon Nov 2 12:07:01 2009 +0100 rename callback.h commit dffa7b730e8f39e2198de18ab69a8e57bef95e58 Merge: 5a8b748... de8808c... Author: Aris Adamantiadis Date: Tue Sep 15 10:50:07 2009 +0200 Merge branch 'master' of git://git.libssh.org/projects/libssh/libssh into libssh_async commit 5a8b7484f36599d28f2c0c14a23b76bfc7257638 Author: Aris Adamantiadis Date: Sun Sep 13 12:55:18 2009 +0200 More updates to callback system commit 18620c20d5e4e62107093f7fd330e553493253fa Author: Aris Adamantiadis Date: Sat Sep 12 22:26:52 2009 +0200 Same thing with channel_rcv_data commit fc4a56f6726e409a5866272923f1cbebfc821af3 Author: Aris Adamantiadis Date: Sat Sep 12 22:17:45 2009 +0200 added a few packet handlers for channels commit 4b6bb4fd00b10cf1321a764126f277ab204bffe3 Author: Aris Adamantiadis Date: Fri Sep 11 23:15:25 2009 +0300 sample packet handlers + bugfixes commit 2784d09d6dec0a8f868912d14f90d860233b3f82 Author: Aris Adamantiadis Date: Fri Sep 11 20:30:50 2009 +0300 Packet callbacks nearly finished Need tests and implementation of some packet callbacks commit cd3ea43f20c9ae2f54576ca98a0ea75c5d4299d3 Author: Aris Adamantiadis Date: Thu Sep 10 12:46:02 2009 +0300 First step of async packet handling The socket to packet handler is nearly done (needs testing) I still need to define the interface for callbacks. commit 487f4d2a900a5fe3b90ceda4460ab7d38d7ad722 Author: Aris Adamantiadis Date: Tue Sep 8 23:24:09 2009 +0300 Almost complete socket callback system Finished the callback function so it bufferizes data when callee does not use it. Flushes the buffer automaticaly after a ssh_socket_nonblocking_flush commit 23571f22fac9e40c855dfa99569bba181a39648b Author: Aris Adamantiadis Date: Tue Sep 8 22:22:32 2009 +0300 First draft of a callback system --- libssh/messages.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'libssh/messages.c') diff --git a/libssh/messages.c b/libssh/messages.c index 2b60dfd..1a3e4ff 100644 --- a/libssh/messages.c +++ b/libssh/messages.c @@ -856,15 +856,20 @@ void ssh_message_free(ssh_message msg){ * \param type packet type * \returns nothing */ -void message_handle(ssh_session session, uint32_t type){ +int message_handle(ssh_session session, void *user, uint8_t type, ssh_buffer packet){ ssh_message msg=ssh_message_retrieve(session,type); ssh_log(session,SSH_LOG_PROTOCOL,"Stacking message from packet type %d",type); - if(msg){ - if(!session->ssh_message_list){ - session->ssh_message_list=ssh_list_new(); - } - ssh_list_add(session->ssh_message_list,msg); - } + (void)user; + (void)packet; + if(msg){ + if(!session->ssh_message_list){ + session->ssh_message_list=ssh_list_new(); + } + ssh_list_add(session->ssh_message_list,msg); + return SSH_PACKET_USED; + } else { + return SSH_PACKET_NOT_USED; + } } /** -- cgit