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();