From 5b9585e42977f46639dc3784352e9c4be4cd9cac Mon Sep 17 00:00:00 2001 From: Alexander Golubev Date: Sat, 17 Feb 2024 15:59:48 +0300 Subject: [PATCH] tdeioslave/sftp: use unsigned to store auth method flags/bitsets The libssh defines those flags as unsigned. Technically ssh_auth_list() still returns int, but its guranteed to be bitset of those flags. Signed-off-by: Alexander Golubev --- tdeioslave/sftp/tdeio_sftp.cpp | 16 ++++++++-------- tdeioslave/sftp/tdeio_sftp.h | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/tdeioslave/sftp/tdeio_sftp.cpp b/tdeioslave/sftp/tdeio_sftp.cpp index 971cdb30d..3c2787255 100644 --- a/tdeioslave/sftp/tdeio_sftp.cpp +++ b/tdeioslave/sftp/tdeio_sftp.cpp @@ -173,7 +173,7 @@ void log_callback(ssh_session session, int priority, const char *message, class PublicKeyAuth: public SSHAuthMethod { public: - int flag() override {return SSH_AUTH_METHOD_PUBLICKEY;}; + unsigned flag() override {return SSH_AUTH_METHOD_PUBLICKEY;}; int authenticate(sftpProtocol *ioslave) const override { return ioslave->authenticatePublicKey(); } @@ -184,7 +184,7 @@ class KeyboardInteractiveAuth: public SSHAuthMethod { public: KeyboardInteractiveAuth(bool noPaswordQuery = false): mNoPaswordQuery(noPaswordQuery) {} - int flag() override {return SSH_AUTH_METHOD_INTERACTIVE;}; + unsigned flag() override {return SSH_AUTH_METHOD_INTERACTIVE;}; int authenticate(sftpProtocol *ioslave) const override { return ioslave->authenticateKeyboardInteractive(mNoPaswordQuery); } @@ -198,7 +198,7 @@ class PasswordAuth: public SSHAuthMethod { public: PasswordAuth(bool noPaswordQuery = false): mNoPaswordQuery(noPaswordQuery) {} - int flag() override {return SSH_AUTH_METHOD_PASSWORD;}; + unsigned flag() override {return SSH_AUTH_METHOD_PASSWORD;}; int authenticate(sftpProtocol *ioslave) const override { return ioslave->authenticatePassword(mNoPaswordQuery); } @@ -208,7 +208,7 @@ private: const bool mNoPaswordQuery; }; -TQString SSHAuthMethod::flagToStr (int m) { +TQString SSHAuthMethod::flagToStr (unsigned m) { switch (m) { case SSH_AUTH_METHOD_NONE : return TQString::fromLatin1 ( "none" ); case SSH_AUTH_METHOD_PASSWORD : return TQString::fromLatin1 ( "password" ); @@ -220,11 +220,11 @@ TQString SSHAuthMethod::flagToStr (int m) { } } -TQStringList SSHAuthMethod::bitsetToStr (int m) { +TQStringList SSHAuthMethod::bitsetToStr (unsigned m) { TQStringList rv; for (int i=0; m>>i; i++) { - int flag = m & (1 << i); + unsigned flag = m & (1 << i); if (flag) { rv.append(flagToStr(flag)); } @@ -1151,7 +1151,7 @@ connection_restart: SSH_AUTH_METHOD_NONE, //< none is supported by default [](int acc, const auto &m){ return acc |= m->flag(); }); - int attemptedMethods = 0; + unsigned attemptedMethods = 0; // Backup of the value of the SlaveBase::s_seqNr. This is used to query different data values // with openPassDlg() with the same seqNr. Otherwise it will result in the prompting of the pass @@ -1164,7 +1164,7 @@ connection_restart: // which will require user to provide a valid password at first and then a valid public key. // see AuthenticationMethods in man 5 sshd_config for more info bool wasCanceled = false; - int availableMethodes = ssh_auth_list(mSession); + unsigned availableMethodes = ssh_auth_list(mSession); SlaveBase::s_seqNr = current_seqNr; diff --git a/tdeioslave/sftp/tdeio_sftp.h b/tdeioslave/sftp/tdeio_sftp.h index 303014ead..75b295cfd 100644 --- a/tdeioslave/sftp/tdeio_sftp.h +++ b/tdeioslave/sftp/tdeio_sftp.h @@ -199,7 +199,7 @@ private: // private methods class SSHAuthMethod { public: /** libssh's flag for he method */ - virtual int flag() = 0; + virtual unsigned flag() = 0; /** The user-friendly (probably translated) name of the method */ virtual TQString name() {return flagToStr(flag());} /** Actually do perform the auth process */ @@ -210,10 +210,10 @@ public: virtual ~SSHAuthMethod() {}; /** Returns a name for the given libssh auth method flag */ - static TQString flagToStr(int method); + static TQString flagToStr(unsigned method); /** Returns a list of names for all the methods set in the given libssh auth method bitset */ - static TQStringList bitsetToStr(int method); + static TQStringList bitsetToStr(unsigned method); }; #endif