From 64b696e5176b9672a03f0d2f47cc47236b3551ed Mon Sep 17 00:00:00 2001 From: Sona Kurazyan Date: Wed, 27 Mar 2019 16:41:48 +0100 Subject: Close the DTLS connection during destruction Change-Id: Id7bc8ac1506ae543c7964b0bdcacf39588cd7334 Reviewed-by: Karsten Heimrich --- src/coap/qcoapqudpconnection.cpp | 10 ++++++++++ src/coap/qcoapqudpconnection_p.h | 1 + 2 files changed, 11 insertions(+) diff --git a/src/coap/qcoapqudpconnection.cpp b/src/coap/qcoapqudpconnection.cpp index 27a23e0..636554c 100644 --- a/src/coap/qcoapqudpconnection.cpp +++ b/src/coap/qcoapqudpconnection.cpp @@ -164,6 +164,16 @@ QCoapQUdpConnectionPrivate::QCoapQUdpConnectionPrivate(QtCoap::SecurityMode secu { } +QCoapQUdpConnectionPrivate::~QCoapQUdpConnectionPrivate() +{ +#if QT_CONFIG(dtls) + if (dtls && dtls->isConnectionEncrypted()) { + Q_ASSERT(udpSocket); + dtls->shutdown(udpSocket); + } +#endif +} + /*! \internal diff --git a/src/coap/qcoapqudpconnection_p.h b/src/coap/qcoapqudpconnection_p.h index 5491b60..587f5a2 100644 --- a/src/coap/qcoapqudpconnection_p.h +++ b/src/coap/qcoapqudpconnection_p.h @@ -57,6 +57,7 @@ class Q_AUTOTEST_EXPORT QCoapQUdpConnectionPrivate : public QCoapConnectionPriva { public: QCoapQUdpConnectionPrivate(QtCoap::SecurityMode security = QtCoap::NoSec); + ~QCoapQUdpConnectionPrivate() override; virtual bool bind(); -- cgit v1.2.3