From 8439274702d4377e42d48ad247f678f9126b8c7c Mon Sep 17 00:00:00 2001 From: Michael Pyne Date: Tue, 10 Jan 2017 21:05:48 -0500 Subject: [PATCH] kssl: Ensure user certificate directory has been created before use. The KSSL KCM (in kdelibs4support) fails to save imported certificates to the user certificate store, unless the user store directory is manually created by the user first. Fix by ensuring the directory is created before trying to save user certs. Differential Revision: https://phabricator.kde.org/D4060 BUG: 342958 FIXED-IN: 5.31 Gbp-Pq: Name kssl-Ensure-user-certificate-directory-has-been-created-b.patch --- src/core/ksslcertificatemanager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/core/ksslcertificatemanager.cpp b/src/core/ksslcertificatemanager.cpp index 2c51cf7..2e57e32 100644 --- a/src/core/ksslcertificatemanager.cpp +++ b/src/core/ksslcertificatemanager.cpp @@ -247,9 +247,9 @@ bool KSslCertificateManagerPrivate::addCertificate(const KSslCaCertificate &in) } QString certFilename = userCertDir + QString::fromLatin1(in.certHash); - //qDebug() << certFilename; + QFile certFile(certFilename); - if (certFile.open(QIODevice::ReadOnly)) { + if (!QDir().mkpath(userCertDir) || certFile.open(QIODevice::ReadOnly)) { return false; } if (!certFile.open(QIODevice::WriteOnly)) { -- 2.30.2