kioslave: format and indent

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2021-08-03 01:48:24 +03:00
parent dd73e1af18
commit bfbde5a437

View file

@ -191,7 +191,8 @@ static void log_callback(int priority, const char *function, const char *buffer,
} }
int sftpProtocol::auth_callback(const char *prompt, char *buf, size_t len, int sftpProtocol::auth_callback(const char *prompt, char *buf, size_t len,
int echo, int verify, void *userdata) { int echo, int verify, void *userdata)
{
// unused variables // unused variables
(void) echo; (void) echo;
@ -329,16 +330,19 @@ int sftpProtocol::authenticateKeyboardInteractive(AuthInfo &info) {
return err; return err;
} }
void sftpProtocol::reportError(const KUrl &url, const int err) { void sftpProtocol::reportError(const KUrl &url, const int err)
{
kDebug(KIO_SFTP_DB) << "url = " << url << " - err=" << err; kDebug(KIO_SFTP_DB) << "url = " << url << " - err=" << err;
const int kioError = toKIOError(err); const int kioError = toKIOError(err);
if (kioError) if (kioError) {
error(kioError, url.prettyUrl()); error(kioError, url.prettyUrl());
} }
}
bool sftpProtocol::createUDSEntry(const QString &filename, const QByteArray &path, bool sftpProtocol::createUDSEntry(const QString &filename, const QByteArray &path,
UDSEntry &entry, short int details) { UDSEntry &entry, short int details)
{
mode_t type; mode_t type;
mode_t access; mode_t access;
char *link; char *link;
@ -424,7 +428,8 @@ notype:
return true; return true;
} }
QString sftpProtocol::canonicalizePath(const QString &path) { QString sftpProtocol::canonicalizePath(const QString &path)
{
kDebug(KIO_SFTP_DB) << "Path to canonicalize: " << path; kDebug(KIO_SFTP_DB) << "Path to canonicalize: " << path;
QString cPath; QString cPath;
char *sPath = NULL; char *sPath = NULL;
@ -449,7 +454,8 @@ QString sftpProtocol::canonicalizePath(const QString &path) {
sftpProtocol::sftpProtocol(const QByteArray &pool_socket, const QByteArray &app_socket) sftpProtocol::sftpProtocol(const QByteArray &pool_socket, const QByteArray &app_socket)
: SlaveBase("kio_sftp", pool_socket, app_socket), : SlaveBase("kio_sftp", pool_socket, app_socket),
mConnected(false), mPort(-1), mSession(NULL), mSftp(NULL), mPublicKeyAuthInfo(0) { mConnected(false), mPort(-1), mSession(NULL), mSftp(NULL), mPublicKeyAuthInfo(0)
{
kDebug(KIO_SFTP_DB) << "pid = " << getpid(); kDebug(KIO_SFTP_DB) << "pid = " << getpid();
kDebug(KIO_SFTP_DB) << "debug = " << getenv("KIO_SFTP_LOG_VERBOSITY"); kDebug(KIO_SFTP_DB) << "debug = " << getenv("KIO_SFTP_LOG_VERBOSITY");
@ -489,10 +495,10 @@ sftpProtocol::sftpProtocol(const QByteArray &pool_socket, const QByteArray &app_
return; return;
} }
} }
} }
sftpProtocol::~sftpProtocol() { sftpProtocol::~sftpProtocol()
{
kDebug(KIO_SFTP_DB) << "pid = " << getpid(); kDebug(KIO_SFTP_DB) << "pid = " << getpid();
closeConnection(); closeConnection();
@ -503,7 +509,8 @@ sftpProtocol::~sftpProtocol() {
ssh_finalize(); ssh_finalize();
} }
void sftpProtocol::setHost(const QString& host, quint16 port, const QString& user, const QString& pass) { void sftpProtocol::setHost(const QString& host, quint16 port, const QString& user, const QString& pass)
{
kDebug(KIO_SFTP_DB) << user << "@" << host << ":" << port; kDebug(KIO_SFTP_DB) << user << "@" << host << ":" << port;
// Close connection if the request is to another server... // Close connection if the request is to another server...
@ -602,8 +609,8 @@ bool sftpProtocol::sftpOpenConnection (const AuthInfo& info)
} }
void sftpProtocol::openConnection() { void sftpProtocol::openConnection()
{
if (mConnected) { if (mConnected) {
return; return;
} }
@ -679,9 +686,10 @@ void sftpProtocol::openConnection() {
/* check the server public key hash */ /* check the server public key hash */
state = ssh_is_server_known(mSession); state = ssh_is_server_known(mSession);
switch (state) { switch (state) {
case SSH_SERVER_KNOWN_OK: case SSH_SERVER_KNOWN_OK: {
break; break;
case SSH_SERVER_FOUND_OTHER: }
case SSH_SERVER_FOUND_OTHER: {
ssh_string_free_char((char *)hash); ssh_string_free_char((char *)hash);
error(KIO::ERR_SLAVE_DEFINED, i18n("The host key for this server was " error(KIO::ERR_SLAVE_DEFINED, i18n("The host key for this server was "
"not found, but another type of key exists.\n" "not found, but another type of key exists.\n"
@ -690,7 +698,8 @@ void sftpProtocol::openConnection() {
"Please contact your system administrator.\n%1", QString::fromUtf8(ssh_get_error(mSession)))); "Please contact your system administrator.\n%1", QString::fromUtf8(ssh_get_error(mSession))));
closeConnection(); closeConnection();
return; return;
case SSH_SERVER_KNOWN_CHANGED: }
case SSH_SERVER_KNOWN_CHANGED: {
hexa = ssh_get_hexa(hash, hlen); hexa = ssh_get_hexa(hash, hlen);
ssh_string_free_char((char *)hash); ssh_string_free_char((char *)hash);
/* TODO print known_hosts file, port? */ /* TODO print known_hosts file, port? */
@ -703,8 +712,9 @@ void sftpProtocol::openConnection() {
ssh_string_free_char(hexa); ssh_string_free_char(hexa);
closeConnection(); closeConnection();
return; return;
}
case SSH_SERVER_FILE_NOT_FOUND: case SSH_SERVER_FILE_NOT_FOUND:
case SSH_SERVER_NOT_KNOWN: case SSH_SERVER_NOT_KNOWN: {
hexa = ssh_get_hexa(hash, hlen); hexa = ssh_get_hexa(hash, hlen);
ssh_string_free_char((char *)hash); ssh_string_free_char((char *)hash);
caption = i18n("Warning: Cannot verify host's identity."); caption = i18n("Warning: Cannot verify host's identity.");
@ -727,11 +737,13 @@ void sftpProtocol::openConnection() {
return; return;
} }
break; break;
case SSH_SERVER_ERROR: }
case SSH_SERVER_ERROR: {
ssh_string_free_char((char *)hash); ssh_string_free_char((char *)hash);
error(KIO::ERR_SLAVE_DEFINED, QString::fromUtf8(ssh_get_error(mSession))); error(KIO::ERR_SLAVE_DEFINED, QString::fromUtf8(ssh_get_error(mSession)));
return; return;
} }
}
kDebug(KIO_SFTP_DB) << "Trying to authenticate with the server"; kDebug(KIO_SFTP_DB) << "Trying to authenticate with the server";
@ -904,7 +916,8 @@ void sftpProtocol::openConnection() {
info.password.clear(); info.password.clear();
} }
void sftpProtocol::closeConnection() { void sftpProtocol::closeConnection()
{
kDebug(KIO_SFTP_DB); kDebug(KIO_SFTP_DB);
if (mSftp) { if (mSftp) {
@ -920,12 +933,14 @@ void sftpProtocol::closeConnection() {
mConnected = false; mConnected = false;
} }
void sftpProtocol::special(const QByteArray &) { void sftpProtocol::special(const QByteArray &)
{
int rc; int rc;
kDebug(KIO_SFTP_DB) << "special(): polling"; kDebug(KIO_SFTP_DB) << "special(): polling";
if (!mSftp) if (!mSftp) {
return; return;
}
/* /*
* channel_poll() returns the number of bytes that may be read on the * channel_poll() returns the number of bytes that may be read on the
@ -952,7 +967,8 @@ void sftpProtocol::special(const QByteArray &) {
setTimeoutSpecialCommand(KIO_SFTP_SPECIAL_TIMEOUT); setTimeoutSpecialCommand(KIO_SFTP_SPECIAL_TIMEOUT);
} }
void sftpProtocol::open(const KUrl &url, QIODevice::OpenMode mode) { void sftpProtocol::open(const KUrl &url, QIODevice::OpenMode mode)
{
kDebug(KIO_SFTP_DB) << "open: " << url; kDebug(KIO_SFTP_DB) << "open: " << url;
if (!sftpLogin()) { if (!sftpLogin()) {
@ -969,19 +985,22 @@ void sftpProtocol::open(const KUrl &url, QIODevice::OpenMode mode) {
} }
switch (sb->type) { switch (sb->type) {
case SSH_FILEXFER_TYPE_DIRECTORY: case SSH_FILEXFER_TYPE_DIRECTORY: {
error(KIO::ERR_IS_DIRECTORY, url.prettyUrl()); error(KIO::ERR_IS_DIRECTORY, url.prettyUrl());
sftp_attributes_free(sb); sftp_attributes_free(sb);
return; return;
}
case SSH_FILEXFER_TYPE_SPECIAL: case SSH_FILEXFER_TYPE_SPECIAL:
case SSH_FILEXFER_TYPE_UNKNOWN: case SSH_FILEXFER_TYPE_UNKNOWN: {
error(KIO::ERR_CANNOT_OPEN_FOR_READING, url.prettyUrl()); error(KIO::ERR_CANNOT_OPEN_FOR_READING, url.prettyUrl());
sftp_attributes_free(sb); sftp_attributes_free(sb);
return; return;
}
case SSH_FILEXFER_TYPE_SYMLINK: case SSH_FILEXFER_TYPE_SYMLINK:
case SSH_FILEXFER_TYPE_REGULAR: case SSH_FILEXFER_TYPE_REGULAR: {
break; break;
} }
}
KIO::filesize_t fileSize = sb->size; KIO::filesize_t fileSize = sb->size;
sftp_attributes_free(sb); sftp_attributes_free(sb);
@ -1047,7 +1066,8 @@ void sftpProtocol::open(const KUrl &url, QIODevice::OpenMode mode) {
opened(); opened();
} }
void sftpProtocol::read(KIO::filesize_t bytes) { void sftpProtocol::read(KIO::filesize_t bytes)
{
kDebug(KIO_SFTP_DB) << "read, offset = " << openOffset << ", bytes = " << bytes; kDebug(KIO_SFTP_DB) << "read, offset = " << openOffset << ", bytes = " << bytes;
Q_ASSERT(mOpenFile != NULL); Q_ASSERT(mOpenFile != NULL);
@ -1068,7 +1088,8 @@ void sftpProtocol::read(KIO::filesize_t bytes) {
data(fileData); data(fileData);
} }
void sftpProtocol::write(const QByteArray &data) { void sftpProtocol::write(const QByteArray &data)
{
kDebug(KIO_SFTP_DB) << "write, offset = " << openOffset << ", bytes = " << data.size(); kDebug(KIO_SFTP_DB) << "write, offset = " << openOffset << ", bytes = " << data.size();
Q_ASSERT(mOpenFile != NULL); Q_ASSERT(mOpenFile != NULL);
@ -1084,7 +1105,8 @@ void sftpProtocol::write(const QByteArray &data) {
written(bytesWritten); written(bytesWritten);
} }
void sftpProtocol::seek(KIO::filesize_t offset) { void sftpProtocol::seek(KIO::filesize_t offset)
{
kDebug(KIO_SFTP_DB) << "seek, offset = " << offset; kDebug(KIO_SFTP_DB) << "seek, offset = " << offset;
Q_ASSERT(mOpenFile != NULL); Q_ASSERT(mOpenFile != NULL);
@ -1097,14 +1119,16 @@ void sftpProtocol::seek(KIO::filesize_t offset) {
position(sftp_tell64(mOpenFile)); position(sftp_tell64(mOpenFile));
} }
void sftpProtocol::close() { void sftpProtocol::close()
{
sftp_close(mOpenFile); sftp_close(mOpenFile);
mOpenFile = NULL; mOpenFile = NULL;
finished(); finished();
} }
void sftpProtocol::get(const KUrl& url) { void sftpProtocol::get(const KUrl& url)
{
kDebug(KIO_SFTP_DB) << url; kDebug(KIO_SFTP_DB) << url;
int errorCode = 0; int errorCode = 0;
@ -1122,8 +1146,8 @@ void sftpProtocol::get(const KUrl& url) {
} }
} }
sftpProtocol::StatusCode sftpProtocol::sftpGet(const KUrl& url, int& errorCode, KIO::fileoffset_t offset, int fd) { sftpProtocol::StatusCode sftpProtocol::sftpGet(const KUrl& url, int& errorCode, KIO::fileoffset_t offset, int fd)
{
kDebug(KIO_SFTP_DB) << url; kDebug(KIO_SFTP_DB) << url;
if (!sftpLogin()) { if (!sftpLogin()) {
@ -1143,19 +1167,22 @@ sftpProtocol::StatusCode sftpProtocol::sftpGet(const KUrl& url, int& errorCode,
} }
switch (sb->type) { switch (sb->type) {
case SSH_FILEXFER_TYPE_DIRECTORY: case SSH_FILEXFER_TYPE_DIRECTORY: {
errorCode = KIO::ERR_IS_DIRECTORY; errorCode = KIO::ERR_IS_DIRECTORY;
sftp_attributes_free(sb); sftp_attributes_free(sb);
return sftpProtocol::ServerError; return sftpProtocol::ServerError;
}
case SSH_FILEXFER_TYPE_SPECIAL: case SSH_FILEXFER_TYPE_SPECIAL:
case SSH_FILEXFER_TYPE_UNKNOWN: case SSH_FILEXFER_TYPE_UNKNOWN: {
errorCode = KIO::ERR_CANNOT_OPEN_FOR_READING; errorCode = KIO::ERR_CANNOT_OPEN_FOR_READING;
sftp_attributes_free(sb); sftp_attributes_free(sb);
return sftpProtocol::ServerError; return sftpProtocol::ServerError;
}
case SSH_FILEXFER_TYPE_SYMLINK: case SSH_FILEXFER_TYPE_SYMLINK:
case SSH_FILEXFER_TYPE_REGULAR: case SSH_FILEXFER_TYPE_REGULAR: {
break; break;
} }
}
// Open file // Open file
file = sftp_open(mSftp, path.constData(), O_RDONLY, 0); file = sftp_open(mSftp, path.constData(), O_RDONLY, 0);
@ -1200,8 +1227,7 @@ sftpProtocol::StatusCode sftpProtocol::sftpGet(const KUrl& url, int& errorCode,
} }
// If we can resume, offset the buffer properly. // If we can resume, offset the buffer properly.
if (offset > 0 && ((unsigned long long) offset < sb->size)) if (offset > 0 && ((unsigned long long) offset < sb->size)) {
{
if (sftp_seek64(file, offset) == 0) { if (sftp_seek64(file, offset) == 0) {
canResume(); canResume();
totalbytesread = offset; totalbytesread = offset;
@ -1226,11 +1252,12 @@ sftpProtocol::StatusCode sftpProtocol::sftpGet(const KUrl& url, int& errorCode,
errorCode = KIO::ERR_COULD_NOT_READ; errorCode = KIO::ERR_COULD_NOT_READ;
return sftpProtocol::ServerError; return sftpProtocol::ServerError;
} else if (bytesread == 0) { } else if (bytesread == 0) {
if (file->eof) if (file->eof) {
break; break;
else } else {
continue; continue;
} }
}
if (fd == -1) { if (fd == -1) {
data(filedata); data(filedata);
@ -1243,14 +1270,16 @@ sftpProtocol::StatusCode sftpProtocol::sftpGet(const KUrl& url, int& errorCode,
processedSize(totalbytesread); processedSize(totalbytesread);
} }
if (fd == -1) if (fd == -1) {
data(QByteArray()); data(QByteArray());
}
processedSize(static_cast<KIO::filesize_t>(sb->size)); processedSize(static_cast<KIO::filesize_t>(sb->size));
return sftpProtocol::Success; return sftpProtocol::Success;
} }
void sftpProtocol::put(const KUrl& url, int permissions, KIO::JobFlags flags) { void sftpProtocol::put(const KUrl& url, int permissions, KIO::JobFlags flags)
{
kDebug(KIO_SFTP_DB) << url << ", permissions =" << permissions kDebug(KIO_SFTP_DB) << url << ", permissions =" << permissions
<< ", overwrite =" << (flags & KIO::Overwrite) << ", overwrite =" << (flags & KIO::Overwrite)
<< ", resume =" << (flags & KIO::Resume); << ", resume =" << (flags & KIO::Resume);
@ -1272,7 +1301,8 @@ void sftpProtocol::put(const KUrl& url, int permissions, KIO::JobFlags flags) {
} }
} }
sftpProtocol::StatusCode sftpProtocol::sftpPut(const KUrl& url, int permissions, JobFlags flags, int& errorCode, int fd) { sftpProtocol::StatusCode sftpProtocol::sftpPut(const KUrl& url, int permissions, JobFlags flags, int& errorCode, int fd)
{
kDebug(KIO_SFTP_DB) << url << ", permissions =" << permissions kDebug(KIO_SFTP_DB) << url << ", permissions =" << permissions
<< ", overwrite =" << (flags & KIO::Overwrite) << ", overwrite =" << (flags & KIO::Overwrite)
<< ", resume =" << (flags & KIO::Resume); << ", resume =" << (flags & KIO::Resume);
@ -1539,13 +1569,15 @@ void sftpProtocol::copy(const KUrl &src, const KUrl &dest, int permissions, KIO:
if (!isSourceLocal && isDestinationLocal) { // sftp -> file if (!isSourceLocal && isDestinationLocal) { // sftp -> file
sCopyFile = dest.toLocalFile(); sCopyFile = dest.toLocalFile();
cs = sftpCopyGet(src, sCopyFile, permissions, flags, errorCode); cs = sftpCopyGet(src, sCopyFile, permissions, flags, errorCode);
if (cs == sftpProtocol::ServerError) if (cs == sftpProtocol::ServerError) {
sCopyFile = src.url(); sCopyFile = src.url();
}
} else if (isSourceLocal && !isDestinationLocal) { // file -> sftp } else if (isSourceLocal && !isDestinationLocal) { // file -> sftp
sCopyFile = src.toLocalFile(); sCopyFile = src.toLocalFile();
cs = sftpCopyPut(dest, sCopyFile, permissions, flags, errorCode); cs = sftpCopyPut(dest, sCopyFile, permissions, flags, errorCode);
if (cs == sftpProtocol::ServerError) if (cs == sftpProtocol::ServerError) {
sCopyFile = dest.url(); sCopyFile = dest.url();
}
} else { } else {
errorCode = KIO::ERR_UNSUPPORTED_ACTION; errorCode = KIO::ERR_UNSUPPORTED_ACTION;
sCopyFile.clear(); sCopyFile.clear();
@ -1554,8 +1586,9 @@ void sftpProtocol::copy(const KUrl &src, const KUrl &dest, int permissions, KIO:
// On success or errorcode < 0, emit the finished signal and // On success or errorcode < 0, emit the finished signal and
// send a warning message to the client if errorCode < 0. // send a warning message to the client if errorCode < 0.
if (cs == sftpProtocol::Success || errorCode < 0) { if (cs == sftpProtocol::Success || errorCode < 0) {
if (errorCode < 0) if (errorCode < 0) {
sftpSendWarning(errorCode, sCopyFile); sftpSendWarning(errorCode, sCopyFile);
}
finished(); finished();
return; return;
} }
@ -1599,16 +1632,18 @@ sftpProtocol::StatusCode sftpProtocol::sftpCopyGet(const KUrl& url, const QStrin
bResume = canResume( buff.st_size ); bResume = canResume( buff.st_size );
} }
if (bPartExists && !bResume) // get rid of an unwanted ".part" file if (bPartExists && !bResume) { // get rid of an unwanted ".part" file
QFile::remove(sPart); QFile::remove(sPart);
}
// WABA: Make sure that we keep writing permissions ourselves, // WABA: Make sure that we keep writing permissions ourselves,
// otherwise we can be in for a surprise on NFS. // otherwise we can be in for a surprise on NFS.
mode_t initialMode; mode_t initialMode;
if (permissions != -1) if (permissions != -1) {
initialMode = permissions | S_IWUSR; initialMode = permissions | S_IWUSR;
else } else {
initialMode = 0666; initialMode = 0666;
}
// open the output file ... // open the output file ...
int fd = -1; int fd = -1;
@ -1622,8 +1657,7 @@ sftpProtocol::StatusCode sftpProtocol::sftpCopyGet(const KUrl& url, const QStrin
return sftpProtocol::ClientError; // client side error return sftpProtocol::ClientError; // client side error
} }
kDebug(KIO_SFTP_DB) << "resuming at" << offset; kDebug(KIO_SFTP_DB) << "resuming at" << offset;
} } else {
else {
fd = KDE::open(dest, O_CREAT | O_TRUNC | O_WRONLY, initialMode); fd = KDE::open(dest, O_CREAT | O_TRUNC | O_WRONLY, initialMode);
} }
@ -1651,13 +1685,13 @@ sftpProtocol::StatusCode sftpProtocol::sftpCopyGet(const KUrl& url, const QStrin
result = sftpProtocol::ClientError; result = sftpProtocol::ClientError;
} }
} }
} } else if (KDE::stat( sPart, &buff ) == 0) { // should a very small ".part" be deleted?
else if (KDE::stat( sPart, &buff ) == 0) { // should a very small ".part" be deleted?
const int size = config()->readEntry("MinimumKeepSize", DEFAULT_MINIMUM_KEEP_SIZE); const int size = config()->readEntry("MinimumKeepSize", DEFAULT_MINIMUM_KEEP_SIZE);
if (buff.st_size < size) if (buff.st_size < size) {
QFile::remove(sPart); QFile::remove(sPart);
} }
} }
}
const QString mtimeStr = metaData("modified"); const QString mtimeStr = metaData("modified");
if (!mtimeStr.isEmpty()) { if (!mtimeStr.isEmpty()) {
@ -1692,8 +1726,7 @@ sftpProtocol::StatusCode sftpProtocol::sftpCopyPut(const KUrl& url, const QStrin
} }
const int fd = KDE::open(sCopyFile, O_RDONLY); const int fd = KDE::open(sCopyFile, O_RDONLY);
if(fd == -1) if (fd == -1) {
{
errorCode = ERR_CANNOT_OPEN_FOR_READING; errorCode = ERR_CANNOT_OPEN_FOR_READING;
return sftpProtocol::ClientError; return sftpProtocol::ClientError;
} }
@ -1707,7 +1740,8 @@ sftpProtocol::StatusCode sftpProtocol::sftpCopyPut(const KUrl& url, const QStrin
} }
void sftpProtocol::stat(const KUrl& url) { void sftpProtocol::stat(const KUrl& url)
{
kDebug(KIO_SFTP_DB) << url; kDebug(KIO_SFTP_DB) << url;
if (!sftpLogin()) { if (!sftpLogin()) {
@ -1755,7 +1789,8 @@ void sftpProtocol::stat(const KUrl& url) {
finished(); finished();
} }
void sftpProtocol::mimetype(const KUrl& url){ void sftpProtocol::mimetype(const KUrl& url)
{
kDebug(KIO_SFTP_DB) << url; kDebug(KIO_SFTP_DB) << url;
if (!sftpLogin()) { if (!sftpLogin()) {
@ -1769,7 +1804,8 @@ void sftpProtocol::mimetype(const KUrl& url){
finished(); finished();
} }
void sftpProtocol::listDir(const KUrl& url) { void sftpProtocol::listDir(const KUrl& url)
{
kDebug(KIO_SFTP_DB) << "list directory: " << url; kDebug(KIO_SFTP_DB) << "list directory: " << url;
if (!sftpLogin()) { if (!sftpLogin()) {
@ -1860,19 +1896,23 @@ void sftpProtocol::listDir(const KUrl& url) {
} }
switch (dirent->type) { switch (dirent->type) {
case SSH_FILEXFER_TYPE_REGULAR: case SSH_FILEXFER_TYPE_REGULAR: {
entry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFREG); entry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFREG);
break; break;
case SSH_FILEXFER_TYPE_DIRECTORY: }
case SSH_FILEXFER_TYPE_DIRECTORY: {
entry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFDIR); entry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFDIR);
break; break;
case SSH_FILEXFER_TYPE_SYMLINK: }
case SSH_FILEXFER_TYPE_SYMLINK: {
entry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFLNK); entry.insert(KIO::UDSEntry::UDS_FILE_TYPE, S_IFLNK);
break; break;
}
case SSH_FILEXFER_TYPE_SPECIAL: case SSH_FILEXFER_TYPE_SPECIAL:
case SSH_FILEXFER_TYPE_UNKNOWN: case SSH_FILEXFER_TYPE_UNKNOWN: {
break; break;
} }
}
access = dirent->permissions & 07777; access = dirent->permissions & 07777;
entry.insert(KIO::UDSEntry::UDS_ACCESS, access); entry.insert(KIO::UDSEntry::UDS_ACCESS, access);
@ -1907,7 +1947,8 @@ notype:
finished(); finished();
} }
void sftpProtocol::mkdir(const KUrl &url, int permissions) { void sftpProtocol::mkdir(const KUrl &url, int permissions)
{
kDebug(KIO_SFTP_DB) << "create directory: " << url; kDebug(KIO_SFTP_DB) << "create directory: " << url;
if (!sftpLogin()) { if (!sftpLogin()) {
@ -1956,7 +1997,8 @@ void sftpProtocol::mkdir(const KUrl &url, int permissions) {
return; return;
} }
void sftpProtocol::rename(const KUrl& src, const KUrl& dest, KIO::JobFlags flags) { void sftpProtocol::rename(const KUrl& src, const KUrl& dest, KIO::JobFlags flags)
{
kDebug(KIO_SFTP_DB) << "rename " << src << " to " << dest << flags; kDebug(KIO_SFTP_DB) << "rename " << src << " to " << dest << flags;
if (!sftpLogin()) { if (!sftpLogin()) {
@ -2001,7 +2043,8 @@ void sftpProtocol::rename(const KUrl& src, const KUrl& dest, KIO::JobFlags flags
finished(); finished();
} }
void sftpProtocol::symlink(const QString &target, const KUrl &dest, KIO::JobFlags flags) { void sftpProtocol::symlink(const QString &target, const KUrl &dest, KIO::JobFlags flags)
{
kDebug(KIO_SFTP_DB) << "link " << target << "->" << dest kDebug(KIO_SFTP_DB) << "link " << target << "->" << dest
<< ", overwrite = " << (flags & KIO::Overwrite) << ", overwrite = " << (flags & KIO::Overwrite)
<< ", resume = " << (flags & KIO::Resume); << ", resume = " << (flags & KIO::Resume);
@ -2040,7 +2083,8 @@ void sftpProtocol::symlink(const QString &target, const KUrl &dest, KIO::JobFlag
finished(); finished();
} }
void sftpProtocol::chmod(const KUrl& url, int permissions) { void sftpProtocol::chmod(const KUrl& url, int permissions)
{
kDebug(KIO_SFTP_DB) << "change permission of " << url << " to " << QString::number(permissions); kDebug(KIO_SFTP_DB) << "change permission of " << url << " to " << QString::number(permissions);
if (!sftpLogin()) { if (!sftpLogin()) {
@ -2057,7 +2101,8 @@ void sftpProtocol::chmod(const KUrl& url, int permissions) {
finished(); finished();
} }
void sftpProtocol::del(const KUrl &url, bool isfile){ void sftpProtocol::del(const KUrl &url, bool isfile)
{
kDebug(KIO_SFTP_DB) << "deleting " << (isfile ? "file: " : "directory: ") << url; kDebug(KIO_SFTP_DB) << "deleting " << (isfile ? "file: " : "directory: ") << url;
if (!sftpLogin()) { if (!sftpLogin()) {
@ -2081,17 +2126,19 @@ void sftpProtocol::del(const KUrl &url, bool isfile){
finished(); finished();
} }
void sftpProtocol::slave_status() { void sftpProtocol::slave_status()
{
kDebug(KIO_SFTP_DB) << "connected to " << mHost << "?: " << mConnected; kDebug(KIO_SFTP_DB) << "connected to " << mHost << "?: " << mConnected;
slaveStatus((mConnected ? mHost : QString()), mConnected); slaveStatus((mConnected ? mHost : QString()), mConnected);
} }
sftpProtocol::GetRequest::GetRequest(sftp_file file, sftp_attributes sb, ushort maxPendingRequests) sftpProtocol::GetRequest::GetRequest(sftp_file file, sftp_attributes sb, ushort maxPendingRequests)
:mFile(file), mSb(sb), mMaxPendingRequests(maxPendingRequests) { : mFile(file), mSb(sb), mMaxPendingRequests(maxPendingRequests)
{
} }
bool sftpProtocol::GetRequest::enqueueChunks() { bool sftpProtocol::GetRequest::enqueueChunks()
{
sftpProtocol::GetRequest::Request request; sftpProtocol::GetRequest::Request request;
kDebug(KIO_SFTP_DB) << "enqueueChunks"; kDebug(KIO_SFTP_DB) << "enqueueChunks";
@ -2123,8 +2170,8 @@ bool sftpProtocol::GetRequest::enqueueChunks() {
return true; return true;
} }
int sftpProtocol::GetRequest::readChunks(QByteArray &data) { int sftpProtocol::GetRequest::readChunks(QByteArray &data)
{
int totalRead = 0; int totalRead = 0;
ssize_t bytesread = 0; ssize_t bytesread = 0;
@ -2190,7 +2237,8 @@ int sftpProtocol::GetRequest::readChunks(QByteArray &data) {
return totalRead; return totalRead;
} }
sftpProtocol::GetRequest::~GetRequest() { sftpProtocol::GetRequest::~GetRequest()
{
sftpProtocol::GetRequest::Request request; sftpProtocol::GetRequest::Request request;
char buf[MAX_XFER_BUF_SIZE]; char buf[MAX_XFER_BUF_SIZE];
@ -2235,13 +2283,15 @@ bool sftpProtocol::sftpLogin()
void sftpProtocol::sftpSendWarning(int errorCode, const QString& url) void sftpProtocol::sftpSendWarning(int errorCode, const QString& url)
{ {
switch (errorCode) { switch (errorCode) {
case -1: case -1: {
warning(i18n( "Could not change permissions for\n%1", url)); warning(i18n( "Could not change permissions for\n%1", url));
break; break;
default: }
default: {
break; break;
} }
} }
}
void sftpProtocol::clearPubKeyAuthInfo() void sftpProtocol::clearPubKeyAuthInfo()
{ {