summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/opcua/configure.json10
-rw-r--r--src/opcua/configure.pri2
-rw-r--r--src/opcua/core/qopcuaprovider.cpp13
-rw-r--r--src/plugins/opcua/uacpp/quacppbackend.cpp11
-rw-r--r--src/plugins/opcua/uacpp/quacppbackend.h5
-rw-r--r--src/plugins/opcua/uacpp/quacppclient.cpp5
-rw-r--r--src/plugins/opcua/uacpp/quacppnode.h2
-rw-r--r--src/plugins/opcua/uacpp/quacppplugin.h2
-rw-r--r--src/plugins/opcua/uacpp/quacppsubscription.cpp2
-rw-r--r--src/plugins/opcua/uacpp/quacppsubscription.h4
-rw-r--r--src/plugins/opcua/uacpp/quacpputils.cpp2
-rw-r--r--src/plugins/opcua/uacpp/quacpputils.h2
-rw-r--r--src/plugins/opcua/uacpp/quacppvalueconverter.cpp16
-rw-r--r--src/plugins/opcua/uacpp/quacppvalueconverter.h5
14 files changed, 54 insertions, 27 deletions
diff --git a/src/opcua/configure.json b/src/opcua/configure.json
index 1b4afcf..a2b375a 100644
--- a/src/opcua/configure.json
+++ b/src/opcua/configure.json
@@ -35,15 +35,19 @@
{
"type": "uacpp",
"builds": {
- "debug": "-luaclientd -luabased -lcoremoduled -luastackd -luapkid -lxmlparserd",
- "release": "-luaclient -luabase -lcoremodule -luastack -luapki -lxmlparser"
+ "debug": "-luaclientcppd -luabasecppd -luastackd -luapkicppd -lxmlparsercppd",
+ "release": " -luaclientcpp -luabasecpp -luastack -luapkicpp -lxmlparsercpp"
},
"libs": "-lCrypt32 -lOle32 -lOleAut32 -lws2_32 -llibeay32 -llibxml2",
"condition": "config.win32 && var.QT_EDITION != 'OpenSource'"
},
{
"type": "uacpp",
- "libs": "-luaclient -luamodule -luamodels -lcoremodule -luabase -luastack -lxmlparser -luapki -lcrypto -lssl -lxml2",
+ "builds": {
+ "debug": "-luaclientcppd -luabasecppd -luastackd -luapkicppd -lxmlparsercppd",
+ "release": "-luaclientcpp -luabasecpp -luastack -luapkicpp -lxmlparsercpp"
+ },
+ "libs": "-lcrypto -lssl -lxml2",
"condition": "!config.win32 && var.QT_EDITION != 'OpenSource'"
}
]
diff --git a/src/opcua/configure.pri b/src/opcua/configure.pri
index be9a7f9..0243e7b 100644
--- a/src/opcua/configure.pri
+++ b/src/opcua/configure.pri
@@ -23,7 +23,7 @@ defineTest(qtConfLibrary_uacpp) {
inc = $${prefix}/include
!isEmpty(inc) {
config.input.$${input}.incdir += \
- $$inc/uabase $$inc/uaclient $$inc/uastack $$inc/uapki
+ $$inc/uabasecpp $$inc/uaclientcpp $$inc/uastack $$inc/uapkicpp
} else {
qtLog("No UACPP_PREFIX and no UACPP_INCDIR specified; relying on global include paths.")
}
diff --git a/src/opcua/core/qopcuaprovider.cpp b/src/opcua/core/qopcuaprovider.cpp
index acb8b16..ea17902 100644
--- a/src/opcua/core/qopcuaprovider.cpp
+++ b/src/opcua/core/qopcuaprovider.cpp
@@ -199,6 +199,19 @@ static QOpcUaPlugin *loadPlugin(const QString &key)
The optional argument \c backendProperties can be used to pass custom backend specific settings as key value pairs.
Those settings are specific to the backend being instantiated.
+
+ Available settings are
+ \table
+ \header
+ \li Setting string
+ \li Backend
+ \li Description
+ \row
+ \li disableEncryptedPasswordCheck
+ \li Unified Automation
+ \li By default, the backend refuses to connect to endpoints without encryption to avoid
+ sending passwords in clear text. This parameter allows to disable this feature.
+ \endtable
*/
QOpcUaClient *QOpcUaProvider::createClient(const QString &backend, const QVariantMap &backendProperties)
{
diff --git a/src/plugins/opcua/uacpp/quacppbackend.cpp b/src/plugins/opcua/uacpp/quacppbackend.cpp
index 4e21535..527041e 100644
--- a/src/plugins/opcua/uacpp/quacppbackend.cpp
+++ b/src/plugins/opcua/uacpp/quacppbackend.cpp
@@ -34,10 +34,11 @@
#include <QtNetwork/QHostInfo>
-#include <uabase/uaplatformlayer.h>
-#include <uaclient/uasession.h>
-#include <uabase/uastring.h>
-#include <uaclient/uadiscovery.h>
+#include <uaplatformlayer.h>
+#include <uasession.h>
+#include <uastring.h>
+#include <uadiscovery.h>
+#include <uadatavalue.h>
#include <limits>
@@ -201,6 +202,8 @@ void UACppAsyncBackend::connectToEndpoint(const QUrl &url)
UaString username(url.userName().toUtf8().constData());
UaString password(url.password().toUtf8().constData());
sessionSecurityInfo.setUserPasswordUserIdentity(username, password);
+ if (m_disableEncryptedPasswordCheck)
+ sessionSecurityInfo.disableEncryptedPasswordCheck = OpcUa_True;
}
result = m_nativeSession->connect(uaUrl, sessionConnectInfo, sessionSecurityInfo, this);
diff --git a/src/plugins/opcua/uacpp/quacppbackend.h b/src/plugins/opcua/uacpp/quacppbackend.h
index a8b9b97..99ad5be 100644
--- a/src/plugins/opcua/uacpp/quacppbackend.h
+++ b/src/plugins/opcua/uacpp/quacppbackend.h
@@ -29,8 +29,8 @@
#include <QtCore/QString>
#include <QtCore/QTimer>
-#include <uabase/uabase.h>
-#include <uaclient/uaclientsdk.h>
+#include <uabase.h>
+#include <uaclientsdk.h>
QT_BEGIN_NAMESPACE
@@ -78,6 +78,7 @@ public:
static bool m_platformLayerInitialized;
QMutex m_lifecycleMutex;
double m_minPublishingInterval;
+ bool m_disableEncryptedPasswordCheck{false};
};
QT_END_NAMESPACE
diff --git a/src/plugins/opcua/uacpp/quacppclient.cpp b/src/plugins/opcua/uacpp/quacppclient.cpp
index 2fb0922..c7d4772 100644
--- a/src/plugins/opcua/uacpp/quacppclient.cpp
+++ b/src/plugins/opcua/uacpp/quacppclient.cpp
@@ -40,7 +40,10 @@ QUACppClient::QUACppClient(const QVariantMap &backendProperties)
: QOpcUaClientImpl()
, m_backend(new UACppAsyncBackend(this))
{
- Q_UNUSED(backendProperties);
+ if (backendProperties.value(QLatin1String("disableEncryptedPasswordCheck"), false).toBool()) {
+ qCDebug(QT_OPCUA_PLUGINS_UACPP) << "Disabling encrypted password check.";
+ m_backend->m_disableEncryptedPasswordCheck = true;
+ }
m_thread = new QThread();
connectBackendWithClient(m_backend);
diff --git a/src/plugins/opcua/uacpp/quacppnode.h b/src/plugins/opcua/uacpp/quacppnode.h
index f8e7220..71f0900 100644
--- a/src/plugins/opcua/uacpp/quacppnode.h
+++ b/src/plugins/opcua/uacpp/quacppnode.h
@@ -28,7 +28,7 @@
#include <QtCore/QPointer>
-#include <uabase/uanodeid.h>
+#include <uanodeid.h>
QT_BEGIN_NAMESPACE
diff --git a/src/plugins/opcua/uacpp/quacppplugin.h b/src/plugins/opcua/uacpp/quacppplugin.h
index 801f12c..e8c7513 100644
--- a/src/plugins/opcua/uacpp/quacppplugin.h
+++ b/src/plugins/opcua/uacpp/quacppplugin.h
@@ -24,7 +24,7 @@
#include "qopcuaplugin.h"
-#include <uabase/uanodeid.h>
+#include <uanodeid.h>
QT_BEGIN_NAMESPACE
diff --git a/src/plugins/opcua/uacpp/quacppsubscription.cpp b/src/plugins/opcua/uacpp/quacppsubscription.cpp
index a4a8edf..0ab9bfa 100644
--- a/src/plugins/opcua/uacpp/quacppsubscription.cpp
+++ b/src/plugins/opcua/uacpp/quacppsubscription.cpp
@@ -26,7 +26,7 @@
#include <QtCore/QLoggingCategory>
-#include <uaclient/uasession.h>
+#include <uasession.h>
#include <uaeventfilterresult.h>
using namespace UaClientSdk;
diff --git a/src/plugins/opcua/uacpp/quacppsubscription.h b/src/plugins/opcua/uacpp/quacppsubscription.h
index e3a7450..cf4c1bf 100644
--- a/src/plugins/opcua/uacpp/quacppsubscription.h
+++ b/src/plugins/opcua/uacpp/quacppsubscription.h
@@ -24,8 +24,8 @@
#include <quacppbackend.h>
-#include <uabase/uanodeid.h>
-#include <uaclient/uasubscription.h>
+#include <uanodeid.h>
+#include <uasubscription.h>
QT_BEGIN_NAMESPACE
diff --git a/src/plugins/opcua/uacpp/quacpputils.cpp b/src/plugins/opcua/uacpp/quacpputils.cpp
index 4d5853e..c5661f9 100644
--- a/src/plugins/opcua/uacpp/quacpputils.cpp
+++ b/src/plugins/opcua/uacpp/quacpputils.cpp
@@ -27,7 +27,7 @@
#include <QtCore/QString>
#include <QtCore/QUuid>
-#include <uabase/uaguid.h>
+#include <uaguid.h>
#include <cstring>
QT_BEGIN_NAMESPACE
diff --git a/src/plugins/opcua/uacpp/quacpputils.h b/src/plugins/opcua/uacpp/quacpputils.h
index 7ee4a45..8358acc 100644
--- a/src/plugins/opcua/uacpp/quacpputils.h
+++ b/src/plugins/opcua/uacpp/quacpputils.h
@@ -24,7 +24,7 @@
#include <QtCore/qstring.h>
-#include <uabase/uanodeid.h>
+#include <uanodeid.h>
QT_BEGIN_NAMESPACE
diff --git a/src/plugins/opcua/uacpp/quacppvalueconverter.cpp b/src/plugins/opcua/uacpp/quacppvalueconverter.cpp
index 5aa4f5c..6b950da 100644
--- a/src/plugins/opcua/uacpp/quacppvalueconverter.cpp
+++ b/src/plugins/opcua/uacpp/quacppvalueconverter.cpp
@@ -28,14 +28,14 @@
#include <QtCore/QLoggingCategory>
#include <QtCore/QUuid>
-#include <uabase/uastring.h>
-#include <uabase/ualocalizedtext.h>
-#include <uabase/uadatetime.h>
-#include <uabase/uaguid.h>
-#include <uabase/uavariant.h>
-#include <uabase/uaextensionobject.h>
-#include <uabase/uaeuinformation.h>
-#include <uabase/uaaxisinformation.h>
+#include <uastring.h>
+#include <ualocalizedtext.h>
+#include <uadatetime.h>
+#include <uaguid.h>
+#include <uavariant.h>
+#include <uaextensionobject.h>
+#include <uaeuinformation.h>
+#include <uaaxisinformation.h>
QT_BEGIN_NAMESPACE
diff --git a/src/plugins/opcua/uacpp/quacppvalueconverter.h b/src/plugins/opcua/uacpp/quacppvalueconverter.h
index 341ca72..d4736db 100644
--- a/src/plugins/opcua/uacpp/quacppvalueconverter.h
+++ b/src/plugins/opcua/uacpp/quacppvalueconverter.h
@@ -27,7 +27,10 @@
#include <QtCore/QVariant>
-#include <uabase/uanodeid.h>
+#include <uanodeid.h>
+#include <uaarraytemplates.h> // for UaStringArray
+
+class UaLocalizedText;
QT_BEGIN_NAMESPACE