aboutsummaryrefslogtreecommitdiff
path: root/libssh/sftp.c
diff options
context:
space:
mode:
authorAris Adamantiadis <aris@0xbadc0de.be>2005-08-26 00:25:01 +0000
committerAris Adamantiadis <aris@0xbadc0de.be>2005-08-26 00:25:01 +0000
commite2bdc2f66c85d4d1a38b2511cb98da105cafcc24 (patch)
treec32b3d25c0e927d3bc7e9ecb943ce2549f1261df /libssh/sftp.c
parent35221f967ef5e9801c2496a7f10ced1408f9cd20 (diff)
downloadlibssh-e2bdc2f66c85d4d1a38b2511cb98da105cafcc24.tar.gz
libssh-e2bdc2f66c85d4d1a38b2511cb98da105cafcc24.tar.xz
libssh-e2bdc2f66c85d4d1a38b2511cb98da105cafcc24.zip
sftp server implementation :)
at this time, basic support of opendir, readdir, lstat, etc. just enough to "sftp" in and type ls. git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@16 7dcaeef0-15fb-0310-b436-a5af3365683c
Diffstat (limited to 'libssh/sftp.c')
-rw-r--r--libssh/sftp.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/libssh/sftp.c b/libssh/sftp.c
index a78a4b08..0d08b3c0 100644
--- a/libssh/sftp.c
+++ b/libssh/sftp.c
@@ -39,11 +39,8 @@ MA 02111-1307, USA. */
/* functions */
-static void sftp_packet_free(SFTP_PACKET *packet);
void sftp_enqueue(SFTP_SESSION *session, SFTP_MESSAGE *msg);
static void sftp_message_free(SFTP_MESSAGE *msg);
-SFTP_PACKET *sftp_packet_read(SFTP_SESSION *sftp);
-int sftp_packet_write(SFTP_SESSION *sftp,u8 type, BUFFER *payload);
SFTP_SESSION *sftp_new(SSH_SESSION *session){
SFTP_SESSION *sftp=malloc(sizeof(SFTP_SESSION));
@@ -97,6 +94,10 @@ int sftp_server_init(SFTP_SESSION *sftp){
}
buffer_free(reply);
ssh_say(2,"server version sent\n");
+ if(version > LIBSFTP_VERSION)
+ sftp->version=LIBSFTP_VERSION;
+ else
+ sftp->version=version;
return 0;
}
#endif
@@ -204,7 +205,7 @@ int sftp_read_and_dispatch(SFTP_SESSION *session){
return 0;
}
-static void sftp_packet_free(SFTP_PACKET *packet){
+void sftp_packet_free(SFTP_PACKET *packet){
if(packet->payload)
buffer_free(packet->payload);
free(packet);