summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2022-10-12 10:21:27 +0200
committerCarl Hetherington <cth@carlh.net>2022-10-13 00:29:24 +0200
commitb1f151d39d969d255a221f26aeff7793712ecebc (patch)
treeddb4a5c3c4f67565a9e5e0d5d64feaf181d533b2
parentaed8505d1f389fe33fc83e4b0578cdca98d787c6 (diff)
Ignore deprecation of SCP API in libssh; we still want to support it (for now at least).
-rw-r--r--src/lib/scp_uploader.cc12
-rw-r--r--src/lib/scp_uploader.h3
2 files changed, 15 insertions, 0 deletions
diff --git a/src/lib/scp_uploader.cc b/src/lib/scp_uploader.cc
index c14c02215..dbe82b67f 100644
--- a/src/lib/scp_uploader.cc
+++ b/src/lib/scp_uploader.cc
@@ -68,12 +68,16 @@ LIBDCP_ENABLE_WARNINGS
throw NetworkError (String::compose(_("Failed to authenticate with server (%1)"), ssh_get_error(_session)));
}
+LIBDCP_DISABLE_WARNINGS
_scp = ssh_scp_new (_session, SSH_SCP_WRITE | SSH_SCP_RECURSIVE, Config::instance()->tms_path().c_str());
+LIBDCP_ENABLE_WARNINGS
if (!_scp) {
throw NetworkError (String::compose(_("SSH error [%1] (%2)"), "ssh_scp_new", ssh_get_error(_session)));
}
+LIBDCP_DISABLE_WARNINGS
r = ssh_scp_init (_scp);
+LIBDCP_ENABLE_WARNINGS
if (r != SSH_OK) {
throw NetworkError (String::compose(_("SSH error [%1] (%2)"), "ssh_scp_init", ssh_get_error(_session)));
}
@@ -82,7 +86,9 @@ LIBDCP_ENABLE_WARNINGS
SCPUploader::~SCPUploader ()
{
+LIBDCP_DISABLE_WARNINGS
ssh_scp_free (_scp);
+LIBDCP_ENABLE_WARNINGS
ssh_disconnect (_session);
ssh_free (_session);
}
@@ -92,7 +98,9 @@ void
SCPUploader::create_directory (boost::filesystem::path directory)
{
/* Use generic_string so that we get forward-slashes in the path, even on Windows */
+LIBDCP_DISABLE_WARNINGS
int const r = ssh_scp_push_directory (_scp, directory.generic_string().c_str(), S_IRWXU);
+LIBDCP_ENABLE_WARNINGS
if (r != SSH_OK) {
throw NetworkError (String::compose(_("Could not create remote directory %1 (%2)"), directory, ssh_get_error(_session)));
}
@@ -104,7 +112,9 @@ SCPUploader::upload_file (boost::filesystem::path from, boost::filesystem::path
{
auto to_do = boost::filesystem::file_size (from);
/* Use generic_string so that we get forward-slashes in the path, even on Windows */
+LIBDCP_DISABLE_WARNINGS
ssh_scp_push_file (_scp, to.generic_string().c_str(), to_do, S_IRUSR | S_IWUSR);
+LIBDCP_ENABLE_WARNINGS
dcp::File f(from, "rb");
if (!f) {
@@ -121,7 +131,9 @@ SCPUploader::upload_file (boost::filesystem::path from, boost::filesystem::path
throw ReadFileError (from);
}
+LIBDCP_DISABLE_WARNINGS
int const r = ssh_scp_write (_scp, buffer, t);
+LIBDCP_ENABLE_WARNINGS
if (r != SSH_OK) {
throw NetworkError (String::compose(_("Could not write to remote file (%1)"), ssh_get_error(_session)));
}
diff --git a/src/lib/scp_uploader.h b/src/lib/scp_uploader.h
index e6bf7da2b..bc71a0674 100644
--- a/src/lib/scp_uploader.h
+++ b/src/lib/scp_uploader.h
@@ -19,8 +19,11 @@
*/
+#include <dcp/warnings.h>
#include "uploader.h"
+LIBDCP_DISABLE_WARNINGS
#include <libssh/libssh.h>
+LIBDCP_ENABLE_WARNINGS
class SCPUploader : public Uploader