-
Notifications
You must be signed in to change notification settings - Fork 924
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merge master in release/1.5.372 #2437
Conversation
#2290) - only update the variable with new value if a new value is supplied by the underlying system
* added await for some TraceableSession functions * added missing configureAwait()
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.7.1 to 17.7.2. - [Release notes](https://github.com/microsoft/vstest/releases) - [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md) - [Commits](microsoft/vstest@v17.7.1...v17.7.2) --- updated-dependencies: - dependency-name: Microsoft.NET.Test.Sdk dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.13.7 to 0.13.8. - [Release notes](https://github.com/dotnet/BenchmarkDotNet/releases) - [Commits](dotnet/BenchmarkDotNet@v0.13.7...v0.13.8) --- updated-dependencies: - dependency-name: BenchmarkDotNet dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [docker/login-action](https://github.com/docker/login-action) from 2 to 3. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](docker/login-action@v2...v3) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 2 to 3. - [Release notes](https://github.com/docker/setup-qemu-action/releases) - [Commits](docker/setup-qemu-action@v2...v3) --- updated-dependencies: - dependency-name: docker/setup-qemu-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Replaced obsolete WithTls method call with WithTlsOptions method call as MQTTnet v4.3.0.858 recommends. * Dispose mqtt client certificates
Bumps [MQTTnet](https://github.com/dotnet/MQTTnet) from 4.2.1.781 to 4.3.1.873. - [Release notes](https://github.com/dotnet/MQTTnet/releases) - [Commits](dotnet/MQTTnet@v4.2.1.781...v4.3.1.873) --- updated-dependencies: - dependency-name: MQTTnet dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- Improvements when many sessions need to be opened - Introduce a OpenAsync version which usesmore async calls for session creation - add async interfaces to cert validator - refactor lock of encodeable factory - add a `EndAsync` property to WriteRequest to allow to await a service call - add a `EndSendRequestAsync` method to allow implementation of awaitable service calls
* Bump docker/setup-buildx-action from 2 to 3 Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 2 to 3. - [Release notes](https://github.com/docker/setup-buildx-action/releases) - [Commits](docker/setup-buildx-action@v2...v3) --- updated-dependencies: - dependency-name: docker/setup-buildx-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Bump docker/login-action from 2 to 3 Bumps [docker/login-action](https://github.com/docker/login-action) from 2 to 3. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](docker/login-action@v2...v3) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Bump docker/metadata-action from 4 to 5 Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 4 to 5. - [Release notes](https://github.com/docker/metadata-action/releases) - [Upgrade guide](https://github.com/docker/metadata-action/blob/master/UPGRADE.md) - [Commits](docker/metadata-action@v4...v5) --- updated-dependencies: - dependency-name: docker/metadata-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Bump docker/setup-qemu-action from 2 to 3 Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 2 to 3. - [Release notes](https://github.com/docker/setup-qemu-action/releases) - [Commits](docker/setup-qemu-action@v2...v3) --- updated-dependencies: - dependency-name: docker/setup-qemu-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Bump docker/build-push-action from 4 to 5 Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 4 to 5. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](docker/build-push-action@v4...v5) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- make session create fully async incl. loading of the complex type system
* Port to bouncycastle cryptography * fix X509SignatureFactory.cs for latest bouncy castle
…nstructors public (#2329) Making these constructors public will unblock testing important scenarios.
…ng.Abstractions (#2335) Referencing package OPCFoundation.NetStandard.Opc.Ua.Core from a .NET6 targeted project that in it self are using Microsoft.Extensions.Logging.Abstractions 6.0.4 will cause downgrade problems. Instead for .NET6 targeted applications reference 6.0.x versions of Microsoft.Extensions.Logging.Abstractions.
* Bump BenchmarkDotNet from 0.13.8 to 0.13.9 Bumps [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.13.8 to 0.13.9. - [Release notes](https://github.com/dotnet/BenchmarkDotNet/releases) - [Commits](dotnet/BenchmarkDotNet@v0.13.8...v0.13.9) --- updated-dependencies: - dependency-name: BenchmarkDotNet dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Update Opc.Ua.Configuration.Tests.csproj --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Martin Regen <mregen@microsoft.com>
Three new DataTypes plus Variables containing them were added to the Reference Server: - VectorUnion (as Scalar and Array): The VectorUnion contains three fields (X, Y, Z) and a SwitchField. When it is used as value, it is generated randomly (SwitchField set to None or one of the Fields) - VectorWithOptionalFields (as Scalar and Array): The VectorWithOptionalFields contains again three fields (X, Y, Z), but they are all optional. When it is used as a value, it is generated with 0 to all fields activated. - MultipleVectors (as Scalar and Array): The MultipleVectors type contains 6 Components. A regular Vector, a VectorUnion (from before), a VectorWithOptionalFields (also from before) and the same as Arrays.
- Add a property to `ApplicationInstance` to `DisableCertificateAutoCreation` - Add the test case to validate property function - Refactor some private API to follow coding style with `Async`suffix - By default behavior is unchanged
- improve various log messages, comments etc. - multiple internal improvements in naming convention handling of async functions - add FetchSuperTypesAsync - replace new UTFEncoding() with Encoding.UTF8 singleton
… type are not correctly encoded (#2349) - bug: if the nested complex type is derived from an abstract type like a Union, the decoder uses the abstract type instead of the actual type to decode - fix: the loop to determine the supertype of the type to be decoded stops too early and returns an invalid type reference, e.g. for Unions. Instead the loop will now continue until a valid BuiltInType or a Structure or Enumeration type is found.
Fix many warnings to improve code quality or simplify the code.
Bumps [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.13.9 to 0.13.10. - [Release notes](https://github.com/dotnet/BenchmarkDotNet/releases) - [Commits](dotnet/BenchmarkDotNet@v0.13.9...v0.13.10) --- updated-dependencies: - dependency-name: BenchmarkDotNet dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [NUnit](https://github.com/nunit/nunit) from 3.13.3 to 3.14.0. - [Release notes](https://github.com/nunit/nunit/releases) - [Changelog](https://github.com/nunit/nunit/blob/master/CHANGES.md) - [Commits](nunit/nunit@v3.13.3...v3.14.0) --- updated-dependencies: - dependency-name: NUnit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [Serilog](https://github.com/serilog/serilog) from 3.0.1 to 3.1.1. - [Release notes](https://github.com/serilog/serilog/releases) - [Commits](serilog/serilog@v3.0.1...v3.1.1) --- updated-dependencies: - dependency-name: Serilog dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.7.2 to 17.8.0. - [Release notes](https://github.com/microsoft/vstest/releases) - [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md) - [Commits](microsoft/vstest@v17.7.2...v17.8.0) --- updated-dependencies: - dependency-name: Microsoft.NET.Test.Sdk dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [Serilog.Sinks.Console](https://github.com/serilog/serilog-sinks-console) from 4.1.0 to 5.0.0. - [Release notes](https://github.com/serilog/serilog-sinks-console/releases) - [Commits](serilog/serilog-sinks-console@v4.1.0...v5.0.0) --- updated-dependencies: - dependency-name: Serilog.Sinks.Console dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [Serilog.Expressions](https://github.com/serilog/serilog-expressions) from 3.4.1 to 4.0.0. - [Release notes](https://github.com/serilog/serilog-expressions/releases) - [Commits](serilog/serilog-expressions@v3.4.1...v4.0.0) --- updated-dependencies: - dependency-name: Serilog.Expressions dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- CloseAsync still used the 'Close' synchronous function - remove a duplicate definition of IDisposable on ISession - reduce the log output when the server publish time is out of sync
XmlEncoder.WriteArray and XmlDecoder.ReadArray always use the OPC UA XML namespace (http://opcfoundation.org/UA/2008/02/Types.xsd) for the field element that contains the array, regardless of the namespace that the caller may have pushed.
Introduces an exception, to notify the user when supplying an invalid argument to the method CreateCACertificateAsync This exception was introduced, as in the current implementation the same subject name has to be used as in the configuration or else the certificate is not copied to the trusted store.
Root cause: Target's IsInverse flag which has incorrect value is used during the removal of source's reference Fix: Retrieve the source's reference by the targetId first and remove it.
Fix some warnings and build errors with .NET 8. To build as .NET 8, add net8.0 to target.props.
…ed items (#2384) Currently, due to some internal cloning of sessions, subscriptions and monitored items it is not possible to use subclassed variants which are properly recreated after a session reconnect. - Add a `ISessionInstantiator` interface to allow to subclass a `Session` and override virtual function. - Add a `Subscription.CloneSubscription` and `MonitoredItem.CloneMonitoredItem` virtual method to recreate those with event handlers and client handles. - A sample implementation with `TestableXXX` classes is provided to test the BadInvalidTimestamp fix by injecting modified timestamps in the session class. - Remove duplicate `IDisposable` with `Session`. `IClientBase` is disposable already. - adds `knownTypes` parameter to `Session.Load` and `Session.Save` to support save and restore of custom Subscriptions and Monitored items. bug fixes: - IOP: an empty DataTypeDictionary throws an exception when loaded by the complex type system, server are allowed to leave it empty to save memory. - BadInvalidTimestamp should not be returned when the timestamp in the requestheader is out of sync. #2364
Bumps [System.Text.Encodings.Web](https://github.com/dotnet/runtime) from 6.0.0 to 8.0.0. - [Release notes](https://github.com/dotnet/runtime/releases) - [Commits](dotnet/runtime@v6.0.0...v8.0.0) --- updated-dependencies: - dependency-name: System.Text.Encodings.Web dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- Implement the reconnect and republish with async service calls. bug fixes: - subscription Ids should start from a random number - the keep alive interval calculation is too short, adding +1 for the timeout - on BadSessionIdInvalid recreate session immediately - on a restarted server with new certificate, also reload endpoints when BadCertificateInvalid is returned
Bumps [Microsoft.SourceLink.GitHub](https://github.com/dotnet/sourcelink) from 1.1.1 to 8.0.0. - [Release notes](https://github.com/dotnet/sourcelink/releases) - [Commits](dotnet/sourcelink@1.1.1...8.0.0) --- updated-dependencies: - dependency-name: Microsoft.SourceLink.GitHub dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Since some distributions stop to trust SHA1 signatures by default, replace some internal algorithm checks with SHA256 versions. The test case to force signature check also reenables ECC tests for .NET 4.8 which had been previously disabled.
Bumps [Moq](https://github.com/moq/moq) from 4.20.69 to 4.20.70. - [Release notes](https://github.com/moq/moq/releases) - [Changelog](https://github.com/devlooped/moq/blob/main/CHANGELOG.md) - [Commits](moq/moq.spikes@v4.20.69...v4.20.70) --- updated-dependencies: - dependency-name: Moq dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
) The goal is to reduce the overall number of builds, stop using end of life platforms in the build pipeline and to support build of future/deprecated build targets in a custom build step, which is also triggered weekly in the ci builds. In addition: - added a doc which describes the release and versioning strategy of this project - produce the Nuget packges with .NET 8 assemblies. - produce a Docker build based on a .NET 8 based container. - add custom test targets to test outdated platforms. Need a manual step to enable for VS or command line. - bug fixes: the latest move to an alternate crypto library for Bouncy Castle, which is only used for the GDS support and .NET Framework 4.6.2./netstandard2.0, revealed already a few issues which were previously not found. - only .NET8/.NET6/.NET Framework 4.8 are tested in Pull requests. Remaining builds in weekly scheduled builds.
With this Pull Request i improve the reusability of the Code by changing reverences to CertificateGroup to the Interface ICertificateGroup, through this change users can extend the functionality of CertificateGroup by providing an own implementation. Furthermore I fix two issues of the GDS: - The GDS does not trust its own CA Certificate, therefore it rejects connection attempts from clients with a CA signed certificate (e.g. after a sucessful registration & a new CA signed Application certificate received -> Client tries to connect with the new certificate to get the TrustList -> gets rejected) -> new Method AddOwnCertificateToTrustedStoreAsync added to Class ApplicationInstance -> you can call this after starting the GDS Server with CA-Certificate of the GDS as parameter - The GDS does not revoke Certificate in the TrustedList Store CRL, so OPC UA Applications can´t get revoked certs -> this is fixed by adding a call to UpdateAuthorityCertInTrustedList to the method RevokeCertificateAsync
…d hardcoded passwords (#2402) Manage the GDS Server Users in a Database. The implementation is based on the IUsersDatabase Interface which allows the User of the library to provide its own implementaion. For testing a Json/Linq Users Database implementation is provided. Passwords are hashed with the PBKDF2 with 10k iterations. In the default config the standard users with the demo passwords are created, so the behaviour for existing applications is not changed.
…2388) * Bump Microsoft.Extensions.Logging.Abstractions from 3.1.32 to 8.0.0 Bumps [Microsoft.Extensions.Logging.Abstractions](https://github.com/dotnet/runtime) from 3.1.32 to 8.0.0. - [Release notes](https://github.com/dotnet/runtime/releases) - [Commits](https://github.com/dotnet/runtime/commits/v8.0.0) --- updated-dependencies: - dependency-name: Microsoft.Extensions.Logging.Abstractions dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Update UA Server Controls.csproj * Update UA Client Controls.csproj * Update Opc.Ua.Core.csproj --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Martin Regen <mregen@microsoft.com>
Fix cases where a cancellable WaitAsync(ct) on a SemaphoreSlim within a try/finally could end up in a deadlock. Fix: The WaitAsync must be outside the try/finally block. if the WaitAsync is cancelled, it should not release the semaphore
Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 3 to 4. - [Release notes](https://github.com/actions/setup-dotnet/releases) - [Commits](actions/setup-dotnet@v3...v4) --- updated-dependencies: - dependency-name: actions/setup-dotnet dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.13.10 to 0.13.11. - [Release notes](https://github.com/dotnet/BenchmarkDotNet/releases) - [Commits](dotnet/BenchmarkDotNet@v0.13.10...v0.13.11) --- updated-dependencies: - dependency-name: BenchmarkDotNet dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sample code to show how to customize a session and how to add OTEL telemetry for activities to the additional header field of a request header.
…StoreTypeNames public (#2429) Allow to check if there is already a regsitration.
…riter configuration (#2428)
* Bump MQTTnet from 4.3.1.873 to 4.3.3.952 Bumps [MQTTnet](https://github.com/dotnet/MQTTnet) from 4.3.1.873 to 4.3.3.952. - [Release notes](https://github.com/dotnet/MQTTnet/releases) - [Commits](dotnet/MQTTnet@v4.3.1.873...v4.3.3.952) --- updated-dependencies: - dependency-name: MQTTnet dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Update Opc.Ua.PubSub.csproj force a rebuild --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Martin Regen <mregen@microsoft.com>
|
Proposed changes
merge latest master