aboutsummaryrefslogtreecommitdiff
path: root/src/client
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2015-03-12 16:58:37 +0100
committerJeremy Lainé <jeremy.laine@m4x.org>2015-03-12 16:58:37 +0100
commit9646724764a0ff11807c3a32690e2d60372d1a7b (patch)
tree8ae43ec3635cca1ea3509b3c884677b8ea16872f /src/client
parent9a54d355a672340f7b78f58f382c83c0f6974655 (diff)
downloadqxmpp-9646724764a0ff11807c3a32690e2d60372d1a7b.tar.gz
emit sslErrors in a way they can be ignored on demand
Diffstat (limited to 'src/client')
-rw-r--r--src/client/QXmppClient.cpp2
-rw-r--r--src/client/QXmppOutgoingClient.cpp5
-rw-r--r--src/client/QXmppOutgoingClient.h3
3 files changed, 9 insertions, 1 deletions
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<QSslError>)),
+ check = connect(d->stream, SIGNAL(sslErrors(QList<QSslError>)),
this, SIGNAL(sslErrors(QList<QSslError>)));
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<QSslError> & 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<QSslError> &errors);
+
protected:
/// \cond
// Overridable methods