Skip to content

Conversation

@levkevi
Copy link
Owner

@levkevi levkevi commented Nov 18, 2016

No description provided.

oroulet and others added 30 commits July 24, 2018 20:19
* fix: dictionary changed size during iteration

* fix: 'NoneType' object has no attribute 'close_session'

* lock _enqueue_event: called from within MonitoredItemService
* try to find matching backward reference
* warn if backward reference to parent could not get parsed
* use last backward reference
…t to obtain an 1x4 array, such that the three bulider works properly.
* fixes TimeoutError in KeepAlive thread

* TimeoutError in KeepAlive thread - review 1
…ructs

* fixed two bugs, did some tests

* remove unnecessary tests

* replaced eval with getattr function

* remove unnecesssary comments

* fixed the generate_nodeid with non-digit nodeid problem

* modified the readability of the new change
starturtle and others added 30 commits September 11, 2020 16:02
#778 Specify the signature algorithm URL for certificate authentication (and use it, too) that was actually used to sign the certificate from the key specified. That way, signature lengths match and a server-side check can succeed.
#778 PolicyId for an authentication certificate should match the one inside the certificate.
This results in the nodeid having a wrong namespace.
- Map alias namespaces from server space to xml space before exporting
  in order to avoid `BadNodeIdUnknown` exceptions when importing the
  resulting XML file.

- Only use `ObjectIdNames` for name lookups if the target nodeid is in
  namespace 0.

- Use the name part of the browse name when creating mappings for nodeids
  not in namespace 0. Otherwise we end up with aliases like
  e.g. `<Alias Alias="ns=2;i=4002">ns=2;i=4002</Alias>`.
Removes the need to patch in the Server object via the _parent attribute
in InternalServer if the InternalServer is instantiated outside of
Server.__init__.

Before this commit, the Server object passed itself into the
InternalServer constructor. If we instantiate an InternalServer (that we
want to pass in) before the Server, we obviously don't have a Server
instance to pass in as the parent. So we end up having to do this:

>>> my_iserver = CustomInternalServer()
>>> server = Server(iserver = my_iserver)
>>> server.iserver._parent = server # <-- no longer necessary

To preserve compatibility and keep changes to a minimum, a user_manager
property and setter are added to the Server class which redirect to the
user_manager attribute of the internal server.
* Simple fix suggested by brubbel.

* Shorter notation, without pass.
The NodeId of the Server node has the identifier 2253, which does not
fit in the range (0 < id < 255) required by the two byte NodeId encoding
(OPC-6 5.2.2.9). Use FourByteNodeId instead.

Client side is correct since 2cbd333.
return must be tuple of variant!
Found the small type error while reading the code.
Clients registering for multiple event types will usually construct a
select clause selecting _all_ fields of all subscribed events. For
example when subscribing for all events in server-events.py with
UaExport causes a ~200 field select clause.

When triggering an event we walk all requested fields in the select
clause (even though the event being triggered right now only has a few
of them).

In the server-events.py example this behavior causes quite some
overhead as from the ~200 requested fields only a few need to be
populated. For all other items a Variant(None) is instantiated.

Instead of instantiating a new Variant(None) for every none-existant
field we can just reuse the same instance for all none existant fields.

In my tests this caused a speed up >50% (~5ms -> ~2ms) for triggering
an event if a client with a large select clause is subscribed.
Adapt bug_report.md from opcua-asyncio and edit links.
* Parse string Guid NodeId as UUID (#1141)

The following is the original :
FreeOpcUa/opcua-asyncio@0529ec7

* Fixed The Travis CI build failed

* Add test

The following is the original :
FreeOpcUa/opcua-asyncio@0529ec7

Co-authored-by: H.Tanaka <hirokazu.tanaka@users.noreply.github.com>
Serialization emitted wrong string for the XML dateTime type

Wrong: <uax:DateTime>2020-01-31 12:00:00</uax:DateTime>
Correct: <uax:DateTime>2020-01-31T12:00:00</uax:DateTime>

Notice the missing T seperator in the text representation of the value
attribute.

In XML the parser expects a string according to this format.
https://www.w3.org/TR/xmlschema-2/#dateTime

Fixes issue #1343
prevents unsupported identity tokens to create a session.
For example reject anonymous connection if not set via set_security_IDs, currently this was possible and was a security issue.
…tch)

update tests so that they both register + verify nested objects are working

clean up tests. is redundant and messing up a more natural path pattern for running tests

simplify logic with BitFieldState
If locale is set to emtpy string, to not localize text.  Fixes
display of names in opcua-client-gui.  Regression introduced in
6ce8254
Reason: to fix issues where the name in the server XML is 2D or 3D;
Due to the Symbolic name is not being used
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.