QSslSocketPrivate: optimize unixRootCertDirectories()
Use QByteArray::fromRawData() and QList::fromReadOnlyData() to return the QList<QByteArray> without allocating memory. Change-Id: Iefa3250ea2acc79df92400d2d225e450566477e2 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
This commit is contained in:
parent
72a90810cb
commit
d6387e68a2
@ -2975,15 +2975,21 @@ void QSslSocketPrivate::setRootCertOnDemandLoadingSupported(bool supported)
|
|||||||
*/
|
*/
|
||||||
QList<QByteArray> QSslSocketPrivate::unixRootCertDirectories()
|
QList<QByteArray> QSslSocketPrivate::unixRootCertDirectories()
|
||||||
{
|
{
|
||||||
return QList<QByteArray>() << "/etc/ssl/certs/" // (K)ubuntu, OpenSUSE, Mandriva ...
|
const auto ba = [](const auto &cstr) constexpr {
|
||||||
<< "/usr/lib/ssl/certs/" // Gentoo, Mandrake
|
return QByteArray::fromRawData(std::begin(cstr), std::size(cstr) - 1);
|
||||||
<< "/usr/share/ssl/" // Centos, Redhat, SuSE
|
};
|
||||||
<< "/usr/local/ssl/" // Normal OpenSSL Tarball
|
static const QByteArray dirs[] = {
|
||||||
<< "/var/ssl/certs/" // AIX
|
ba("/etc/ssl/certs/"), // (K)ubuntu, OpenSUSE, Mandriva ...
|
||||||
<< "/usr/local/ssl/certs/" // Solaris
|
ba("/usr/lib/ssl/certs/"), // Gentoo, Mandrake
|
||||||
<< "/etc/openssl/certs/" // BlackBerry
|
ba("/usr/share/ssl/"), // Centos, Redhat, SuSE
|
||||||
<< "/opt/openssl/certs/" // HP-UX
|
ba("/usr/local/ssl/"), // Normal OpenSSL Tarball
|
||||||
<< "/etc/ssl/"; // OpenBSD
|
ba("/var/ssl/certs/"), // AIX
|
||||||
|
ba("/usr/local/ssl/certs/"), // Solaris
|
||||||
|
ba("/etc/openssl/certs/"), // BlackBerry
|
||||||
|
ba("/opt/openssl/certs/"), // HP-UX
|
||||||
|
ba("/etc/ssl/"), // OpenBSD
|
||||||
|
};
|
||||||
|
return QList<QByteArray>::fromReadOnlyData(dirs);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
Loading…
x
Reference in New Issue
Block a user