[SCM] ktp-auth-handler packaging branch, master, updated. debian/15.12.1-2-282-g080758e

Maximiliano Curia maxy at moszumanska.debian.org
Fri May 27 23:58:51 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-auth-handler.git;a=commitdiff;h=f93b301

The following commit has been merged in the master branch:
commit f93b301e684d101d4e0a8c4bd03e247e051d8fd7
Author: Daniele E. Domenichelli <daniele.domenichelli at gmail.com>
Date:   Sun Oct 28 03:27:11 2012 +0100

    Very minimal prompt accept/reject certificate
---
 tls-cert-verifier-op.cpp | 33 +++++++++++++++++++++++++++++++--
 1 file changed, 31 insertions(+), 2 deletions(-)

diff --git a/tls-cert-verifier-op.cpp b/tls-cert-verifier-op.cpp
index 944fc7a..b58555a 100644
--- a/tls-cert-verifier-op.cpp
+++ b/tls-cert-verifier-op.cpp
@@ -21,8 +21,12 @@
 
 #include <TelepathyQt/PendingVariantMap>
 
+#include <KMessageBox>
+#include <KLocalizedString>
 #include <KDebug>
 
+#include <QSslCertificate>
+
 TlsCertVerifierOp::TlsCertVerifierOp(const Tp::AccountPtr &account,
         const Tp::ConnectionPtr &connection,
         const Tp::ChannelPtr &channel)
@@ -67,8 +71,33 @@ void TlsCertVerifierOp::gotProperties(Tp::PendingOperation *op)
     m_certType = qdbus_cast<QString>(props.value(QLatin1String("CertificateType")));
     m_certData = qdbus_cast<CertificateDataList>(props.value(QLatin1String("CertificateChainData")));
 
-    // FIXME: verify cert
-    setFinished();
+    if(m_certType.compare(QLatin1String("x509"), Qt::CaseInsensitive)) {
+        kWarning() << "This is not an x509 certificate";
+    }
+
+    Q_FOREACH (const QByteArray &data, m_certData) {
+        // FIXME How to chech if it is QSsl::Pem or QSsl::Der? QSsl::Der works for kdetalk
+        QList<QSslCertificate> certs = QSslCertificate::fromData(data, QSsl::Der);
+        Q_FOREACH (const QSslCertificate &cert, certs) {
+            kDebug() << cert;
+        }
+    }
+
+    //TODO Show a nice dialog
+    if (KMessageBox::questionYesNo(0,
+                                   i18n("<b>Accept this certificate?</b><br />%1").arg(QString::fromLatin1(m_certData.first().toHex())),
+                                   i18n("Untrusted certificate")) == KMessageBox::Yes) {
+        // TODO Remember value
+        m_authTLSCertificateIface->Accept().waitForFinished();
+        setFinished();
+    } else {
+        Tp::TLSCertificateRejectionList rejections;
+        // TODO Add reason
+        m_authTLSCertificateIface->Reject(rejections);
+        m_channel->requestClose();
+        setFinishedWithError(QLatin1String("Cert.Untrusted"),
+                             QLatin1String("Certificate rejected by the user"));
+    }
 }
 
 #include "tls-cert-verifier-op.moc"

-- 
ktp-auth-handler packaging



More information about the pkg-kde-commits mailing list