* Fix memory leak in UA_HistoryDataBackend_Memory
* Fix uninitialized memory in the default history data gathering plugin
After extending the memory block with realloc, the additional memory is
not initialized with null bytes.
If UA_ENABLE_ENCRYPTION_MBEDTLS is set, SecurityPolicy None will still
just copy the certificate data. If the input is PEM, the trailing null
byte is not added and mbedTLS will fail to parse the data.
This breaks the application URI check on server start.
In case of UA_ENABLE_ENCRYPTION_OPENSSL, there is a similar problem
if the PEM data is just copied into the local certificate byte string.
* Add null terminator before parsing certificates and keys
mbedTLS expects PEM data to be null terminated, the length
parameter must include the null terminator.
By adding the null terminator inside open62541, an application
doesn't have to care what type of certificate or key is used.
* Extend encryption tests
- Add test for security policy Basic256
- Add test with PEM encoded certificate and key
* Fix amalgamation build for ua_pki_default.c
Including securitypolicy_mbedtls_common.h is not possible because
it is added to the amalgamation after ua_pki_default.c
* Add PEM support for the OpenSSL plugins
PEM is permitted for
- Private key
- CRL
- Trusted certificates
- Issuer certificates
* OpenSSL: Load the private key in a central place in the security policies
This is a preparation for the support of password protected private keys.
A library should not call openlog(3). It is the program's job to
do this once at startup. There it can select its ident, logopts
and facility. Remove the call and its parameter from UA_Log_Syslog()
and UA_Log_Syslog_withLevel(). Write in the documentation that
openlog(3) must be called before.
- New transport settings added for XDP functionality
- Moved both XDP config and xdpsocket to plugins
- Default values for defines in plugin
Change-Id: Ibd7760c9abab45c6f37ae324fec6dabc853cf797
If the PubSub connection configuration defines a specific network
interface (optional parameter), we want to set this interface not only
for outgoing, but for incoming traffic too.
- ETF socket structure added in connection config
- Used the same on socket configuration while opening socket
Change-Id: I2d21cdd2bc1c9769299aa63b49c1da892b59080d
- New transport file created ua_pubsub_ethernet.c
- Modification are removed in ethernet and udp .c files
- New transport settings added for ETF functionality
Change-Id: Id11b1a06f67a8f96cd8713415f6b8472fae0b532
- Thread creation has been integrated with addRepeatedCallback
- Introduction of RT Fixed offsets
- Change from Datetime nodes to UInt64 nodes(for RT)
Change-Id: I361a1027dfe633e9b36d25bb74dad6d3a5774e01
- Application design change to run Publisher
and Subscriber in same core(core 2)
- User application runs in core 3
- Three thread application design
(Publisher, Subscriber, User application)
- TODO:Implement spin locks for threads
Change-Id: I7c4a9bc685c9395d058b4cce71cb1ea9ffef61a8
- Run time triggered PubSub application using ETF at a publishing interval
of 250 microseconds with qbv offset of 25us
- Integrate time triggered functionality and publish
OPCUA PubSub packets at calculated transmission time
- Handle PubSub application for UDP and Ethernet over UADP
- Implement Publisher and Subscriber as threads and handle
in same core
- Integrate target variable implementation in Subscriber thread
- TODO: Write unit test cases to ensure no memory leaks are possible
Change-Id: I50982a32e126de82f4adb5e07b1ec626c0527f26
The PermissionType (Part 3) defines 17 permissions. Currently the
access control plugin can control all but 2 of them. Those are browse
and ReceiveEvents. This change adds check for browse permission of
nodes.
In for example LWIP the number of TCP connection resources must be
configured at compile time. On a device with several protocols that
relies on TCP they must share this common pool of TCP resources. To
avoid one protocol allocating all TCP resources they must limit
themselfs in the number of TCP connections they allocate.