[kde-doc-english] [kdepimlibs] kioslave: Forgot to remove it

Montel Laurent montel at kde.org
Tue Apr 5 04:46:54 UTC 2016


Git commit a86db8844e9438760e6488ff0b344f626f32aa7b by Montel Laurent.
Committed on 05/04/2016 at 04:46.
Pushed by mlaurent into branch 'master'.

Forgot to remove it

M  +0    -1    kioslave/docs/CMakeLists.txt
D  +0    -3    kioslave/docs/ldap/CMakeLists.txt
D  +0    -30   kioslave/docs/ldap/index.docbook
M  +0    -1    kioslave/src/CMakeLists.txt
D  +0    -14   kioslave/src/ldap/CMakeLists.txt
D  +0    -2    kioslave/src/ldap/Messages.sh
D  +0    -819  kioslave/src/ldap/kio_ldap.cpp
D  +0    -70   kioslave/src/ldap/kio_ldap.h
D  +0    -17   kioslave/src/ldap/ldap.protocol
D  +0    -17   kioslave/src/ldap/ldaps.protocol

http://commits.kde.org/kdepimlibs/a86db8844e9438760e6488ff0b344f626f32aa7b

diff --git a/kioslave/docs/CMakeLists.txt b/kioslave/docs/CMakeLists.txt
index 3b660ba..c07ae11 100644
--- a/kioslave/docs/CMakeLists.txt
+++ b/kioslave/docs/CMakeLists.txt
@@ -1,3 +1,2 @@
-add_subdirectory(ldap)
 add_subdirectory(pop3)
 add_subdirectory(sieve)
diff --git a/kioslave/docs/ldap/CMakeLists.txt b/kioslave/docs/ldap/CMakeLists.txt
deleted file mode 100644
index d77d09f..0000000
--- a/kioslave/docs/ldap/CMakeLists.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-########### install files ###############
-kdoctools_create_handbook(index.docbook INSTALL_DESTINATION ${KDE_INSTALL_DOCBUNDLEDIR}/en SUBDIR kioslave5/ldap)
-
diff --git a/kioslave/docs/ldap/index.docbook b/kioslave/docs/ldap/index.docbook
deleted file mode 100644
index 2cd0aac..0000000
--- a/kioslave/docs/ldap/index.docbook
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" ?>
-<!DOCTYPE article PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN"
-"dtd/kdedbx45.dtd" [
-<!ENTITY % addindex "IGNORE">
-<!ENTITY % English "INCLUDE" > <!-- change language only here -->
-]>
-	
-<article lang="&language;" id="ldap">
-<title>ldap</title>
-<articleinfo>
-<authorgroup>
-<author>&Lauri.Watts; &Lauri.Watts.mail;</author>
-<!-- TRANS:ROLES_OF_TRANSLATORS -->
-</authorgroup>
-</articleinfo>
-
-<para><acronym>ldap</acronym> is the lightweight directory access
-protocol.  It provides access to an X.500 directory, or to a stand-alone
-<acronym>LDAP</acronym> server.</para>
-
-<para>You can use the ldap kioslave as follows:</para>
-
-<para><userinput>ldap://host:port/ou=People,o=where,c=de??sub</userinput>
-for a subtree-query</para>
-
-<para>or
-<userinput>ldap://host:port/cn=MM,ou=People,o=where,c=de??base</userinput>
-for a complete branch.</para>
-
-</article>
diff --git a/kioslave/src/CMakeLists.txt b/kioslave/src/CMakeLists.txt
index 7811950..ac476a3 100644
--- a/kioslave/src/CMakeLists.txt
+++ b/kioslave/src/CMakeLists.txt
@@ -1,6 +1,5 @@
 #remove it
 remove_definitions(-DQT_NO_CAST_FROM_BYTEARRAY)
-add_subdirectory(ldap)
 add_subdirectory(sieve)
 
 add_subdirectory( pop3 ) 
diff --git a/kioslave/src/ldap/CMakeLists.txt b/kioslave/src/ldap/CMakeLists.txt
deleted file mode 100644
index 29a0380..0000000
--- a/kioslave/src/ldap/CMakeLists.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-
-set(kio_ldap_PART_SRCS kio_ldap.cpp)
-ecm_qt_declare_logging_category(kio_ldap_PART_SRCS HEADER kldap_debug.h IDENTIFIER KLDAP_LOG CATEGORY_NAME log_kldap)
-
-add_library(kio_ldap MODULE ${kio_ldap_PART_SRCS})
-
-target_link_libraries(kio_ldap KF5::KIOCore KF5::I18n KF5::Ldap KF5::Mbox)
-set_target_properties(kio_ldap PROPERTIES OUTPUT_NAME "ldap")
-install(TARGETS kio_ldap  DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/kio)
-
-
-########### install files ###############
-
-install( FILES ldap.protocol ldaps.protocol  DESTINATION  ${KDE_INSTALL_KSERVICES5DIR} )
diff --git a/kioslave/src/ldap/Messages.sh b/kioslave/src/ldap/Messages.sh
deleted file mode 100644
index bb14723..0000000
--- a/kioslave/src/ldap/Messages.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#! /usr/bin/env bash
-$XGETTEXT *.cpp -o $podir/kio_ldap.pot
diff --git a/kioslave/src/ldap/kio_ldap.cpp b/kioslave/src/ldap/kio_ldap.cpp
deleted file mode 100644
index 4ab7285..0000000
--- a/kioslave/src/ldap/kio_ldap.cpp
+++ /dev/null
@@ -1,819 +0,0 @@
-/*
-  Copyright (c) 2004-2007 Szombathelyi György <gyurco at freemail.hu>
-
-  Permission is hereby granted, free of charge, to any person obtaining a copy
-  of this software and associated documentation files (the "Software"), to deal
-  in the Software without restriction, including without limitation the rights
-  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-  copies of the Software, and to permit persons to whom the Software is
-  furnished to do so, subject to the following conditions:
-
-  The above copyright notice and this permission notice shall be included in
-  all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-  AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-  AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-*/
-
-#include "kio_ldap.h"
-#include "kldap_debug.h"
-
-#include <kldap/ldif.h>
-#include <kldap/ldapcontrol.h>
-
-#include <qdebug.h>
-#include <KLocalizedString>
-#include <QCoreApplication>
-
-#include <netdb.h>
-#include <netinet/in.h>
-#include <sys/stat.h>
-
-using namespace KIO;
-using namespace KLDAP;
-
-extern "C" {
-    int Q_DECL_EXPORT kdemain(int argc, char **argv);
-}
-
-/**
- * The main program.
- */
-int kdemain(int argc, char **argv)
-{
-    QCoreApplication app(argc, argv);   // needed for QSocketNotifier
-    app.setApplicationName(QStringLiteral("kio_ldap"));
-
-    qCDebug(KLDAP_LOG) << "Starting kio_ldap instance";
-
-    if (argc != 4) {
-        qCritical() << "Usage kio_ldap protocol pool app" << endl;
-        return -1;
-    }
-
-    // let the protocol class do its work
-    LDAPProtocol slave(argv[1], argv[2], argv[3]);
-    slave.dispatchLoop();
-
-    qCDebug(KLDAP_LOG) << "Done";
-    return 0;
-}
-
-/**
- * Initialize the ldap slave
- */
-LDAPProtocol::LDAPProtocol(const QByteArray &protocol, const QByteArray &pool,
-                           const QByteArray &app)
-    : SlaveBase(protocol, pool, app)
-{
-    mConnected = false;
-    mOp.setConnection(mConn);
-    qCDebug(KLDAP_LOG) << "LDAPProtocol::LDAPProtocol (" << protocol << ")";
-}
-
-LDAPProtocol::~LDAPProtocol()
-{
-    closeConnection();
-}
-
-void LDAPProtocol::LDAPErr(int err)
-{
-
-    QString extramsg;
-    if (mConnected) {
-        if (err == KLDAP_SUCCESS) {
-            err = mConn.ldapErrorCode();
-        }
-        if (err != KLDAP_SUCCESS) {
-            extramsg = i18n("\nAdditional info: ") + mConn.ldapErrorString();
-        }
-    }
-    if (err == KLDAP_SUCCESS) {
-        return;
-    }
-
-    qDebug() << "error code: " << err << " msg: " << LdapConnection::errorString(err) <<
-             extramsg << "'" << endl;
-    QString msg;
-    msg = mServer.url().toDisplayString();
-    if (!extramsg.isEmpty()) {
-        msg += extramsg;
-    }
-
-    /* FIXME: No need to close on all errors */
-    closeConnection();
-
-    switch (err) {
-    /* FIXME: is it worth mapping the following error codes to kio errors?
-
-      LDAP_OPERATIONS_ERROR
-      LDAP_STRONG_AUTH_REQUIRED
-      LDAP_PROTOCOL_ERROR
-      LDAP_TIMELIMIT_EXCEEDED
-      LDAP_SIZELIMIT_EXCEEDED
-      LDAP_COMPARE_FALSE
-      LDAP_COMPARE_TRUE
-      LDAP_PARTIAL_RESULTS
-      LDAP_NO_SUCH_ATTRIBUTE
-      LDAP_UNDEFINED_TYPE
-      LDAP_INAPPROPRIATE_MATCHING
-      LDAP_CONSTRAINT_VIOLATION
-      LDAP_INVALID_SYNTAX
-      LDAP_NO_SUCH_OBJECT
-      LDAP_ALIAS_PROBLEM
-      LDAP_INVALID_DN_SYNTAX
-      LDAP_IS_LEAF
-      LDAP_ALIAS_DEREF_PROBLEM
-      LDAP_INAPPROPRIATE_AUTH
-      LDAP_BUSY
-      LDAP_UNAVAILABLE
-      LDAP_UNWILLING_TO_PERFORM
-      LDAP_LOOP_DETECT
-      LDAP_NAMING_VIOLATION
-      LDAP_OBJECT_CLASS_VIOLATION
-      LDAP_NOT_ALLOWED_ON_NONLEAF
-      LDAP_NOT_ALLOWED_ON_RDN
-      LDAP_NO_OBJECT_CLASS_MODS
-      LDAP_OTHER
-      LDAP_LOCAL_ERROR
-      LDAP_ENCODING_ERROR
-      LDAP_DECODING_ERROR
-      LDAP_FILTER_ERROR
-    */
-    case KLDAP_AUTH_UNKNOWN:
-    case KLDAP_INVALID_CREDENTIALS:
-    case KLDAP_STRONG_AUTH_NOT_SUPPORTED:
-        error(ERR_COULD_NOT_AUTHENTICATE, msg);
-        break;
-    case KLDAP_ALREADY_EXISTS:
-        error(ERR_FILE_ALREADY_EXIST, msg);
-        break;
-    case KLDAP_INSUFFICIENT_ACCESS:
-        error(ERR_ACCESS_DENIED, msg);
-        break;
-    case KLDAP_CONNECT_ERROR:
-    case KLDAP_SERVER_DOWN:
-        error(ERR_COULD_NOT_CONNECT, msg);
-        break;
-    case KLDAP_TIMEOUT:
-        error(ERR_SERVER_TIMEOUT, msg);
-        break;
-    case KLDAP_PARAM_ERROR:
-        error(ERR_INTERNAL, msg);
-        break;
-    case KLDAP_NO_MEMORY:
-        error(ERR_OUT_OF_MEMORY, msg);
-        break;
-
-    default:
-        error(ERR_SLAVE_DEFINED,
-              i18n("LDAP server returned the error: %1 %2\nThe LDAP URL was: %3",
-                   LdapConnection::errorString(err), extramsg, mServer.url().toDisplayString()));
-    }
-}
-
-void LDAPProtocol::controlsFromMetaData(LdapControls &serverctrls,
-                                        LdapControls &clientctrls)
-{
-    QString oid;
-    bool critical;
-    QByteArray value;
-    int i = 0;
-    while (hasMetaData(QStringLiteral("SERVER_CTRL%1").arg(i))) {
-        QByteArray val = metaData(QStringLiteral("SERVER_CTRL%1").arg(i)).toUtf8();
-        Ldif::splitControl(val, oid, critical, value);
-        qCDebug(KLDAP_LOG) << "server ctrl #" << i << " value: " << val <<
-                           " oid: " << oid << " critical: " << critical << " value: " <<
-                           QString::fromUtf8(value, value.size()) << endl;
-        LdapControl ctrl(oid, val, critical);
-        serverctrls.append(ctrl);
-        i++;
-    }
-    i = 0;
-    while (hasMetaData(QStringLiteral("CLIENT_CTRL%1").arg(i))) {
-        QByteArray val = metaData(QStringLiteral("CLIENT_CTRL%1").arg(i)).toUtf8();
-        Ldif::splitControl(val, oid, critical, value);
-        qCDebug(KLDAP_LOG) << "client ctrl #" << i << " value: " << val <<
-                           " oid: " << oid << " critical: " << critical << " value: " <<
-                           QString::fromUtf8(value, value.size()) << endl;
-        LdapControl ctrl(oid, val, critical);
-        clientctrls.append(ctrl);
-        i++;
-    }
-
-}
-
-void LDAPProtocol::LDAPEntry2UDSEntry(const LdapDN &dn, UDSEntry &entry,
-                                      const LdapUrl &usrc, bool dir)
-{
-    int pos;
-    entry.clear();
-    QString name = dn.toString();
-    if ((pos = name.indexOf(QLatin1Char(','))) > 0) {
-        name = name.left(pos);
-    }
-    if ((pos = name.indexOf(QLatin1Char('='))) > 0) {
-        name.remove(0, pos + 1);
-    }
-    name.replace(QLatin1Char(' '), QLatin1String("_"));
-    if (!dir) {
-        name += QLatin1String(".ldif");
-    }
-    entry.insert(KIO::UDSEntry::UDS_NAME, name);
-
-    // the file type
-    entry.insert(KIO::UDSEntry::UDS_FILE_TYPE, dir ? S_IFDIR : S_IFREG);
-
-    // the mimetype
-    if (!dir) {
-        entry.insert(KIO::UDSEntry::UDS_MIME_TYPE, QStringLiteral("text/plain"));
-    }
-
-    entry.insert(KIO::UDSEntry::UDS_ACCESS, dir ? 0500 : 0400);
-
-    // the url
-    LdapUrl url = usrc;
-    url.setPath(QLatin1Char('/') + dn.toString());
-    url.setScope(dir ? LdapUrl::One : LdapUrl::Base);
-    entry.insert(KIO::UDSEntry::UDS_URL, url.toDisplayString());
-}
-
-void LDAPProtocol::changeCheck(const LdapUrl &url)
-{
-    LdapServer server;
-    server.setUrl(url);
-
-    if (mConnected) {
-        if (server.host() != mServer.host() ||
-                server.port() != mServer.port() ||
-                server.baseDn() != mServer.baseDn() ||
-                server.user() != mServer.user() ||
-                server.bindDn() != mServer.bindDn() ||
-                server.realm() != mServer.realm() ||
-                server.password() != mServer.password() ||
-                server.timeLimit() != mServer.timeLimit() ||
-                server.sizeLimit() != mServer.sizeLimit() ||
-                server.version() != mServer.version() ||
-                server.security() != mServer.security() ||
-                server.auth() != mServer.auth() ||
-                server.mech() != mServer.mech()) {
-
-            closeConnection();
-            mServer = server;
-            openConnection();
-        }
-    } else {
-        mServer = server;
-        openConnection();
-    }
-}
-
-void LDAPProtocol::setHost(const QString &host, quint16 port,
-                           const QString &user, const QString &password)
-{
-    if (mServer.host() != host ||
-            mServer.port() != port ||
-            mServer.user() != user ||
-            mServer.password() != password) {
-        closeConnection();
-    }
-
-    mServer.host() = host;
-    if (port > 0) {
-        mServer.setPort(port);
-    } else {
-        struct servent *pse;
-        if ((pse = getservbyname(mProtocol, "tcp")) == NULL) {
-            if (mProtocol == "ldaps") {
-                mServer.setPort(636);
-            } else {
-                mServer.setPort(389);
-            }
-        } else {
-            mServer.setPort(ntohs(pse->s_port));
-        }
-    }
-    mServer.setUser(user);
-    mServer.setPassword(password);
-
-    qCDebug(KLDAP_LOG) << "setHost: " << host << " port: " << port << " user: " <<
-                       user << " pass: [protected]" << endl;
-}
-
-void LDAPProtocol::openConnection()
-{
-    if (mConnected) {
-        return;
-    }
-
-    mConn.setServer(mServer);
-    if (mConn.connect() != 0) {
-        error(ERR_COULD_NOT_CONNECT, mConn.connectionError());
-        return;
-    }
-
-    mConnected = true;
-
-    AuthInfo info;
-    info.url.setScheme(QLatin1String(mProtocol));
-    info.url.setHost(mServer.host());
-    info.url.setPort(mServer.port());
-    info.url.setUserName(mServer.user());
-    info.caption = i18n("LDAP Login");
-    info.comment = QString::fromLatin1(mProtocol) + QLatin1String("://") + mServer.host() + QLatin1Char(':') +
-                   QString::number(mServer.port());
-    info.commentLabel = i18n("site:");
-    info.username = mServer.auth() == LdapServer::SASL ? mServer.user() : mServer.bindDn();
-    info.password = mServer.password();
-    info.keepPassword = true;
-    bool cached = checkCachedAuthentication(info);
-
-    bool firstauth = true;
-    int retval;
-
-    while (true) {
-        retval = mOp.bind_s();
-        if (retval == 0) {
-            qCDebug(KLDAP_LOG) << "connected!";
-            connected();
-            return;
-        }
-        if (retval == KLDAP_INVALID_CREDENTIALS ||
-                retval == KLDAP_INSUFFICIENT_ACCESS ||
-                retval == KLDAP_INAPPROPRIATE_AUTH  ||
-                retval == KLDAP_UNWILLING_TO_PERFORM) {
-
-            if (firstauth && cached) {
-                if (mServer.auth() == LdapServer::SASL) {
-                    mServer.setUser(info.username);
-                } else {
-                    mServer.setBindDn(info.username);
-                }
-                mServer.setPassword(info.password);
-                mConn.setServer(mServer);
-                cached = false;
-            } else {
-                bool ok = firstauth ?
-                          openPasswordDialog(info) :
-                          openPasswordDialog(info, i18n("Invalid authorization information."));
-                if (!ok) {
-                    error(ERR_USER_CANCELED, i18n("LDAP connection canceled."));
-                    closeConnection();
-                    return;
-                }
-                if (mServer.auth() == LdapServer::SASL) {
-                    mServer.setUser(info.username);
-                } else {
-                    mServer.setBindDn(info.username);
-                }
-                mServer.setPassword(info.password);
-                firstauth = false;
-                mConn.setServer(mServer);
-            }
-
-        } else {
-            LDAPErr(retval);
-            closeConnection();
-            return;
-        }
-    }
-}
-
-void LDAPProtocol::closeConnection()
-{
-    if (mConnected) {
-        mConn.close();
-    }
-    mConnected = false;
-
-    qCDebug(KLDAP_LOG) << "connection closed!";
-}
-
-/**
- * Get the information contained in the URL.
- */
-void LDAPProtocol::get(const QUrl &_url)
-{
-    qCDebug(KLDAP_LOG) << "get(" << _url << ")";
-
-    LdapUrl usrc(_url);
-    int ret, id;
-
-    changeCheck(usrc);
-    if (!mConnected) {
-        finished();
-        return;
-    }
-
-    LdapControls serverctrls, clientctrls;
-    controlsFromMetaData(serverctrls, clientctrls);
-    if (mServer.pageSize()) {
-        LdapControls ctrls = serverctrls;
-        ctrls.append(LdapControl::createPageControl(mServer.pageSize()));
-        qCDebug(KLDAP_LOG) << "page size: " << mServer.pageSize();
-        mOp.setServerControls(ctrls);
-    } else {
-        mOp.setServerControls(serverctrls);
-    }
-    mOp.setClientControls(clientctrls);
-
-    if ((id = mOp.search(usrc.dn(), usrc.scope(), usrc.filter(), usrc.attributes())) == -1) {
-        LDAPErr();
-        return;
-    }
-
-    // tell the mimetype
-    mimeType(QStringLiteral("text/plain"));
-    // collect the result
-    //QByteArray result;
-    filesize_t processed_size = 0;
-
-    while (true) {
-        ret = mOp.waitForResult(id, -1);
-        if (ret == -1 || mConn.ldapErrorCode() != KLDAP_SUCCESS) {
-            LDAPErr();
-            return;
-        }
-        qCDebug(KLDAP_LOG) << " ldap_result: " << ret;
-        if (ret == LdapOperation::RES_SEARCH_RESULT) {
-
-            if (mServer.pageSize()) {
-                QByteArray cookie;
-                int estsize = -1;
-                for (int i = 0; i < mOp.controls().count(); ++i) {
-                    qCDebug(KLDAP_LOG) << " control oid: " << mOp.controls().at(i).oid();
-                    estsize = mOp.controls().at(i).parsePageControl(cookie);
-                    if (estsize != -1) {
-                        break;
-                    }
-                }
-                qCDebug(KLDAP_LOG) << " estimated size: " << estsize;
-                if (estsize != -1 && !cookie.isEmpty()) {
-                    LdapControls ctrls;
-                    ctrls = serverctrls;
-                    qCDebug(KLDAP_LOG) << "page size: " << mServer.pageSize() << " estimated size: " << estsize;
-                    ctrls.append(LdapControl::createPageControl(mServer.pageSize(), cookie));
-                    mOp.setServerControls(ctrls);
-                    if ((id = mOp.search(usrc.dn(), usrc.scope(), usrc.filter(), usrc.attributes())) == -1) {
-                        LDAPErr();
-                        return;
-                    }
-                    continue;
-                }
-            }
-            break;
-        }
-        if (ret != LdapOperation::RES_SEARCH_ENTRY) {
-            continue;
-        }
-
-        QByteArray entry = mOp.object().toString().toUtf8() + '\n';
-        processed_size += entry.size();
-        data(entry);
-        processedSize(processed_size);
-    }
-
-    totalSize(processed_size);
-
-    // tell we are finished
-    data(QByteArray());
-    finished();
-}
-
-/**
- * Test if the url contains a directory or a file.
- */
-void LDAPProtocol::stat(const QUrl &_url)
-{
-    qCDebug(KLDAP_LOG) << "stat(" << _url << ")";
-
-    QStringList att, saveatt;
-    LdapUrl usrc(_url);
-    int ret, id;
-
-    changeCheck(usrc);
-    if (!mConnected) {
-        finished();
-        return;
-    }
-
-    // look how many entries match
-    saveatt = usrc.attributes();
-    att.append(QStringLiteral("dn"));
-
-    if ((id = mOp.search(usrc.dn(), usrc.scope(), usrc.filter(), att)) == -1) {
-        LDAPErr();
-        return;
-    }
-
-    qCDebug(KLDAP_LOG) << "stat() getting result";
-    do {
-        ret = mOp.waitForResult(id, -1);
-        if (ret == -1 || mConn.ldapErrorCode() != KLDAP_SUCCESS) {
-            LDAPErr();
-            return;
-        }
-        if (ret == LdapOperation::RES_SEARCH_RESULT) {
-            error(ERR_DOES_NOT_EXIST, _url.toDisplayString());
-            return;
-        }
-    } while (ret != LdapOperation::RES_SEARCH_ENTRY);
-
-    mOp.abandon(id);
-
-    usrc.setAttributes(saveatt);
-
-    UDSEntry uds;
-    bool critical;
-    LDAPEntry2UDSEntry(usrc.dn(), uds, usrc, usrc.extension(QStringLiteral("x-dir"), critical) != QLatin1String("base"));
-
-    statEntry(uds);
-    // we are done
-    finished();
-}
-
-/**
- * Deletes one entry;
- */
-void LDAPProtocol::del(const QUrl &_url, bool)
-{
-    qCDebug(KLDAP_LOG) << "del(" << _url << ")";
-
-    LdapUrl usrc(_url);
-    int id, ret;
-
-    changeCheck(usrc);
-    if (!mConnected) {
-        finished();
-        return;
-    }
-
-    LdapControls serverctrls, clientctrls;
-    controlsFromMetaData(serverctrls, clientctrls);
-    mOp.setServerControls(serverctrls);
-    mOp.setClientControls(clientctrls);
-
-    qCDebug(KLDAP_LOG) << " del: " << usrc.dn().toString().toUtf8();
-
-    if ((id = mOp.del(usrc.dn())) == -1) {
-        LDAPErr();
-        return;
-    }
-    ret = mOp.waitForResult(id, -1);
-    if (ret == -1 || mConn.ldapErrorCode() != KLDAP_SUCCESS) {
-        LDAPErr();
-        return;
-    }
-
-    finished();
-}
-
-void LDAPProtocol::put(const QUrl &_url, int, KIO::JobFlags flags)
-{
-    qCDebug(KLDAP_LOG) << "put(" << _url << ")";
-
-    LdapUrl usrc(_url);
-
-    changeCheck(usrc);
-    if (!mConnected) {
-        finished();
-        return;
-    }
-
-    LdapControls serverctrls, clientctrls;
-    controlsFromMetaData(serverctrls, clientctrls);
-    mOp.setServerControls(serverctrls);
-    mOp.setClientControls(clientctrls);
-
-    LdapObject addObject;
-    LdapOperation::ModOps modops;
-    QByteArray buffer;
-    int result = 0;
-    Ldif::ParseValue ret;
-    Ldif ldif;
-    ret = Ldif::MoreData;
-    int ldaperr;
-
-    do {
-        if (ret == Ldif::MoreData) {
-            dataReq(); // Request for data
-            result = readData(buffer);
-            ldif.setLdif(buffer);
-        }
-        if (result < 0) {
-            //error
-            return;
-        }
-        if (result == 0) {
-            qCDebug(KLDAP_LOG) << "EOF!";
-            ldif.endLdif();
-        }
-        do {
-
-            ret = ldif.nextItem();
-            qCDebug(KLDAP_LOG) << "nextitem: " << ret;
-
-            switch (ret) {
-            case Ldif::None:
-            case Ldif::NewEntry:
-            case Ldif::MoreData:
-                break;
-            case Ldif::EndEntry:
-                ldaperr = KLDAP_SUCCESS;
-                switch (ldif.entryType()) {
-                case Ldif::Entry_None:
-                    error(ERR_INTERNAL, i18n("The Ldif parser failed."));
-                    return;
-                case Ldif::Entry_Del:
-                    qCDebug(KLDAP_LOG) << "kio_ldap_del";
-                    ldaperr = mOp.del_s(ldif.dn());
-                    break;
-                case Ldif::Entry_Modrdn:
-                    qCDebug(KLDAP_LOG) << "kio_ldap_modrdn olddn:" << ldif.dn().toString() <<
-                                       " newRdn: " <<  ldif.newRdn() <<
-                                       " newSuperior: " << ldif.newSuperior() <<
-                                       " deloldrdn: " << ldif.delOldRdn() << endl;
-                    ldaperr = mOp.rename_s(ldif.dn(), ldif.newRdn(),
-                                           ldif.newSuperior(), ldif.delOldRdn());
-                    break;
-                case Ldif::Entry_Mod:
-                    qCDebug(KLDAP_LOG) << "kio_ldap_mod";
-                    ldaperr = mOp.modify_s(ldif.dn(), modops);
-                    modops.clear();
-                    break;
-                case Ldif::Entry_Add:
-                    qCDebug(KLDAP_LOG) << "kio_ldap_add " << ldif.dn().toString();
-                    addObject.setDn(ldif.dn());
-                    ldaperr = mOp.add_s(addObject);
-                    if (ldaperr == KLDAP_ALREADY_EXISTS && (flags & KIO::Overwrite)) {
-                        qCDebug(KLDAP_LOG) << ldif.dn().toString() << " already exists, delete first";
-                        ldaperr = mOp.del_s(ldif.dn());
-                        if (ldaperr == KLDAP_SUCCESS) {
-                            ldaperr = mOp.add_s(addObject);
-                        }
-                    }
-                    addObject.clear();
-                    break;
-                }
-                if (ldaperr != KLDAP_SUCCESS) {
-                    qCDebug(KLDAP_LOG) << "put ldap error: " << ldaperr;
-                    LDAPErr(ldaperr);
-                    return;
-                }
-                break;
-            case Ldif::Item:
-                switch (ldif.entryType()) {
-                case Ldif::Entry_Mod: {
-                    LdapOperation::ModOp op;
-                    op.type = LdapOperation::Mod_None;
-                    switch (ldif.modType()) {
-                    case Ldif::Mod_None:
-                        op.type = LdapOperation::Mod_None;
-                        break;
-                    case Ldif::Mod_Add:
-                        op.type = LdapOperation::Mod_Add;
-                        break;
-                    case Ldif::Mod_Replace:
-                        op.type = LdapOperation::Mod_Replace;
-                        break;
-                    case Ldif::Mod_Del:
-                        op.type = LdapOperation::Mod_Del;
-                        break;
-                    }
-                    op.attr = ldif.attr();
-                    if (!ldif.value().isNull()) {
-                        op.values.append(ldif.value());
-                    }
-                    modops.append(op);
-                    break;
-                }
-                case Ldif::Entry_Add:
-                    if (ldif.value().size() > 0) {
-                        addObject.addValue(ldif.attr(), ldif.value());
-                    }
-                    break;
-                default:
-                    error(ERR_INTERNAL, i18n("The Ldif parser failed."));
-                    return;
-                }
-                break;
-            case Ldif::Control: {
-                LdapControl control;
-                control.setControl(ldif.oid(), ldif.value(), ldif.isCritical());
-                serverctrls.append(control);
-                mOp.setServerControls(serverctrls);
-                break;
-            }
-            case Ldif::Err:
-                error(ERR_SLAVE_DEFINED,
-                      i18n("Invalid Ldif file in line %1.", ldif.lineNumber()));
-                return;
-            }
-        } while (ret != Ldif::MoreData);
-    } while (result > 0);
-
-    finished();
-}
-
-/**
- * List the contents of a directory.
- */
-void LDAPProtocol::listDir(const QUrl &_url)
-{
-    int ret, ret2, id, id2;
-    unsigned long total = 0;
-    QStringList att, saveatt;
-    LdapUrl usrc(_url), usrc2;
-    bool critical = true;
-    bool isSub = (usrc.extension(QStringLiteral("x-dir"), critical) == QLatin1String("sub"));
-
-//Reactivate it
-    //qCDebug(KLDAP_LOG) << "listDir(" << _url << ")";
-
-    changeCheck(usrc);
-    if (!mConnected) {
-        finished();
-        return;
-    }
-    usrc2 = usrc;
-
-    saveatt = usrc.attributes();
-    // look up the entries
-    if (isSub) {
-        att.append(QStringLiteral("dn"));
-        usrc.setAttributes(att);
-    }
-    if (_url.query().isEmpty()) {
-        usrc.setScope(LdapUrl::One);
-    }
-
-    if ((id = mOp.search(usrc.dn(), usrc.scope(), usrc.filter(), usrc.attributes())) == -1) {
-        LDAPErr();
-        return;
-    }
-
-    usrc.setAttributes(QStringList() << QLatin1String(""));
-    usrc.setExtension(QStringLiteral("x-dir"), QStringLiteral("base"));
-    // publish the results
-    UDSEntry uds;
-
-    while (true) {
-        ret = mOp.waitForResult(id, -1);
-        if (ret == -1 || mConn.ldapErrorCode() != KLDAP_SUCCESS) {
-            LDAPErr();
-            return;
-        }
-        if (ret == LdapOperation::RES_SEARCH_RESULT) {
-            break;
-        }
-        if (ret != LdapOperation::RES_SEARCH_ENTRY) {
-            continue;
-        }
-        qCDebug(KLDAP_LOG) << " ldap_result: " << ret;
-
-        total++;
-        uds.clear();
-
-        LDAPEntry2UDSEntry(mOp.object().dn(), uds, usrc);
-        listEntry(uds);
-//      processedSize( total );
-        qCDebug(KLDAP_LOG) << " total: " << total << " " << usrc.toDisplayString();
-
-        // publish the sub-directories (if dirmode==sub)
-        if (isSub) {
-            LdapDN dn = mOp.object().dn();
-            usrc2.setDn(dn);
-            usrc2.setScope(LdapUrl::One);
-            usrc2.setAttributes(saveatt);
-            usrc2.setFilter(usrc.filter());
-            qCDebug(KLDAP_LOG) << "search2 " << dn.toString();
-            if ((id2 = mOp.search(dn, LdapUrl::One, QString(), att)) != -1) {
-                while (true) {
-                    qCDebug(KLDAP_LOG) << " next result ";
-                    ret2 = mOp.waitForResult(id2, -1);
-                    if (ret2 == -1 || ret2 == LdapOperation::RES_SEARCH_RESULT) {
-                        break;
-                    }
-                    if (ret2 == LdapOperation::RES_SEARCH_ENTRY) {
-                        LDAPEntry2UDSEntry(dn, uds, usrc2, true);
-                        listEntry(uds);
-                        total++;
-                        mOp.abandon(id2);
-                        break;
-                    }
-                }
-            }
-        }
-    }
-
-//  totalSize( total );
-
-    uds.clear();
-    // we are done
-    finished();
-}
diff --git a/kioslave/src/ldap/kio_ldap.h b/kioslave/src/ldap/kio_ldap.h
deleted file mode 100644
index 3e877fa..0000000
--- a/kioslave/src/ldap/kio_ldap.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
-  Copyright (c) 2004-2007 Szombathelyi György <gyurco at freemail.hu>
-
-  Permission is hereby granted, free of charge, to any person obtaining a copy
-  of this software and associated documentation files (the "Software"), to deal
-  in the Software without restriction, including without limitation the rights
-  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-  copies of the Software, and to permit persons to whom the Software is
-  furnished to do so, subject to the following conditions:
-
-  The above copyright notice and this permission notice shall be included in
-  all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-  AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-  AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/
-
-#ifndef __LDAP_H__
-#define __LDAP_H__
-
-#include <kio/slavebase.h>
-#include <kio/authinfo.h>
-
-#include <kldap/ldapdefs.h>
-#include <kldap/ldapurl.h>
-#include <kldap/ldapcontrol.h>
-#include <kldap/ldapconnection.h>
-#include <kldap/ldapdn.h>
-#include <kldap/ldapoperation.h>
-
-class LDAPProtocol : public KIO::SlaveBase
-{
-public:
-    LDAPProtocol(const QByteArray &protocol, const QByteArray &pool, const QByteArray &app);
-    virtual ~LDAPProtocol();
-
-    virtual void setHost(const QString &host, quint16 port,
-                         const QString &user, const QString &pass) Q_DECL_OVERRIDE;
-
-    void openConnection() Q_DECL_OVERRIDE;
-    void closeConnection() Q_DECL_OVERRIDE;
-
-    void get(const QUrl &url) Q_DECL_OVERRIDE;
-    void stat(const QUrl &url) Q_DECL_OVERRIDE;
-    void listDir(const QUrl &url) Q_DECL_OVERRIDE;
-    void del(const QUrl &url, bool isfile) Q_DECL_OVERRIDE;
-    void put(const QUrl &url, int permissions, KIO::JobFlags flags) Q_DECL_OVERRIDE;
-
-private:
-
-    KLDAP::LdapConnection mConn;
-    KLDAP::LdapOperation mOp;
-    KLDAP::LdapServer mServer;
-    bool mConnected;
-
-    void controlsFromMetaData(KLDAP::LdapControls &serverctrls,
-                              KLDAP::LdapControls &clientctrls);
-    void LDAPEntry2UDSEntry(const KLDAP::LdapDN &dn, KIO::UDSEntry &entry,
-                            const KLDAP::LdapUrl &usrc, bool dir = false);
-    int asyncSearch(KLDAP::LdapUrl &usrc, const QByteArray &cookie = "");
-
-    void LDAPErr(int err = KLDAP_SUCCESS);
-    void changeCheck(const KLDAP::LdapUrl &url);
-};
-
-#endif
diff --git a/kioslave/src/ldap/ldap.protocol b/kioslave/src/ldap/ldap.protocol
deleted file mode 100644
index 670ef7d..0000000
--- a/kioslave/src/ldap/ldap.protocol
+++ /dev/null
@@ -1,17 +0,0 @@
-[Protocol]
-exec=kf5/kio/ldap
-protocol=ldap
-input=none
-output=filesystem
-listing=Name,
-reading=true
-source=true
-writing=true
-#makedir=true
-deleting=true
-#linking=true
-#moving=true
-mimetype=text/plain
-determineMimetypeFromExtension=false
-X-DocPath=kioslave5/ldap/index.html
-Icon=office-address-book
diff --git a/kioslave/src/ldap/ldaps.protocol b/kioslave/src/ldap/ldaps.protocol
deleted file mode 100644
index 1952e81..0000000
--- a/kioslave/src/ldap/ldaps.protocol
+++ /dev/null
@@ -1,17 +0,0 @@
-[Protocol]
-exec=kf5/kio/ldap
-protocol=ldaps
-input=none
-output=filesystem
-listing=Name,
-reading=true
-source=true
-writing=true
-#makedir=true
-deleting=true
-#linking=true
-#moving=true
-mimetype=text/plain
-determineMimetypeFromExtension=false
-X-DocPath=kioslave5/ldap/index.html
-Icon=office-address-book


More information about the kde-doc-english mailing list