Commit Graph

176 Commits

Author SHA1 Message Date
Julius Pfrommer 5bf6f0c3e7 refactor(pubsub): Remove the old direct-access API
The public Offset Table API should be used for realtime operations on
the NetworkMessages instead.
2025-01-19 22:33:50 +01:00
Julius Pfrommer 63057d83d8 refactor(examples): server_pubsub_file_configuration does not use the internal API 2024-12-25 13:38:51 +01:00
Julius Pfrommer 9ae8b76986 refactor(plugins): Use urn:open62541.unconfigured.application as the default ApplicationUri
We want to have the same default for client and server. So we get less
trouble with reusing certificates. Before we had to manually adjust the
client URI to say "server". That's not good...
2024-12-10 08:28:30 +01:00
Julius Pfrommer f9109ddfa6 refactor(pubsub): Remove the last remnants of UA_ENABLE_PUBSUB_ENCRYPTION 2024-11-29 21:51:07 +01:00
Julius Pfrommer 3785ed5c4d Merge remote-tracking branch 'origin/1.4' into merge_14_master_24 2024-11-29 21:50:04 +01:00
Julius Pfrommer bfaec719ad Merge remote-tracking branch 'origin/1.4' into merge_14_master_24 2024-11-15 21:15:00 +01:00
Eugene Melekhov d4c5aaa2a7 fix(pubsub): Fix MQTT subscribe ReaderGroup config copying (#6808) (#6850) 2024-11-13 18:34:36 +01:00
Eugene Melekhov 8ab3b49f3f fix(pubsub): fix setting writer group messsage & transport settings (#6814) 2024-11-09 11:31:06 +01:00
Julius Pfrommer fb6ed1798b refactor(pubsub): Rename ua_pubsub.h into ua_pubsub_internal.h
This way all subsystems (client/server/pubsub) follow the same
nomenclature.
2024-10-11 23:08:03 +02:00
Julius Pfrommer 450f8ac8d6 refactor(pubsub): Remove the unused "enabled" parameters in the config 2024-09-09 23:20:32 +02:00
Julius Pfrommer 8370f7a6bb refactor(examples): Simplify the PubSub component state handling in the examples 2024-09-09 23:20:32 +02:00
Julius Pfrommer 8cd91d6a6f refactor(pubsub): Internalize UA_Server_freezeWriterGroup et al.
Freezing is now done automatically when the WriterGroup is enabled.
2024-09-09 23:20:32 +02:00
Julius Pfrommer 3f64eaf968 refactor(pubsub): Clean up the SubscribedDataSet API 2024-09-09 23:20:32 +02:00
Julius Pfrommer c4686f6351 refactor(pubsub): Use the stateChangeCallback to receive message receive timeout signals 2024-09-09 23:20:32 +02:00
Julius Pfrommer 604bf7b59e refactor(pubsub): Simplify the PubSubComponent callback API 2024-09-09 23:20:32 +02:00
Julius Pfrommer f7d66be548 refactor(pubsub): Remove the UA_ENABLE_PUBSUB_MONITORING option and always enable 2024-09-09 23:20:32 +02:00
Rolf Kalbermatter 00f8e00761 feat(pubsub): Move configuration loading from ByteString to the public API (#6674) 2024-09-04 11:37:43 +02:00
Julius Pfrommer 705801a55c refactor(examples): Use the NS0ID shorthand in the examples 2024-07-26 08:30:16 +02:00
Noel Graf 5fa1cf643e feat(plugin): Adding filestore backend security policies (#6564)
* feat(plugin): Add filestore backend security policies to support writing updated certificates back to the file system

* feat(tests): Add test cases for the filestore security policies and the updateCertificate function

---------

Co-authored-by: Julius Pfrommer <jpfr@users.noreply.github.com>
2024-07-23 14:41:48 +02:00
Julius Pfrommer eab68cf716 refactor(pubsub): Always compile encryption for PubSub
This removes the UA_ENABLE_PUBSUB_ENCRYPTION option entirely.
Its not much code and the complexity gets reduced.
2024-07-20 11:42:05 +02:00
Julius Pfrommer 33327a85a9 Merge remote-tracking branch 'origin/1.4' into merge_14_master_17 2024-07-08 10:56:48 +02:00
Julius Pfrommer d463871863 Merge branch 'publish_pubsub_rt' into merge_14_master_16 2024-06-25 15:53:04 +02:00
Julius Pfrommer 8cee854bea refactor(examples): Move outdated PubSub RT examples to the attic 2024-06-17 14:52:13 +02:00
Julius Pfrommer de087eb460 refactor(examples): Move outdated PubSub RT examples to the attic 2024-06-17 13:47:56 +02:00
Noel Graf 9c0ea6df95 refactor(server): Removed the old CertificateVerification implementation 2024-06-10 15:27:40 +02:00
RolfKal 6fb9591892 fix(examples): Change UA_ServerConfig_clean() to UA_SeverConfig_clear() to match the new function name in the library 2024-04-30 11:00:21 +02:00
Julius Pfrommer 2b0d4890e7 refactor(pubsub): Use the same type for the PublisherId everywhere 2024-04-21 13:39:42 +02:00
Noel Graf 579d51f75b feat(server): Define the CertificateGroup interface and enable gds push management capabilities in the server information model. 2024-02-23 11:37:52 +01:00
Vasilij Strassheim 18e85b9136 fix(ex): fix json encoding in pubsub mqtt tutorial
Fix #5990 with additional TRANSPORT_PROFILE_URI and updated json enabling.

transportProfiles in ua_pubsub_eventloop do not have the used pubsub-mqtt
profile. Additional supported pubsub-mqtt-uadp and pubsub-mqtt-json
definitions will fix the examples.

Also json encoding is activated indirectly in the example with
UA_ENABLE_JSON_ENCODING, but at the same time the --json argument is
also offered for publish example while subscriber example doesn't have
such argument. This is inconsistent and confusing.

Now the same argument should activate the json encoding when the example
applications are called while uadp as still default/fallback.

Signed-off-by: Vasilij Strassheim <vasilij.strassheim@linutronix.de>
2023-11-16 13:19:50 +01:00
Julius Pfrommer 09317bcc00 Merge remote-tracking branch 'origin/1.4' 2023-11-14 17:39:04 +01:00
Julius Pfrommer 0271f50579 refactor(server): Only use logging-pointer instead of inline structure
We could not adjust all pointers when moving the config "into" the
server.
2023-11-10 08:38:53 +01:00
Julius Pfrommer 9eee407857 Merge remote-tracking branch 'origin/1.4' into merge_14_master_7 2023-10-22 11:32:38 +02:00
Julius Pfrommer a9c0e38266 refactor(examples): Use internal interrupts in server_pubsub_publisher_rt_level.c 2023-10-22 10:51:09 +02:00
Julius Pfrommer c4ef59a65e Merge remote-tracking branch 'origin/1.4' into merge_14_master_5 2023-10-11 20:21:31 +02:00
Julius Pfrommer 2bd9e723ad refactor(build): Remove UA_ENABLE_PUBSUB_ETH_UADP option - now part of the EventLoop 2023-10-07 23:07:54 +02:00
Vasilij Strassheim 0a67c35dd2 feat(ex): add interface argument usage for udp pubsub
Without defined key value for interface only the default interface will
join the multicast group due to INADDR_ANY address in setsockopt.
The additional argument makes it easier to use other interfaces.

Signed-off-by: Vasilij Strassheim <v.strassheim@linutronix.de>
2023-10-02 20:25:40 +02:00
Julius Pfrommer 3e926f4404 Merge remote-tracking branch 'origin/1.4' into merge_14_master_4 2023-09-26 08:23:04 +02:00
Florian Kauer c68f2a020d fix(ex): add missing headers
In 928931ec36 ("refactor(core): Move architecture-specific definition out of the public headers"),
headers were removed from the core headers, so some examples do no
longer build. Therefore, add them directly.

Fixes: 928931ec36 ("refactor(core): Move architecture-specific definition out of the public headers")
Signed-off-by: Florian Kauer <florian.kauer@linutronix.de>
2023-09-13 19:10:24 +02:00
Julius Pfrommer a32b67171a Merge remote-tracking branch 'origin/1.4' into merge_14_master_2 2023-08-01 23:09:09 +02:00
Julius Pfrommer 9cbdbb30b5 refactor(examples): Move monitoring example into main pubsub-examples folder 2023-08-01 19:28:19 +02:00
Julius Pfrommer 3f71765883 refactor(examples): Remove use of internal API from server_pubsub_subscribe_custom_monitoring.c 2023-08-01 19:28:19 +02:00
Julius Pfrommer 928931ec36 refactor(core): Move architecture-specific definition out of the public headers 2023-07-28 21:42:56 +02:00
Gaurav Kumar Singh 5c979cd8c5 feat(pubsub) overhaul pubsub state machine, states, api, tests
* feat(pubsub): Add DSR state to pubsub-reduced namespace

* feat(pubsub) add preoperantiol-state for DataSetReaders

* feat(pubsub) DSR state representation added to information model

* feat(pubsub): Fix test to use pre-operational state

* feat(pubsub): Add state variable for Reader/WriterGroup and DataSetWriter

Signed-off-by: Gaurav Kumar Singh <gk.singh@be-services.com>

* feat(pubsub): Add Pre-Operational state for WG and DSW

Signed-off-by: Gaurav Kumar Singh <gk.singh@be-services.com>

* feat(pubsub) Revise state machine for Reader/WriterGroups based on proposal

- Add enableReader/WriterGroup API
- Add enableDataSetReader/Writer API
- Add automatic transitions from Pre-Operational to Operational
  based on connections and securitytoken configuration

* feat(pubsub) Add test cases for state changes

Signed-off-by: Gaurav Kumar Singh <gk.singh@be-services.com>

* feat(pubsub): Fix for pubsub tests to handle correct state changes

Signed-off-by: Gaurav Kumar Singh <gk.singh@be-services.com>

* feat(pubsub): Update examples to support enable APIs

* feat(pubsub): Update flow for key assignment via SKS

- Remove Operational APIs for Reader/WriterGroup
- Add API to ActivateKeys to channel
- Update SKS tests and Example application to use
the new API

Signed-off-by: Gaurav Kumar Singh <gk.singh@be-services.com>

* feat(pubsub): Add component interaction table for the puusub components

Signed-off-by: Gaurav Kumar Singh <gk.singh@be-services.com>

* fix(eventloop): Release lock before Shutdown
2023-07-28 10:01:14 +02:00
Julius Pfrommer fea29ebcd0 refactor(pubsub): Remove the unused SubscribingInterval from the ReaderGroup config 2023-07-27 00:11:41 +02:00
basyskom-dege 0f055942b7 feat(CI): Added support for arguments in the examples workflow (#5760)
* CI: Added support for arguments in the examples workflow

* Fixed memory leaks in examples. Add ApplicationUri

* Arguments and server/client for all examples. Small fixes

* outsource/blacklist some examples. Fix memory leak in example.

* Remove Shlex. Remove false UA_Client_delete

* Removed raw examples from ci. Fix leak in client.c and mqtt_publish

* Fix memory leak in mqtt subscriber
2023-07-02 02:58:40 +02:00
Julius Pfrommer 2d9bf66e15 feat(server): Use dedicate PKI for SecureChannel and Session certificates 2023-06-27 07:17:46 +02:00
Julius Pfrommer b37c9af3fb fix(examples): Make tutorial_pubsub_mqtt_* build for MSVC 2023-06-16 18:52:25 +02:00
Julius Pfrommer 0841ce9f95 refactor(examples): Remove plugin/pubsub.h API from the examples 2023-06-16 18:52:25 +02:00
Julius Pfrommer dc9521f23b refactor(pubsub): Switch PubSub to EventLoop model 2023-06-13 16:58:55 +02:00
basyskom-dege b5edf6d814 fix(CI): Enable sks and encryption examples. Fix memory leak in sks example (#5747) 2023-05-11 17:56:32 +02:00