aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/libssh/sftp.h7
-rw-r--r--include/libssh/sftp_priv.h32
-rw-r--r--src/sftp.c14
-rw-r--r--src/sftpserver.c3
4 files changed, 44 insertions, 12 deletions
diff --git a/include/libssh/sftp.h b/include/libssh/sftp.h
index bb10cdb8..8c14b21d 100644
--- a/include/libssh/sftp.h
+++ b/include/libssh/sftp.h
@@ -870,13 +870,6 @@ LIBSSH_API int sftp_server_init(sftp_session sftp);
LIBSSH_API void sftp_server_free(sftp_session sftp);
#endif /* WITH_SERVER */
-/* this is not a public interface */
-#define SFTP_HANDLES 256
-sftp_packet sftp_packet_read(sftp_session sftp);
-int sftp_packet_write(sftp_session sftp,uint8_t type, ssh_buffer payload);
-void sftp_packet_free(sftp_packet packet);
-int buffer_add_attributes(ssh_buffer buffer, sftp_attributes attr);
-sftp_attributes sftp_parse_attr(sftp_session session, ssh_buffer buf,int expectname);
/* sftpserver.c */
LIBSSH_API sftp_client_message sftp_get_client_message(sftp_session sftp);
diff --git a/include/libssh/sftp_priv.h b/include/libssh/sftp_priv.h
new file mode 100644
index 00000000..ccde008a
--- /dev/null
+++ b/include/libssh/sftp_priv.h
@@ -0,0 +1,32 @@
+/*
+ * This file is part of the SSH Library
+ *
+ * Copyright (c) 2003-2008 by Aris Adamantiadis
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef SFTP_PRIV_H
+#define SFTP_PRIV_H
+
+sftp_packet sftp_packet_read(sftp_session sftp);
+int sftp_packet_write(sftp_session sftp, uint8_t type, ssh_buffer payload);
+void sftp_packet_free(sftp_packet packet);
+int buffer_add_attributes(ssh_buffer buffer, sftp_attributes attr);
+sftp_attributes sftp_parse_attr(sftp_session session,
+ ssh_buffer buf,
+ int expectname);
+
+#endif /* SFTP_PRIV_H */
diff --git a/src/sftp.c b/src/sftp.c
index f88ae633..cfe025d3 100644
--- a/src/sftp.c
+++ b/src/sftp.c
@@ -44,6 +44,7 @@
#include "libssh/priv.h"
#include "libssh/ssh2.h"
#include "libssh/sftp.h"
+#include "libssh/sftp_priv.h"
#include "libssh/buffer.h"
#include "libssh/channels.h"
#include "libssh/session.h"
@@ -623,7 +624,8 @@ static int sftp_read_and_dispatch(sftp_session sftp)
return 0;
}
-void sftp_packet_free(sftp_packet packet) {
+void sftp_packet_free(sftp_packet packet)
+{
if (packet == NULL) {
return;
}
@@ -1448,8 +1450,8 @@ static sftp_attributes sftp_parse_attr_3(sftp_session sftp, ssh_buffer buf,
return NULL;
}
-/* FIXME is this really needed as a public function? */
-int buffer_add_attributes(ssh_buffer buffer, sftp_attributes attr) {
+int buffer_add_attributes(ssh_buffer buffer, sftp_attributes attr)
+{
uint32_t flags = (attr ? attr->flags : 0);
int rc;
@@ -1494,8 +1496,10 @@ int buffer_add_attributes(ssh_buffer buffer, sftp_attributes attr) {
}
-sftp_attributes sftp_parse_attr(sftp_session session, ssh_buffer buf,
- int expectname) {
+sftp_attributes sftp_parse_attr(sftp_session session,
+ ssh_buffer buf,
+ int expectname)
+{
switch(session->version) {
case 4:
return sftp_parse_attr_4(session, buf, expectname);
diff --git a/src/sftpserver.c b/src/sftpserver.c
index 1717aa41..0503787a 100644
--- a/src/sftpserver.c
+++ b/src/sftpserver.c
@@ -32,11 +32,14 @@
#include "libssh/libssh.h"
#include "libssh/sftp.h"
+#include "libssh/sftp_priv.h"
#include "libssh/ssh2.h"
#include "libssh/priv.h"
#include "libssh/buffer.h"
#include "libssh/misc.h"
+#define SFTP_HANDLES 256
+
sftp_client_message sftp_get_client_message(sftp_session sftp) {
ssh_session session = sftp->session;
sftp_packet packet;