1. 08 Dec, 2020 1 commit
  2. 07 Dec, 2020 6 commits
    • oroulet's avatar
    • oroulet's avatar
      update prosys crypto client · e8eaa97d
      oroulet authored
      e8eaa97d
    • Marco Panato's avatar
      User manager and permission ruleset fix (#352) · ac4373e0
      Marco Panato authored
      * User-defined PermissionRuleset is now propagated to all InternalServers Endpoinds (also with the one with SecurityPolicy#None)
      
      * Fixed check_user_token method of InternalServer and activate_session of InternalSession to provide an encrypted password to the user-defined UserManager
      
      * Fixed bug in InternalServer when password is not provided
      Co-authored-by: default avatarMarco Panato <marco.panato_01@univr.it>
      ac4373e0
    • Fabian Beitler's avatar
      Add check if BrowseName already exists in ParentNode (#306) · 6a913f89
      Fabian Beitler authored
      * Add check if BrowseName already exists in ParentNode
      
      * Replace try-except blocks
      Log error in check_method, not everywhere else
      
      * Remove checks, because they are not cought if UaClient sends addNode request
      
      * Add test to try identifing if BrowseName of new Node is child of ParentNode. If yes, raise error.If Node is root, ignore test.
      
      * Fix tests, because multiple identical BrowseNames with the same parent Node is not allowed.
      
      * Remove exception and ignore root Node directly
      
      * Fix test by change Browsename
      
      * Tidy up codeformat
      
      * Try to get all sorts of NodeId child classes
      Delete root Node parent check
      
      * Remove empty aspace arg
      Check if Reference is a HasChild Reference or a subtype of it
      
      * Change pytest fixtures to function to not interfere with other tests
      Add check if Nodes are in the same Namespace as well
      Add duplicated browsename test
      
      * Seperate between root Node or others
      As well pushing test again...
      
      * Add more Meta information about Node positions
      
      * Add more Meta information about Nodes which seems to fail
      
      * Change Browsename since both Nodes contain the same Browsename
      
      * Replace dirty print with log
      
      * Register Namespace and import Nodes, because Tests have been interfered eachother
      
      * Try if test interferes with others
      
      * Add check to catch faulty preperation
      
      * Revert "Try if test interferes with others"
      
      This reverts commit b0ac20dc2e898a70a7dedb433da9b88dfb2dc3fd.
      Revert "Add check to catch faulty preperation"
      
      This reverts commit c0e5ff6c628076b99d972778fef2dd33132a29a2.
      
      * Change parallel jobs to stages, to reduce the load from Travis
      
      * Check if just this test causes problems
      
      * Fix typo in decorator of pytest
      
      * Change object name
      Delete some nodes after test, to be reusable in other
      Undo scope back to module
      
      * Add more Node cleanups
      
      * Add cleanup if xml was imported
      
      * Add more Node cleanups to avoid duplicated browsenames while import xml in tests
      
      * Fix list issue in test
      
      * Add even more necessary node cleanups
      
      * Add more Node cleanups
      
      * Remove faulty await
      
      * Add Node cleanup for imported xml Nodes
      
      * Try to get rid of imported nodes from xml
      
      * Getting rid of imported nodes from xml
      
      * Revert Travis
      Some PEP8 cleanups
      
      * Fix some changes back to master branch state
      
      * Revert pytest changes
      
      * Avoid multiple Nodes with same Browsename in test server
      
      * Add some more Node cleanups
      
      * Revert wrong changes
      
      * Switch try/except with if ... not/else statement
      
      * Remove empty parent check
      Replace explicit in _nodes[] check with a general in _aspace[] check
      6a913f89
    • Fabian Beitler's avatar
      Replace lxml with xml.etree.ElementTree (#346) · 0261d3ed
      Fabian Beitler authored
      * Replace lxml with xml.etree.ElementTree
      Replace iter() with iterfind()
      Remove lxml from setup.py
      Remove done FIXME Graffitti
      Remove lxml from travis
      
      * Replace wildcard iter via iter over every element to be python3.7 compatible
      0261d3ed
    • Joey Faulkner's avatar
      fix bug when sending event with no message · 9e5bc78a
      Joey Faulkner authored
      9e5bc78a
  3. 02 Dec, 2020 1 commit
  4. 25 Nov, 2020 2 commits
  5. 24 Nov, 2020 4 commits
  6. 23 Nov, 2020 1 commit
  7. 18 Nov, 2020 5 commits
  8. 24 Oct, 2020 1 commit
    • Julien Prigent's avatar
      When disconnecting the client, we have to cancel the uaclient _publish_task. · 9925e7d0
      Julien Prigent authored
      If we don't, this can prevent reconnection since the task is still running, and the previous task instance could be hanging on a previous request that has never completed (i.e network issue).
      
      Yes, there's no timeout on request coming from the publish_loop, so we
      must ensure the publish_task is always cancelled. Hence, the
      uaclient.close_session is always called on disconnect.
      9925e7d0
  9. 17 Oct, 2020 3 commits
  10. 16 Oct, 2020 1 commit
  11. 12 Oct, 2020 2 commits
    • Julien Prigent's avatar
      [ Security ] Password encoding bug and typing adjustement · d88ead00
      Julien Prigent authored
      String are immutable, therefore the password is never encoded and it
      throws this error when it's a string:
      
      ```
      ...../cryptography/hazmat/backends/openssl/backend.py in _load_key(self, openssl_read_func, convert_func, data, password)
         1284         userdata = self._ffi.new("CRYPTOGRAPHY_PASSWORD_DATA *")
         1285         if password is not None:
      -> 1286             utils._check_byteslike("password", password)
         1287             password_ptr = self._ffi.from_buffer(password)
         1288             userdata.password = password_ptr
      
      ...../cryptography/utils.py in _check_byteslike(name, value)
           36         memoryview(value)
           37     except TypeError:
      ---> 38         raise TypeError("{} must be bytes-like".format(name))
           39
           40
      
      TypeError: password must be bytes-like
      ```
      
      This patch fixes this as well as some typing inaccuracy introduced by #281
      d88ead00
    • Julien Prigent's avatar
      [ UaCrypto ] missing InvalidSignature import · 785b8fcc
      Julien Prigent authored
      This has apparently been mistakenly removed [by this
      commit](https://github.com/FreeOpcUa/opcua-asyncio/commit/234008be689901ba2f9d32606944474a61f84801#diff-0ccb06a6a30b67aafbe098c395870604R4)
      
      And it's still required by
      [security_policies](https://github.com/FreeOpcUa/opcua-asyncio/blob/master/asyncua/crypto/security_policies.py#L287)
      
      Related issue found: https://github.com/FreeOpcUa/opcua-asyncio/issues/195
      
      Before patch:
      ```
      In [2]: from asyncua.crypto import uacrypto
      In [3]: raise uacrypto.InvalidSignature
      ---------------------------------------------------------------------------
      AttributeError                            Traceback (most recent call last)
      <ipython-input-3-93aef37181e3> in <module>
      ----> 1 raise uacrypto.InvalidSignature
      
      AttributeError: module 'asyncua.crypto.uacrypto' has no attribute 'InvalidSignature'
      ```
      
      After:
      ```
      In [2]: from asyncua.crypto import uacrypto
      In [3]: raise uacrypto.InvalidSignature
      ---------------------------------------------------------------------------
      InvalidSignature                          Traceback (most recent call last)
      <ipython-input-13-93aef37181e3> in <module>
      ----> 1 raise uacrypto.InvalidSignature
      
      InvalidSignature:
      
      AttributeError: module 'asyncua.crypto.uacrypto' has no attribute 'InvalidSignature'
      ```
      785b8fcc
  12. 28 Sep, 2020 3 commits
  13. 25 Sep, 2020 2 commits
  14. 22 Sep, 2020 1 commit
  15. 18 Sep, 2020 5 commits
  16. 11 Sep, 2020 1 commit
    • starturtle's avatar
      Update client.py · c9c998f9
      starturtle authored
      make the detailed policy ID match the signature algorithm and its other implications.
      c9c998f9
  17. 05 Sep, 2020 1 commit