diff options
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/QXmppIncomingClient.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/server/QXmppIncomingClient.cpp b/src/server/QXmppIncomingClient.cpp index 082531f6..ce6beec4 100644 --- a/src/server/QXmppIncomingClient.cpp +++ b/src/server/QXmppIncomingClient.cpp @@ -68,7 +68,11 @@ QXmppIncomingClientPrivate::QXmppIncomingClientPrivate(QXmppIncomingClient *qq) QString QXmppIncomingClientPrivate::origin() const { - return q->socket()->peerAddress().toString() + " " + QString::number(q->socket()->peerPort()); + QSslSocket *socket = q->socket(); + if (socket) + return socket->peerAddress().toString() + " " + QString::number(socket->peerPort()); + else + return "<unknown>"; } /// Constructs a new incoming client stream. @@ -87,11 +91,13 @@ QXmppIncomingClient::QXmppIncomingClient(QSslSocket *socket, const QString &doma d = new QXmppIncomingClientPrivate(this); d->domain = domain; - check = connect(socket, SIGNAL(disconnected()), - this, SLOT(onSocketDisconnected())); - Q_ASSERT(check); + if (socket) { + check = connect(socket, SIGNAL(disconnected()), + this, SLOT(onSocketDisconnected())); + Q_ASSERT(check); - setSocket(socket); + setSocket(socket); + } info(QString("Incoming client connection from %1").arg(d->origin())); |
