From 9646724764a0ff11807c3a32690e2d60372d1a7b Mon Sep 17 00:00:00 2001 From: Jeremy Lainé Date: Thu, 12 Mar 2015 16:58:37 +0100 Subject: emit sslErrors in a way they can be ignored on demand --- src/client/QXmppClient.cpp | 2 +- src/client/QXmppOutgoingClient.cpp | 5 +++++ src/client/QXmppOutgoingClient.h | 3 +++ 3 files changed, 9 insertions(+), 1 deletion(-) (limited to 'src/client') diff --git a/src/client/QXmppClient.cpp b/src/client/QXmppClient.cpp index 413afef0..51e80ab0 100644 --- a/src/client/QXmppClient.cpp +++ b/src/client/QXmppClient.cpp @@ -124,7 +124,7 @@ QXmppClient::QXmppClient(QObject *parent) this, SIGNAL(iqReceived(QXmppIq))); Q_ASSERT(check); - check = connect(d->stream->socket(), SIGNAL(sslErrors(QList)), + check = connect(d->stream, SIGNAL(sslErrors(QList)), this, SIGNAL(sslErrors(QList))); Q_ASSERT(check); diff --git a/src/client/QXmppOutgoingClient.cpp b/src/client/QXmppOutgoingClient.cpp index f82ae807..b7a6f35b 100644 --- a/src/client/QXmppOutgoingClient.cpp +++ b/src/client/QXmppOutgoingClient.cpp @@ -271,10 +271,15 @@ void QXmppOutgoingClient::_q_socketDisconnected() void QXmppOutgoingClient::socketSslErrors(const QList & error) { + // log errors warning("SSL errors"); for(int i = 0; i< error.count(); ++i) warning(error.at(i).errorString()); + // relay signal + emit sslErrors(error); + + // if configured, ignore the errors if (configuration().ignoreSslErrors()) socket()->ignoreSslErrors(); } diff --git a/src/client/QXmppOutgoingClient.h b/src/client/QXmppOutgoingClient.h index 99aa6ee5..19531e60 100644 --- a/src/client/QXmppOutgoingClient.h +++ b/src/client/QXmppOutgoingClient.h @@ -77,6 +77,9 @@ signals: /// This signal is emitted when an IQ is received. void iqReceived(const QXmppIq&); + /// This signal is emitted when SSL errors are encountered. + void sslErrors(const QList &errors); + protected: /// \cond // Overridable methods -- cgit v1.2.3