Commit Graph
1042 Commits
Author SHA1 Message Date
Martin Regen f53f71f8a4 Complex types fixes (#978)
fix #940 and #975 
- add namespace qualifier to complex type name
- improve handling of known subtypes
- fix Pss detection on .Net 462
- stronger check of valid DataTypeDefinition for servers which expose invalid structure (nodejs)
2020-05-15 12:54:20 +02:00
Alin Moldovean 946f402e87 Merge pull request #980 from AlinMoldovean/master
Revert ExtensionObject changes for TypeId
2020-05-15 12:11:19 +03:00
AlinMoldovean 7278f70025 Revert ExtensionObject changes for TypeId 2020-05-15 12:09:30 +03:00
Alin Moldovean 499cff349a Merge pull request #979 from AlinMoldovean/master
Revert TypeId fix for ExtensionObject
2020-05-15 12:04:54 +03:00
AlinMoldovean 74247e4e8d Revert TypeId fix for ExtensionObject 2020-05-15 12:01:58 +03:00
Alin Moldovean ed4cc1331f Implement support for AccessRestrictions and RolePermissions attributes (#977)
* Implement Server support for AccessRestrictions and RolePermissions attributes

* Add nodes with AccessRestrictions and RolePermissions in ReferenceServer
Add example for assigning roles to users.
2020-05-14 17:20:40 +03:00
Alexander Köpke ac73d179cd Fixed crash when monitor item same item (after disconnect and connect) (#972)
solves issue #968
2020-05-11 13:56:18 +03:00
Martin Regen 4cd7100d55 Azure pipeline improvements (#965)
- stages now run parallel, cut runtime by a few minutes if we get enough hosted agents...
- supposedly fix the intermittent build errors for solutions, always restore before build or test
- simplify pipeline scripts by changing a few project names
- seperate script for code coverage
- add upload to codecov and codacy, for the latter only if the token is set
- move nohttps build to dotnet build stage
- fix a VS2019 warning in .editorconfig
- give lgtm more coverage by using sample projects

For code coverage, check:
https://codecov.io/gh/OPCFoundation/UA-.NETStandard

For lgtm results, check:
https://lgtm.com/projects/g/OPCFoundation/UA-.NETStandard/?mode=list
2020-05-05 12:06:20 +02:00
Martin Regen aaf4c9ab87 Opc.Ua.Core/Types content formatting - no bugfixes (#963)
- Simplify future maintenance by formatting all source code in types according to editorconfig style
2020-05-04 13:55:41 +02:00
Martin Regen 9faccf2b1b Enable C# lgtm build (#964)
* add lgtm extraction helper
2020-05-01 11:31:14 +02:00
Alexander Köpke 3e61a85901 Update from .NET 4.6 to .NET 4.6.2 (#959)
Upgraded all project from .NET 4.6 to .NET 4.6.2 that also .NET framework applications can use latest version of Kestrel

* Updated Kestrel to 2.2.0 (for Opc.Ua.Core)
* Simplified csproj (removed ItemGroup Condition="'$(TargetFramework)' == 'netstandard1.3'") because currently we don't build netstandard1.x anymore
* Removed Kestrel 1.1.3 code from Stack/Opc.Ua.Core/Stack/Https/HttpsListener.cs 
* add conditions to Stack/Opc.Ua.Core/Stack/Https/HttpsTransportChannel.cs 
  * [HttpClientHandler.ServerCertificateCustomValidationCallback](https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclienthandler.servercertificatecustomvalidationcallback?view=netcore-3.1&viewFallbackFrom=netframework-4.6.2) should not be available in .NET 4.6.X
* Updated travis.ci to use latest mono version (original version causes build errors)
* Added nuget reference .NET Standard Library to mono projects to be compatible with latest Kestrel version

Own Travis.ci and Azure Pipeline builds run sucessfully.
2020-05-01 09:57:15 +02:00
Martin Regen 9c1879facf Fix ReadNode for Nodes with RolePermission returning BadUserAccessDenied (#956)
- ReadNode was throwing exception in this case, making it impossible to browse the namespace
- Fix: RolePermission is an optional attribute, it can be ignored if access is denied.
2020-04-28 12:01:21 +02:00
Martin Regen 689f4f3068 Unit tests for IEncodeables, badges and fixes for build pipeline (#952)
- add encode/decode tests for all IEncodeables in Opc.Ua.Core. 
- *Breaking change*: ExtensionObject now returns the proper TypeId on decode for known encodeables. 
- remove Nuget.Config, it may have caused some intermittent build problems in Azure pipelines
- Code coverage now 39.5%
- Add a few badges for project info
- fix travis build, it only supports .Net Core 2 projects.
- *Breaking change*: SessionlessMessage uses the same TypeId as SessionlessInvokeRequestType which can cause problems in type factory, demoted the structure as not being IEncodeable as it is only used as a helper class in encoders/decoders.
- restructure AzPipeline builds to avoid imtermittent build issues,
2020-04-24 12:45:58 +02:00
Alin Moldovean 2219e0203c Merge pull request #950 from AlinMoldovean/master
Fixes #924 - Client compliance fix.
2020-04-23 09:19:18 +03:00
AlinMoldovean 03b582a70f Fixes #924 - Client compliance fix. DeleteSubscription after Publish response with unknown SubscriptionId. 2020-04-22 14:57:14 +03:00
Alin Moldovean 87b7ef031e Merge pull request #945 from AlinMoldovean/master
Avoid null reference in ServerInternalData.ReportEvent()
2020-04-14 17:10:57 +03:00
Martin Regen 20aeb22989 Fix bytestring JSON array encoding, add code coverage (#943)
- more random Variant encoding tests, incl. arrays
- fix bytestring JSON array encoding, null or empty bytestring difference is now preserved
- add solution builds to Azure pipeline build, appveyor can be retired after a brief test period
- add code coverage to linux tests, artifact is published in pipeline build results
2020-04-14 15:55:22 +02:00
AlinMoldovean b0efe8f981 Avoid null reference in ServerInternalData.ReportEvent() 2020-04-14 15:34:20 +03:00
Alexander Köpke c6463cb51b Extended Documentation (#938)
* Extended Documentation

Added description on how to integrate new information model into OPC Server with DataTypes server as example
2020-04-14 09:26:09 +02:00
Alin Moldovean 9af68e0da8 Fix for writing RolePermissions and AccessRestrictions attributes (#939)
* Fix for writing RolePermissions and AccessRestrictions attributes in Server.

* Allow also UInt32 type when writing AccessRestrictions attribute.
2020-04-08 12:36:27 +03:00
Krzysztof Krawczyński cfe2ec828a Fix typo and grammar in Application Instance Certificate exception (#937) 2020-04-06 22:42:06 +02:00
Erich Barnstedt f7950ebec4 Update README.md 2020-04-01 15:09:09 +02:00
Erich Barnstedt c7fa0f1b5d Added debuggable Docker container definition. (#934)
Visual Studio 2017 and 2019 support debugging Docker containers. You need to install Docker for Windows for this to work, though, find it here: https://download.docker.com/win/stable/Docker%20Desktop%20Installer.exe.

This change adds a Docker container definition and the settings for Visual Studio to expose the containerized Aggregation server running on Linux through the default OPC UA port (62530).
2020-04-01 15:05:36 +02:00
Alin Moldovean f4853f25f6 Merge pull request #935 from AlinMoldovean/master
Fixes #737 - null reference in AlarmCondition server.
2020-03-31 18:23:01 +03:00
AlinMoldovean 7f9689f2b5 Fixes #737 - null reference in AlarmCondition server. LocalTime property became optional. 2020-03-31 17:31:21 +03:00
Alin Moldovean 58e39e0e33 Merge pull request #932 from AlinMoldovean/master
Fixes #929 - duplicate entries in GetEndpoint response.
2020-03-30 11:38:15 +03:00
AlinMoldovean b74cca1b35 Fixes #929 - duplicate entries in GetEndpoint response. 2020-03-27 17:56:50 +02:00
Martin Regen 8b201f7fb9 Add public key for build (#927)
- signed assemblies need a public key if 'InternalsVisibleTo' is being used. Add a define in such a case to provide a key. .Net Core 3.0 doesn't accept the dummy key, here is the real thing.
1.4.360.33
2020-03-24 10:00:44 +01:00
Alin Moldovean 0ec6d33164 Merge pull request #926 from AlinMoldovean/master
Add dummy PublicKey in Core.InternalsVisibleTo for Nuget build test
2020-03-20 16:28:43 +02:00
AlinMoldovean 971d2c7f53 Add dummy PublicKey in Core.InternalsVisibleTo for Nuget build test 2020-03-20 15:44:01 +02:00
Alin Moldovean 81832f71a3 Update UA-Nodesets and generated code (#925)
* Update generated code and UA-nodeset files for 1.04.5 Errata

* Update UA-Nodeset files and generated code of Sample projects with latest version of ModelCompiler
2020-03-20 14:43:25 +02:00
Martin Regen 1ff1ae7e52 IOP 2020: Workshop fixes (#916)
- fix to validate structuredefinition if servers do not fill out the DataTypeDefinition correctly
- The GDS creates the CRL cert with its own CA serial number, invalidating the CA by default on some stacks
- complex structuretype must be virtual, non reversible union encoding could not be detected 
- fix binary schema validation, allow the \" character in a qualified name
- support use of simple subtypes in a complex type. For custom and standard subtypes.
- only support structure objects with valuerank scalar or onedimension
2020-03-18 18:49:53 +01:00
Alin Moldovean 5c9f136c58 Merge pull request #917 from AlinMoldovean/master
Fix for CertificateUpdate
2020-03-12 17:04:42 +02:00
AlinMoldovean 926b5915da Fix for CertificateUpdate during application runtime. 2020-03-11 17:55:05 +02:00
Alin Moldovean f617c2aaae Merge pull request #915 from AlinMoldovean/master
CTT compliance fixes for Audit events.
2020-03-10 17:26:11 +02:00
AlinMoldovean ab5d93fa60 CTT compliance fixes for Audit events. 2020-03-10 16:47:05 +02:00
Martin Regen 0d01fbba64 Fix Variant init with enum array (#912)
* fix variant constructor for enum
* fix behaviour change for guid, can cause cast error
* minor warnings
2020-03-07 06:36:58 -06:00
Alin Moldovean 970593beb0 Compliance fixes for latest CTT (#913) 2020-03-06 16:36:17 +02:00
Martin Regen b6e8aaaedb Fix Test cases with DateTime which fail in US timezone
Implement a common way to convert DateTime to Universaltime and keep boundary values as they are
2020-03-05 10:42:43 -06:00
Martin Regen e908555216 Add schema tests for well known dictionaries (#909)
* add schema validation tests for well known type dictionaries
* comment duplicate test runs
2020-03-04 09:31:41 -06:00
Martin Regen 32e0660a7a Enable Azurepipelines build (#907)
-Starter for Azure pipelin builds, a bunch of tests in appveyor and travis can be disabled once this is working
-fix Opc.Ua.Core rootnamespace
-a few minor changes due to Ctrl-K,D refactoring, removal of dead code
2020-02-28 07:51:48 +01:00
opcfoundation-org 9a26bf6190 Set up CI with Azure Pipelines
[skip ci]
2020-02-22 07:54:38 -08:00
Martin Regen e606f3aa8c Stabilize TCP receive (#904)
- Various issues found during server testing with ref server
- Take a different approach on the nesting issue
- Fix a duplicate buffer free issue 
- stabilize binary decoder
2020-02-19 13:34:55 +01:00
Martin Regen 9f015128f0 Fix for non reversible encoding of Unions/Structures (#905)
* fix for non reversible encoding of Unions and structures
* handle exception when server returns null terminated dictionary bytestring
2020-02-18 17:11:11 +01:00
Martin Regen c39b1e3623 Tests and fixes for encoders and decoders (#897)
- Unit test project for Core, so far only types and cert validator
- CertValidator test moved to Core.Tests
- ComplexTypes client tests for encode / decode
- bug fixes for issues found in encoders/decoders and complex types tests

** breaking change for JSON encoding of NodeId **

encoding was not according to spec. see #874.

#874, #892 fixed
2020-02-06 17:38:00 +01:00
Martin Regen f56a810f74 Validate for spec compliant subscription defaults (#898)
Fix #894.
2020-02-06 08:21:08 +01:00
Alin Moldovean fbc88c8ec0 Fix in .editorconfig - put brace on new line for properties and accessors (#899) 2020-02-06 08:15:19 +01:00
Alin Moldovean 3e640bf702 Update UA NodeSets and generated code (#895)
* Update UA NodeSets and generated code with the latest updates for 1.04.04 Errata Release.

* Revert error in generated code.
1.4.359.31
2020-01-30 16:08:19 +02:00
Alin Moldovean 636f5c03f9 Implement validation for duplicate nonces (#893)
* - Add Server nonce validation for duplicate nonces.
- Add configuration flag to bypass validation exceptions

* Add ITransportChannel.CurrentToken interface for nonce validation.
2020-01-30 15:06:13 +02:00
Martin Regen a1faa0f7a1 Remove netstandard1.3 (#887)
* remove netstandard1.3 and unify csproj settings
* switch tests to silent mode
2020-01-23 07:22:26 +01:00