diff options
| author | Ahmad Samir <a.samirh78@gmail.com> | 2024-06-12 13:55:56 +0300 |
|---|---|---|
| committer | Ahmad Samir <a.samirh78@gmail.com> | 2024-07-25 16:26:29 +0300 |
| commit | d2afcff46d86c69c3e8eeebb98172e63f701648f (patch) | |
| tree | 22108059940f53b525fa6691d4a7736a55626d97 /src/plugins/tls/openssl/qtlsbackend_openssl.cpp | |
| parent | bcdf67888feb6e224a4010cbb433e0247937b586 (diff) | |
QTlsBackendOpenSSL: optimize QDirListing iteration
Looking for certificates, the name filters are {*.pem,*.crt}, so only
list files and symlinks to files.
Change-Id: Ic8cea09e4d8004c35a9ae60dbbee7b41362e2c94
Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'src/plugins/tls/openssl/qtlsbackend_openssl.cpp')
| -rw-r--r-- | src/plugins/tls/openssl/qtlsbackend_openssl.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/plugins/tls/openssl/qtlsbackend_openssl.cpp b/src/plugins/tls/openssl/qtlsbackend_openssl.cpp index f9bebaa8121..85b17c9d491 100644 --- a/src/plugins/tls/openssl/qtlsbackend_openssl.cpp +++ b/src/plugins/tls/openssl/qtlsbackend_openssl.cpp @@ -392,8 +392,10 @@ QList<QSslCertificate> systemCaCertificates() QStringLiteral("/usr/local/share/certs/ca-root-nss.crt") // FreeBSD's ca_root_nss }; static const QStringList nameFilters = {u"*.pem"_s, u"*.crt"_s}; + using F = QDirListing::IteratorFlag; + constexpr auto flags = F::FilesOnly | F::ResolveSymlinks; // Files and symlinks to files for (const auto &directory : directories) { - for (const auto &dirEntry : QDirListing(directory, nameFilters)) { + for (const auto &dirEntry : QDirListing(directory, nameFilters, flags)) { // use canonical path here to not load the same certificate twice if symlinked certFiles.insert(dirEntry.canonicalFilePath()); } |
