aboutsummaryrefslogtreecommitdiff
path: root/src/server/QXmppServer.cpp
diff options
context:
space:
mode:
authorLinus Jahn <lnj@kaidan.im>2022-03-13 01:24:20 +0100
committerLinus Jahn <lnj@kaidan.im>2022-03-13 02:11:14 +0100
commite69f1033436ee0de77e7185a4d2dc394b48f14b7 (patch)
tree1017fa3014070cb5a0dfd8917d9290955a4e5b68 /src/server/QXmppServer.cpp
parent8cf5dc45bedcc2e186839b590f5e915a88c36507 (diff)
downloadqxmpp-e69f1033436ee0de77e7185a4d2dc394b48f14b7.tar.gz
Server: Avoid creating temporary for iteration on two containers
Diffstat (limited to 'src/server/QXmppServer.cpp')
-rw-r--r--src/server/QXmppServer.cpp35
1 files changed, 29 insertions, 6 deletions
diff --git a/src/server/QXmppServer.cpp b/src/server/QXmppServer.cpp
index 793b9b60..35b0d2ad 100644
--- a/src/server/QXmppServer.cpp
+++ b/src/server/QXmppServer.cpp
@@ -430,8 +430,12 @@ void QXmppServer::addCaCertificates(const QString &path)
}
// reconfigure servers
- for (auto *server : d->serversForClients + d->serversForServers)
+ for (auto *server : std::as_const(d->serversForClients)) {
server->addCaCertificates(d->caCertificates);
+ }
+ for (auto *server : std::as_const(d->serversForServers)) {
+ server->addCaCertificates(d->caCertificates);
+ }
}
/// Sets the path for the local SSL certificate.
@@ -453,8 +457,12 @@ void QXmppServer::setLocalCertificate(const QString &path)
}
// reconfigure servers
- for (auto *server : d->serversForClients + d->serversForServers)
+ for (auto *server : std::as_const(d->serversForClients)) {
+ server->setLocalCertificate(d->localCertificate);
+ }
+ for (auto *server : std::as_const(d->serversForServers)) {
server->setLocalCertificate(d->localCertificate);
+ }
}
///
@@ -469,8 +477,12 @@ void QXmppServer::setLocalCertificate(const QSslCertificate &certificate)
d->localCertificate = certificate;
// reconfigure servers
- for (auto *server : d->serversForClients + d->serversForServers)
+ for (auto *server : std::as_const(d->serversForClients)) {
+ server->setLocalCertificate(d->localCertificate);
+ }
+ for (auto *server : std::as_const(d->serversForServers)) {
server->setLocalCertificate(d->localCertificate);
+ }
}
/// Sets the path for the local SSL private key.
@@ -492,8 +504,12 @@ void QXmppServer::setPrivateKey(const QString &path)
}
// reconfigure servers
- for (auto *server : d->serversForClients + d->serversForServers)
+ for (auto *server : std::as_const(d->serversForClients)) {
server->setPrivateKey(d->privateKey);
+ }
+ for (auto *server : std::as_const(d->serversForServers)) {
+ server->setPrivateKey(d->privateKey);
+ }
}
///
@@ -508,8 +524,12 @@ void QXmppServer::setPrivateKey(const QSslKey &key)
d->privateKey = key;
// reconfigure servers
- for (auto *server : d->serversForClients + d->serversForServers)
+ for (auto *server : std::as_const(d->serversForClients)) {
+ server->setPrivateKey(d->privateKey);
+ }
+ for (auto *server : std::as_const(d->serversForServers)) {
server->setPrivateKey(d->privateKey);
+ }
}
/// Listen for incoming XMPP client connections.
@@ -556,7 +576,10 @@ bool QXmppServer::listenForClients(const QHostAddress &address, quint16 port)
void QXmppServer::close()
{
// prevent new connections
- for (auto *server : d->serversForClients + d->serversForServers) {
+ for (auto *server : std::as_const(d->serversForClients)) {
+ server->close();
+ }
+ for (auto *server : std::as_const(d->serversForServers)) {
server->close();
}
qDeleteAll(d->serversForClients);