aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/coap/qcoapqudpconnection.cpp10
-rw-r--r--src/coap/qcoapqudpconnection_p.h1
2 files changed, 11 insertions, 0 deletions
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();