aboutsummaryrefslogtreecommitdiff
path: root/src/client
diff options
context:
space:
mode:
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