Skip to content

Commit

Permalink
Merge pull request #1759 from namark/debug_ssl_error
Browse files Browse the repository at this point in the history
Verbose logging for SSL errors in requests that Domain server redirec…
  • Loading branch information
namark committed Mar 3, 2024
2 parents 8d2e135 + 48b7ed8 commit a2d90ce
Show file tree
Hide file tree
Showing 6 changed files with 28 additions and 0 deletions.
4 changes: 4 additions & 0 deletions domain-server/src/DomainServer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,8 @@ bool DomainServer::forwardMetaverseAPIRequest(HTTPConnection* connection,
return true;
}

connect(reply, &QNetworkReply::sslErrors, [reply](const auto& errors) { MetaverseAPI::logSslErrors(reply, errors); });

connect(reply, &QNetworkReply::finished, this, [reply, connection]() {
if (reply->error() != QNetworkReply::NoError) {
auto data = reply->readAll();
Expand Down Expand Up @@ -2721,6 +2723,8 @@ bool DomainServer::handleHTTPRequest(HTTPConnection* connection, const QUrl& url
req.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
QNetworkReply* reply = NetworkAccessManager::getInstance().put(req, doc.toJson());

connect(reply, &QNetworkReply::sslErrors, [reply](const auto& errors) { MetaverseAPI::logSslErrors(reply, errors); });

connect(reply, &QNetworkReply::finished, this, [reply, connection]() {
if (reply->error() != QNetworkReply::NoError) {
qDebug() << "Got error response from metaverse server: " << reply->readAll();
Expand Down
1 change: 1 addition & 0 deletions libraries/networking/src/AccountManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -350,6 +350,7 @@ void AccountManager::sendRequest(const QString& path,
}
});

connect(networkReply, &QNetworkReply::sslErrors, [networkReply](const auto& errors) { MetaverseAPI::logSslErrors(networkReply, errors); });

if (callbackParams.isEmpty()) {
connect(networkReply, &QNetworkReply::finished, networkReply, &QNetworkReply::deleteLater);
Expand Down
17 changes: 17 additions & 0 deletions libraries/networking/src/MetaverseAPI.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,15 @@
#include "MetaverseAPI.h"

#include <QUrl>
#include <QSslSocket>
#include <QSslCipher>
#include <QDebug>

#include <SettingHandle.h>
#include <DependencyManager.h>

#include "NetworkingConstants.h"
#include "NetworkLogging.h"
#include "NodeList.h"


Expand Down Expand Up @@ -98,4 +102,17 @@ namespace MetaverseAPI {

return path;
};

void logSslErrors(const QNetworkReply* reply, const QList<QSslError>& errors) {
for(auto&& error : errors)
{
qCDebug(networking_metaverse) << "Got SSL error from Metaverse server:" << error.errorString();
if (reply) {
qCDebug(networking_metaverse) << "Ciphers:" << reply->sslConfiguration().ciphers();
qCDebug(networking_metaverse) << "SSL session cipher:" << reply->sslConfiguration().sessionCipher();
qCDebug(networking_metaverse) << "Supported SSL Ciphers:" << QSslSocket::supportedCiphers();
}
qCDebug(networking_metaverse) << error.certificate().toText().toStdString().c_str();
}
}
} // namespace MetaverseAPI
4 changes: 4 additions & 0 deletions libraries/networking/src/MetaverseAPI.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@

#include <QtCore/QProcessEnvironment>
#include <QtCore/QUrl>
#include <QSslError>
#include <QNetworkReply>

namespace MetaverseAPI {

Expand Down Expand Up @@ -45,6 +47,8 @@ namespace MetaverseAPI {

QUrl getCurrentMetaverseServerURL();
QString getCurrentMetaverseServerURLPath(bool appendForwardSlash = false);

void logSslErrors(const QNetworkReply* reply, const QList<QSslError>& errors);
}

#endif // athena_MetaverseAPI_h
1 change: 1 addition & 0 deletions libraries/networking/src/NetworkLogging.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,4 @@ Q_LOGGING_CATEGORY(resourceLog, "hifi.networking.resource")
Q_LOGGING_CATEGORY(asset_client, "hifi.networking.asset_client")
Q_LOGGING_CATEGORY(messages_client, "hifi.networking.messages_client")
Q_LOGGING_CATEGORY(networking_webrtc, "hifi.networking.webrtc")
Q_LOGGING_CATEGORY(networking_metaverse, "hifi.networking.metaverse")
1 change: 1 addition & 0 deletions libraries/networking/src/NetworkLogging.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,6 @@ Q_DECLARE_LOGGING_CATEGORY(networking_ice)
Q_DECLARE_LOGGING_CATEGORY(asset_client)
Q_DECLARE_LOGGING_CATEGORY(messages_client)
Q_DECLARE_LOGGING_CATEGORY(networking_webrtc)
Q_DECLARE_LOGGING_CATEGORY(networking_metaverse)

#endif // hifi_NetworkLogging_h

0 comments on commit a2d90ce

Please sign in to comment.