synapse 2.172.0__tar.gz → 2.173.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of synapse might be problematic. Click here for more details.

Files changed (579) hide show
  1. {synapse-2.172.0/synapse.egg-info → synapse-2.173.1}/PKG-INFO +1 -1
  2. {synapse-2.172.0 → synapse-2.173.1}/pyproject.toml +1 -1
  3. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/hiveauth.py +81 -4
  4. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/layer.py +8 -8
  5. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/version.py +2 -2
  6. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/orgs.py +5 -2
  7. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/person.py +5 -2
  8. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/planning.py +5 -0
  9. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_hiveauth.py +139 -1
  10. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_layer.py +67 -13
  11. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_model_orgs.py +8 -2
  12. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_model_person.py +2 -0
  13. {synapse-2.172.0 → synapse-2.173.1/synapse.egg-info}/PKG-INFO +1 -1
  14. {synapse-2.172.0 → synapse-2.173.1}/LICENSE +0 -0
  15. {synapse-2.172.0 → synapse-2.173.1}/README.rst +0 -0
  16. {synapse-2.172.0 → synapse-2.173.1}/setup.cfg +0 -0
  17. {synapse-2.172.0 → synapse-2.173.1}/synapse/__init__.py +0 -0
  18. {synapse-2.172.0 → synapse-2.173.1}/synapse/axon.py +0 -0
  19. {synapse-2.172.0 → synapse-2.173.1}/synapse/cells.py +0 -0
  20. {synapse-2.172.0 → synapse-2.173.1}/synapse/cmds/__init__.py +0 -0
  21. {synapse-2.172.0 → synapse-2.173.1}/synapse/cmds/boss.py +0 -0
  22. {synapse-2.172.0 → synapse-2.173.1}/synapse/cmds/cortex.py +0 -0
  23. {synapse-2.172.0 → synapse-2.173.1}/synapse/cmds/hive.py +0 -0
  24. {synapse-2.172.0 → synapse-2.173.1}/synapse/common.py +0 -0
  25. {synapse-2.172.0 → synapse-2.173.1}/synapse/cortex.py +0 -0
  26. {synapse-2.172.0 → synapse-2.173.1}/synapse/cryotank.py +0 -0
  27. {synapse-2.172.0 → synapse-2.173.1}/synapse/daemon.py +0 -0
  28. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/__init__.py +0 -0
  29. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/attack-flow/LICENSE.txt +0 -0
  30. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/attack-flow/README.md +0 -0
  31. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/attack-flow/attack-flow-schema-2.0.0.json +0 -0
  32. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/certs/cas/The Vertex Project Intermediate CA 00.crt +0 -0
  33. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/certs/cas/The Vertex Project ROOT CA.crt +0 -0
  34. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/certs/crls/The Vertex Project Intermediate CA 00.crl +0 -0
  35. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/certs/crls/The Vertex Project ROOT CA.crl +0 -0
  36. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/iana.tlds.mpk +0 -0
  37. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/README.md +0 -0
  38. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/LICENSE.txt +0 -0
  39. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/binary.json +0 -0
  40. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/bundle.json +0 -0
  41. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/core.json +0 -0
  42. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/cyber-observable-core.json +0 -0
  43. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/dictionary.json +0 -0
  44. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension-definition.json +0 -0
  45. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension.json +0 -0
  46. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/external-reference.json +0 -0
  47. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/granular-marking.json +0 -0
  48. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hashes-type.json +0 -0
  49. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hex.json +0 -0
  50. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/identifier.json +0 -0
  51. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/kill-chain-phase.json +0 -0
  52. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/language-content.json +0 -0
  53. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/marking-definition.json +0 -0
  54. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/properties.json +0 -0
  55. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/timestamp.json +0 -0
  56. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/url-regex.json +0 -0
  57. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/artifact.json +0 -0
  58. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/autonomous-system.json +0 -0
  59. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/directory.json +0 -0
  60. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/domain-name.json +0 -0
  61. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-addr.json +0 -0
  62. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-message.json +0 -0
  63. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/file.json +0 -0
  64. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv4-addr.json +0 -0
  65. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv6-addr.json +0 -0
  66. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mac-addr.json +0 -0
  67. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mutex.json +0 -0
  68. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/network-traffic.json +0 -0
  69. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/process.json +0 -0
  70. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/software.json +0 -0
  71. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/url.json +0 -0
  72. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/user-account.json +0 -0
  73. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/windows-registry-key.json +0 -0
  74. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/x509-certificate.json +0 -0
  75. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/attack-pattern.json +0 -0
  76. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/campaign.json +0 -0
  77. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/course-of-action.json +0 -0
  78. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/grouping.json +0 -0
  79. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/identity.json +0 -0
  80. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/incident.json +0 -0
  81. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/indicator.json +0 -0
  82. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/infrastructure.json +0 -0
  83. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/intrusion-set.json +0 -0
  84. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/location.json +0 -0
  85. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware-analysis.json +0 -0
  86. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware.json +0 -0
  87. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/note.json +0 -0
  88. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/observed-data.json +0 -0
  89. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/opinion.json +0 -0
  90. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/report.json +0 -0
  91. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/threat-actor.json +0 -0
  92. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/tool.json +0 -0
  93. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/vulnerability.json +0 -0
  94. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/relationship.json +0 -0
  95. {synapse-2.172.0 → synapse-2.173.1}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/sighting.json +0 -0
  96. {synapse-2.172.0 → synapse-2.173.1}/synapse/datamodel.py +0 -0
  97. {synapse-2.172.0 → synapse-2.173.1}/synapse/exc.py +0 -0
  98. {synapse-2.172.0 → synapse-2.173.1}/synapse/glob.py +0 -0
  99. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/__init__.py +0 -0
  100. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/agenda.py +0 -0
  101. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/aha.py +0 -0
  102. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/ast.py +0 -0
  103. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/autodoc.py +0 -0
  104. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/base.py +0 -0
  105. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/boss.py +0 -0
  106. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/cache.py +0 -0
  107. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/cell.py +0 -0
  108. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/certdir.py +0 -0
  109. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/chop.py +0 -0
  110. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/cli.py +0 -0
  111. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/cmd.py +0 -0
  112. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/cmdr.py +0 -0
  113. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/config.py +0 -0
  114. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/const.py +0 -0
  115. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/coro.py +0 -0
  116. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/crypto/__init__.py +0 -0
  117. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/crypto/coin.py +0 -0
  118. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/crypto/ecc.py +0 -0
  119. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/crypto/passwd.py +0 -0
  120. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/crypto/rsa.py +0 -0
  121. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/crypto/tinfoil.py +0 -0
  122. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/datfile.py +0 -0
  123. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/dyndeps.py +0 -0
  124. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/encoding.py +0 -0
  125. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/gis.py +0 -0
  126. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/grammar.py +0 -0
  127. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/hashitem.py +0 -0
  128. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/hashset.py +0 -0
  129. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/health.py +0 -0
  130. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/hive.py +0 -0
  131. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/httpapi.py +0 -0
  132. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/ingest.py +0 -0
  133. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/interval.py +0 -0
  134. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/jsonstor.py +0 -0
  135. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/jupyter.py +0 -0
  136. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/link.py +0 -0
  137. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/lmdbslab.py +0 -0
  138. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/modelrev.py +0 -0
  139. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/module.py +0 -0
  140. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/modules.py +0 -0
  141. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/msgpack.py +0 -0
  142. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/multislabseqn.py +0 -0
  143. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/nexus.py +0 -0
  144. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/node.py +0 -0
  145. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/oauth.py +0 -0
  146. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/output.py +0 -0
  147. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/parser.py +0 -0
  148. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/platforms/__init__.py +0 -0
  149. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/platforms/common.py +0 -0
  150. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/platforms/darwin.py +0 -0
  151. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/platforms/freebsd.py +0 -0
  152. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/platforms/linux.py +0 -0
  153. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/platforms/windows.py +0 -0
  154. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/queue.py +0 -0
  155. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/ratelimit.py +0 -0
  156. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/reflect.py +0 -0
  157. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/rstorm.py +0 -0
  158. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/schemas.py +0 -0
  159. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/scope.py +0 -0
  160. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/scrape.py +0 -0
  161. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/share.py +0 -0
  162. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/slaboffs.py +0 -0
  163. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/slabseqn.py +0 -0
  164. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/snap.py +0 -0
  165. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/spooled.py +0 -0
  166. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/storm.lark +0 -0
  167. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/storm.py +0 -0
  168. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/storm_format.py +0 -0
  169. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormctrl.py +0 -0
  170. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormhttp.py +0 -0
  171. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/__init__.py +0 -0
  172. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/aha.py +0 -0
  173. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/auth.py +0 -0
  174. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/backup.py +0 -0
  175. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/basex.py +0 -0
  176. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/cache.py +0 -0
  177. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/cell.py +0 -0
  178. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/compression.py +0 -0
  179. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/cortex.py +0 -0
  180. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/easyperm.py +0 -0
  181. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/env.py +0 -0
  182. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/ethereum.py +0 -0
  183. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/gen.py +0 -0
  184. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/gis.py +0 -0
  185. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/graph.py +0 -0
  186. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/hashes.py +0 -0
  187. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/hex.py +0 -0
  188. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/imap.py +0 -0
  189. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/infosec.py +0 -0
  190. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/ipv6.py +0 -0
  191. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/iters.py +0 -0
  192. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/json.py +0 -0
  193. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/log.py +0 -0
  194. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/macro.py +0 -0
  195. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/math.py +0 -0
  196. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/mime.py +0 -0
  197. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/model.py +0 -0
  198. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/modelext.py +0 -0
  199. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/notifications.py +0 -0
  200. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/oauth.py +0 -0
  201. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/pack.py +0 -0
  202. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/project.py +0 -0
  203. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/random.py +0 -0
  204. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/scrape.py +0 -0
  205. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/smtp.py +0 -0
  206. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/spooled.py +0 -0
  207. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/stats.py +0 -0
  208. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/stix.py +0 -0
  209. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/storm.py +0 -0
  210. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/vault.py +0 -0
  211. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/version.py +0 -0
  212. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/xml.py +0 -0
  213. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormlib/yaml.py +0 -0
  214. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormsvc.py +0 -0
  215. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormtypes.py +0 -0
  216. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/stormwhois.py +0 -0
  217. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/structlog.py +0 -0
  218. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/task.py +0 -0
  219. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/thishost.py +0 -0
  220. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/thisplat.py +0 -0
  221. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/threads.py +0 -0
  222. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/time.py +0 -0
  223. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/trigger.py +0 -0
  224. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/types.py +0 -0
  225. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/urlhelp.py +0 -0
  226. {synapse-2.172.0 → synapse-2.173.1}/synapse/lib/view.py +0 -0
  227. {synapse-2.172.0 → synapse-2.173.1}/synapse/lookup/__init__.py +0 -0
  228. {synapse-2.172.0 → synapse-2.173.1}/synapse/lookup/cvss.py +0 -0
  229. {synapse-2.172.0 → synapse-2.173.1}/synapse/lookup/iana.py +0 -0
  230. {synapse-2.172.0 → synapse-2.173.1}/synapse/lookup/iso3166.py +0 -0
  231. {synapse-2.172.0 → synapse-2.173.1}/synapse/lookup/macho.py +0 -0
  232. {synapse-2.172.0 → synapse-2.173.1}/synapse/lookup/pe.py +0 -0
  233. {synapse-2.172.0 → synapse-2.173.1}/synapse/lookup/phonenum.py +0 -0
  234. {synapse-2.172.0 → synapse-2.173.1}/synapse/lookup/timezones.py +0 -0
  235. {synapse-2.172.0 → synapse-2.173.1}/synapse/mindmeld.py +0 -0
  236. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/__init__.py +0 -0
  237. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/auth.py +0 -0
  238. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/base.py +0 -0
  239. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/belief.py +0 -0
  240. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/biz.py +0 -0
  241. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/crypto.py +0 -0
  242. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/dns.py +0 -0
  243. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/economic.py +0 -0
  244. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/files.py +0 -0
  245. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/geopol.py +0 -0
  246. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/geospace.py +0 -0
  247. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/gov/__init__.py +0 -0
  248. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/gov/cn.py +0 -0
  249. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/gov/intl.py +0 -0
  250. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/gov/us.py +0 -0
  251. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/inet.py +0 -0
  252. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/infotech.py +0 -0
  253. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/language.py +0 -0
  254. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/material.py +0 -0
  255. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/media.py +0 -0
  256. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/proj.py +0 -0
  257. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/risk.py +0 -0
  258. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/science.py +0 -0
  259. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/syn.py +0 -0
  260. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/telco.py +0 -0
  261. {synapse-2.172.0 → synapse-2.173.1}/synapse/models/transport.py +0 -0
  262. {synapse-2.172.0 → synapse-2.173.1}/synapse/servers/__init__.py +0 -0
  263. {synapse-2.172.0 → synapse-2.173.1}/synapse/servers/aha.py +0 -0
  264. {synapse-2.172.0 → synapse-2.173.1}/synapse/servers/axon.py +0 -0
  265. {synapse-2.172.0 → synapse-2.173.1}/synapse/servers/cell.py +0 -0
  266. {synapse-2.172.0 → synapse-2.173.1}/synapse/servers/cortex.py +0 -0
  267. {synapse-2.172.0 → synapse-2.173.1}/synapse/servers/cryotank.py +0 -0
  268. {synapse-2.172.0 → synapse-2.173.1}/synapse/servers/jsonstor.py +0 -0
  269. {synapse-2.172.0 → synapse-2.173.1}/synapse/servers/stemcell.py +0 -0
  270. {synapse-2.172.0 → synapse-2.173.1}/synapse/telepath.py +0 -0
  271. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/__init__.py +0 -0
  272. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/TestUtilsGetrefs.test_basics.yaml +0 -0
  273. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/__init__.py +0 -0
  274. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/attack_flow/CISA AA22-138B VMWare Workspace (Alt).json +0 -0
  275. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/attack_flow/CISA_Iranian_APT.json +0 -0
  276. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/certdir/cas/ca.crt +0 -0
  277. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/certdir/cas/ca.key +0 -0
  278. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/certdir/hosts/localhost.crt +0 -0
  279. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/certdir/hosts/localhost.key +0 -0
  280. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/certdir/users/root.crt +0 -0
  281. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/certdir/users/root.key +0 -0
  282. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/certdir/users/user.crt +0 -0
  283. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/certdir/users/user.key +0 -0
  284. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/cpedata.json +0 -0
  285. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/rstorm/httpresp1.json +0 -0
  286. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/rstorm/httpresp2.json +0 -0
  287. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/rstorm/httpresp3.json +0 -0
  288. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/rstorm/httprespmulti.yaml +0 -0
  289. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/rstorm/testsvc.py +0 -0
  290. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stix_export/basic.json +0 -0
  291. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stix_export/custom0.json +0 -0
  292. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stix_export/risk0.json +0 -0
  293. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stix_import/apt1.json +0 -0
  294. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stix_import/oasis-example-00.json +0 -0
  295. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormcov/argvquery.storm +0 -0
  296. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormcov/dupesubs.storm +0 -0
  297. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormcov/lookup.storm +0 -0
  298. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormcov/pivot.storm +0 -0
  299. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormcov/spin.storm +0 -0
  300. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormcov/stormctrl.storm +0 -0
  301. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormmod/common +0 -0
  302. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormpkg/badapidef.yaml +0 -0
  303. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormpkg/badcmdname.yaml +0 -0
  304. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormpkg/badjsonpkg.yaml +0 -0
  305. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormpkg/docs/foobar.md +0 -0
  306. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormpkg/docs/foobar.svg +0 -0
  307. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormpkg/dotstorm/dotstorm.yaml +0 -0
  308. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormpkg/dotstorm/storm/commands/dotstorm.bar.storm +0 -0
  309. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormpkg/dotstorm/storm/modules/dotstorm.foo.storm +0 -0
  310. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormpkg/nocontent.yaml +0 -0
  311. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormpkg/nomime.yaml +0 -0
  312. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormpkg/nopath.yaml +0 -0
  313. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormpkg/nosuchfile.yaml +0 -0
  314. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormpkg/notitle.yaml +0 -0
  315. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormpkg/optic/index.html +0 -0
  316. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormpkg/storm/commands/invalidCMD +0 -0
  317. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormpkg/storm/commands/testpkg.baz +0 -0
  318. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormpkg/storm/commands/testpkgcmd +0 -0
  319. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormpkg/storm/modules/apimod +0 -0
  320. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormpkg/storm/modules/testmod +0 -0
  321. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormpkg/testpkg.yaml +0 -0
  322. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormpkg/workflows/testpkg-bam.newp +0 -0
  323. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormpkg/workflows/testpkg-baz.yaml +0 -0
  324. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/stormpkg/workflows/testpkg-foo.yaml +0 -0
  325. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/test.dat +0 -0
  326. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/files/testcore/cell.yaml +0 -0
  327. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/nopmod.py +0 -0
  328. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_axon.py +0 -0
  329. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_cmds_boss.py +0 -0
  330. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_cmds_cortex.py +0 -0
  331. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_cmds_hive.py +0 -0
  332. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_common.py +0 -0
  333. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_cortex.py +0 -0
  334. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_cryotank.py +0 -0
  335. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_daemon.py +0 -0
  336. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_data.py +0 -0
  337. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_datamodel.py +0 -0
  338. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_exc.py +0 -0
  339. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_glob.py +0 -0
  340. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_init.py +0 -0
  341. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_agenda.py +0 -0
  342. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_aha.py +0 -0
  343. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_ast.py +0 -0
  344. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_autodoc.py +0 -0
  345. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_base.py +0 -0
  346. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_boss.py +0 -0
  347. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_cache.py +0 -0
  348. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_cell.py +0 -0
  349. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_certdir.py +0 -0
  350. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_chop.py +0 -0
  351. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_cli.py +0 -0
  352. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_config.py +0 -0
  353. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_const.py +0 -0
  354. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_coro.py +0 -0
  355. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_crypto_coin.py +0 -0
  356. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_crypto_ecc.py +0 -0
  357. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_crypto_passwd.py +0 -0
  358. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_crypto_tinfoil.py +0 -0
  359. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_datfile.py +0 -0
  360. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_dyndeps.py +0 -0
  361. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_encoding.py +0 -0
  362. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_gis.py +0 -0
  363. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_grammar.py +0 -0
  364. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_hashitem.py +0 -0
  365. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_hashset.py +0 -0
  366. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_health.py +0 -0
  367. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_hive.py +0 -0
  368. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_httpapi.py +0 -0
  369. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_interval.py +0 -0
  370. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_jsonstor.py +0 -0
  371. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_jupyter.py +0 -0
  372. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_link.py +0 -0
  373. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_lmdbslab.py +0 -0
  374. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_modelrev.py +0 -0
  375. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_module.py +0 -0
  376. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_msgpack.py +0 -0
  377. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_multislabseqn.py +0 -0
  378. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_nexus.py +0 -0
  379. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_node.py +0 -0
  380. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_output.py +0 -0
  381. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_platforms_linux.py +0 -0
  382. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_queue.py +0 -0
  383. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_ratelimit.py +0 -0
  384. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_reflect.py +0 -0
  385. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_rstorm.py +0 -0
  386. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_scope.py +0 -0
  387. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_scrape.py +0 -0
  388. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_slaboffs.py +0 -0
  389. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_slabseqn.py +0 -0
  390. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_snap.py +0 -0
  391. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_spooled.py +0 -0
  392. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_storm.py +0 -0
  393. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_storm_format.py +0 -0
  394. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormhttp.py +0 -0
  395. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_aha.py +0 -0
  396. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_auth.py +0 -0
  397. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_backup.py +0 -0
  398. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_basex.py +0 -0
  399. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_cache.py +0 -0
  400. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_cell.py +0 -0
  401. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_compression.py +0 -0
  402. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_cortex.py +0 -0
  403. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_easyperm.py +0 -0
  404. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_env.py +0 -0
  405. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_ethereum.py +0 -0
  406. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_gen.py +0 -0
  407. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_gis.py +0 -0
  408. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_hashes.py +0 -0
  409. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_hex.py +0 -0
  410. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_imap.py +0 -0
  411. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_infosec.py +0 -0
  412. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_ipv6.py +0 -0
  413. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_iters.py +0 -0
  414. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_json.py +0 -0
  415. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_log.py +0 -0
  416. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_macro.py +0 -0
  417. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_mime.py +0 -0
  418. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_model.py +0 -0
  419. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_modelext.py +0 -0
  420. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_oauth.py +0 -0
  421. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_pack.py +0 -0
  422. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_random.py +0 -0
  423. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_scrape.py +0 -0
  424. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_smtp.py +0 -0
  425. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_spooled.py +0 -0
  426. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_stats.py +0 -0
  427. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_stix.py +0 -0
  428. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_storm.py +0 -0
  429. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_vault.py +0 -0
  430. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_xml.py +0 -0
  431. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormlib_yaml.py +0 -0
  432. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormsvc.py +0 -0
  433. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormtypes.py +0 -0
  434. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_stormwhois.py +0 -0
  435. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_structlog.py +0 -0
  436. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_task.py +0 -0
  437. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_thishost.py +0 -0
  438. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_time.py +0 -0
  439. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_trigger.py +0 -0
  440. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_types.py +0 -0
  441. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_urlhelp.py +0 -0
  442. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_version.py +0 -0
  443. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lib_view.py +0 -0
  444. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lookup_iso3166.py +0 -0
  445. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_lookup_phonenum.py +0 -0
  446. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_mindmeld.py +0 -0
  447. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_model_auth.py +0 -0
  448. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_model_base.py +0 -0
  449. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_model_belief.py +0 -0
  450. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_model_biz.py +0 -0
  451. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_model_crypto.py +0 -0
  452. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_model_dns.py +0 -0
  453. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_model_economic.py +0 -0
  454. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_model_files.py +0 -0
  455. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_model_geopol.py +0 -0
  456. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_model_geospace.py +0 -0
  457. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_model_gov_cn.py +0 -0
  458. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_model_gov_intl.py +0 -0
  459. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_model_gov_us.py +0 -0
  460. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_model_inet.py +0 -0
  461. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_model_infotech.py +0 -0
  462. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_model_language.py +0 -0
  463. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_model_material.py +0 -0
  464. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_model_media.py +0 -0
  465. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_model_planning.py +0 -0
  466. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_model_proj.py +0 -0
  467. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_model_risk.py +0 -0
  468. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_model_science.py +0 -0
  469. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_model_syn.py +0 -0
  470. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_model_telco.py +0 -0
  471. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_model_transport.py +0 -0
  472. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_servers_axon.py +0 -0
  473. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_servers_cortex.py +0 -0
  474. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_servers_cryotank.py +0 -0
  475. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_servers_stemcell.py +0 -0
  476. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_servers_univ.py +0 -0
  477. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_telepath.py +0 -0
  478. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_tools_aha.py +0 -0
  479. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_tools_autodoc.py +0 -0
  480. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_tools_axon2axon.py +0 -0
  481. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_tools_backup.py +0 -0
  482. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_tools_cellauth.py +0 -0
  483. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_tools_cryo_cat.py +0 -0
  484. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_tools_cryo_list.py +0 -0
  485. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_tools_csvtool.py +0 -0
  486. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_tools_docker_validate.py +0 -0
  487. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_tools_easycert.py +0 -0
  488. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_tools_feed.py +0 -0
  489. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_tools_genpkg.py +0 -0
  490. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_tools_guid.py +0 -0
  491. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_tools_healthcheck.py +0 -0
  492. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_tools_hiveload.py +0 -0
  493. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_tools_hivesave.py +0 -0
  494. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_tools_json2mpk.py +0 -0
  495. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_tools_livebackup.py +0 -0
  496. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_tools_modrole.py +0 -0
  497. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_tools_moduser.py +0 -0
  498. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_tools_pullfile.py +0 -0
  499. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_tools_pushfile.py +0 -0
  500. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_tools_reload.py +0 -0
  501. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_tools_rstorm.py +0 -0
  502. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_tools_storm.py +0 -0
  503. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_utils.py +0 -0
  504. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_utils_getrefs.py +0 -0
  505. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/test_utils_stormcov.py +0 -0
  506. {synapse-2.172.0 → synapse-2.173.1}/synapse/tests/utils.py +0 -0
  507. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/__init__.py +0 -0
  508. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/aha/__init__.py +0 -0
  509. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/aha/easycert.py +0 -0
  510. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/aha/enroll.py +0 -0
  511. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/aha/list.py +0 -0
  512. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/aha/provision/__init__.py +0 -0
  513. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/aha/provision/service.py +0 -0
  514. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/aha/provision/user.py +0 -0
  515. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/autodoc.py +0 -0
  516. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/axon2axon.py +0 -0
  517. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/backup.py +0 -0
  518. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/cellauth.py +0 -0
  519. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/cmdr.py +0 -0
  520. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/cryo/__init__.py +0 -0
  521. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/cryo/cat.py +0 -0
  522. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/cryo/list.py +0 -0
  523. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/csvtool.py +0 -0
  524. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/docker/__init__.py +0 -0
  525. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/docker/validate.py +0 -0
  526. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/easycert.py +0 -0
  527. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/feed.py +0 -0
  528. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/genpkg.py +0 -0
  529. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/guid.py +0 -0
  530. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/healthcheck.py +0 -0
  531. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/hive/__init__.py +0 -0
  532. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/hive/load.py +0 -0
  533. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/hive/save.py +0 -0
  534. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/json2mpk.py +0 -0
  535. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/livebackup.py +0 -0
  536. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/modrole.py +0 -0
  537. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/moduser.py +0 -0
  538. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/promote.py +0 -0
  539. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/pullfile.py +0 -0
  540. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/pushfile.py +0 -0
  541. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/reload.py +0 -0
  542. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/rstorm.py +0 -0
  543. {synapse-2.172.0 → synapse-2.173.1}/synapse/tools/storm.py +0 -0
  544. {synapse-2.172.0 → synapse-2.173.1}/synapse/utils/__init__.py +0 -0
  545. {synapse-2.172.0 → synapse-2.173.1}/synapse/utils/getrefs.py +0 -0
  546. {synapse-2.172.0 → synapse-2.173.1}/synapse/utils/stormcov/__init__.py +0 -0
  547. {synapse-2.172.0 → synapse-2.173.1}/synapse/utils/stormcov/plugin.py +0 -0
  548. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/__init__.py +0 -0
  549. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/cashaddress/LICENSE +0 -0
  550. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/cashaddress/__init__.py +0 -0
  551. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/cashaddress/base58.py +0 -0
  552. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/cashaddress/convert.py +0 -0
  553. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/cashaddress/crypto.py +0 -0
  554. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/cashaddress/tests/__init__.py +0 -0
  555. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/cashaddress/tests/test_cashaddress.py +0 -0
  556. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/substrateinterface/LICENSE +0 -0
  557. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/substrateinterface/__init__.py +0 -0
  558. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/substrateinterface/tests/__init__.py +0 -0
  559. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/substrateinterface/tests/test_ss58.py +0 -0
  560. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/substrateinterface/utils/__init__.py +0 -0
  561. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/substrateinterface/utils/ss58.py +0 -0
  562. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/utils.py +0 -0
  563. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/xrpl/LICENSE +0 -0
  564. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/xrpl/__init__.py +0 -0
  565. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/xrpl/constants.py +0 -0
  566. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/xrpl/core/__init__.py +0 -0
  567. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/xrpl/core/addresscodec/__init__.py +0 -0
  568. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/xrpl/core/addresscodec/codec.py +0 -0
  569. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/xrpl/core/addresscodec/exceptions.py +0 -0
  570. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/xrpl/core/addresscodec/main.py +0 -0
  571. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/xrpl/core/addresscodec/utils.py +0 -0
  572. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/xrpl/tests/__init__.py +0 -0
  573. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/xrpl/tests/test_codec.py +0 -0
  574. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/xrpl/tests/test_main.py +0 -0
  575. {synapse-2.172.0 → synapse-2.173.1}/synapse/vendor/xrpl/tests/test_main_test_cases.py +0 -0
  576. {synapse-2.172.0 → synapse-2.173.1}/synapse.egg-info/SOURCES.txt +0 -0
  577. {synapse-2.172.0 → synapse-2.173.1}/synapse.egg-info/dependency_links.txt +0 -0
  578. {synapse-2.172.0 → synapse-2.173.1}/synapse.egg-info/requires.txt +0 -0
  579. {synapse-2.172.0 → synapse-2.173.1}/synapse.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: synapse
3
- Version: 2.172.0
3
+ Version: 2.173.1
4
4
  Summary: Synapse Intelligence Analysis Framework
5
5
  Author-email: The Vertex Project LLC <root@vertex.link>
6
6
  License: Apache License 2.0
@@ -4,7 +4,7 @@ build-backend = 'setuptools.build_meta'
4
4
 
5
5
  [project]
6
6
  name = 'synapse'
7
- version = '2.172.0'
7
+ version = '2.173.1'
8
8
  authors = [
9
9
  { name = 'The Vertex Project LLC', email = 'root@vertex.link'},
10
10
  ]
@@ -1,7 +1,7 @@
1
1
  import logging
2
2
  import dataclasses
3
3
 
4
- from typing import Union
4
+ from typing import Optional, Union
5
5
 
6
6
  import synapse.exc as s_exc
7
7
  import synapse.common as s_common
@@ -941,16 +941,38 @@ class HiveUser(HiveRuler):
941
941
  if not self.allowed(perm):
942
942
  await self.addRule((True, perm), indx=0)
943
943
 
944
- def allowed(self, perm, default=None, gateiden=None):
944
+ def allowed(self,
945
+ perm: tuple[str, ...],
946
+ default: Optional[str] = None,
947
+ gateiden: Optional[str] = None,
948
+ deepdeny: bool = False) -> Union[bool, None]:
949
+ '''
950
+ Check if a user is allowed a given permission.
951
+
952
+ Args:
953
+ perm: The permission tuple to check.
954
+ default: The default rule value if there is no match.
955
+ gateiden: The gate iden to check against.
956
+ deepdeny: If True, give precedence for checking deny rules which are more specific than the requested
957
+ permission.
958
+
959
+ Notes:
960
+ The use of the deepdeny argument is intended for checking a less-specific part of a permissions tree, in
961
+ order to know about possible short circuit options. Using it to check a more specific part may have
962
+ unintended results.
963
+
964
+ Returns:
965
+ The allowed value of the permission.
966
+ '''
945
967
  perm = tuple(perm)
946
- return self.permcache.get((perm, default, gateiden))
968
+ return self.permcache.get((perm, default, gateiden, deepdeny))
947
969
 
948
970
  def _allowed(self, pkey):
949
971
  '''
950
972
  NOTE: This must remain in sync with any changes to _getAllowedReason()!
951
973
  '''
952
974
 
953
- perm, default, gateiden = pkey
975
+ perm, default, gateiden, deepdeny = pkey
954
976
 
955
977
  if self.info.get('locked'):
956
978
  return False
@@ -958,6 +980,9 @@ class HiveUser(HiveRuler):
958
980
  if self.info.get('admin'):
959
981
  return True
960
982
 
983
+ if deepdeny and self._hasDeepDeny(perm, gateiden):
984
+ return False
985
+
961
986
  # 1. check authgate user rules
962
987
  if gateiden is not None:
963
988
 
@@ -1055,6 +1080,58 @@ class HiveUser(HiveRuler):
1055
1080
 
1056
1081
  return _allowedReason(default, default=True)
1057
1082
 
1083
+ def _hasDeepDeny(self, perm, gateiden):
1084
+
1085
+ permlen = len(perm)
1086
+
1087
+ # 1. check authgate user rules
1088
+ if gateiden is not None:
1089
+
1090
+ info = self.authgates.get(gateiden)
1091
+ if info is not None:
1092
+
1093
+ if info.get('admin'):
1094
+ return False
1095
+
1096
+ for allow, path in info.get('rules', ()):
1097
+ if allow:
1098
+ continue
1099
+ if path[:permlen] == perm and len(path) > permlen:
1100
+ return True
1101
+
1102
+ # 2. check user rules
1103
+ for allow, path in self.info.get('rules', ()):
1104
+ if allow:
1105
+ continue
1106
+
1107
+ if path[:permlen] == perm and len(path) > permlen:
1108
+ return True
1109
+
1110
+ # 3. check authgate role rules
1111
+ if gateiden is not None:
1112
+
1113
+ for role in self.getRoles():
1114
+
1115
+ info = role.authgates.get(gateiden)
1116
+ if info is None:
1117
+ continue
1118
+
1119
+ for allow, path in info.get('rules', ()):
1120
+ if allow:
1121
+ continue
1122
+ if path[:permlen] == perm and len(path) > permlen:
1123
+ return True
1124
+
1125
+ # 4. check role rules
1126
+ for role in self.getRoles():
1127
+ for allow, path in role.info.get('rules', ()):
1128
+ if allow:
1129
+ continue
1130
+ if path[:permlen] == perm and len(path) > permlen:
1131
+ return True
1132
+
1133
+ return False
1134
+
1058
1135
  def clearAuthCache(self):
1059
1136
  self.permcache.clear()
1060
1137
  self.allowedcache.clear()
@@ -4095,9 +4095,6 @@ class Layer(s_nexus.Pusher):
4095
4095
  yield prop[0]
4096
4096
 
4097
4097
  async def confirmLayerEditPerms(self, user, gateiden, delete=False):
4098
- if user.allowed(('node',), gateiden=gateiden):
4099
- return
4100
-
4101
4098
  if delete:
4102
4099
  perm_forms = ('node', 'del')
4103
4100
  perm_props = ('node', 'prop', 'del')
@@ -4111,11 +4108,14 @@ class Layer(s_nexus.Pusher):
4111
4108
  perm_ndata = ('node', 'data', 'set')
4112
4109
  perm_edges = ('node', 'edge', 'add')
4113
4110
 
4114
- allow_forms = user.allowed(perm_forms, gateiden=gateiden)
4115
- allow_props = user.allowed(perm_props, gateiden=gateiden)
4116
- allow_tags = user.allowed(perm_tags, gateiden=gateiden)
4117
- allow_ndata = user.allowed(perm_ndata, gateiden=gateiden)
4118
- allow_edges = user.allowed(perm_edges, gateiden=gateiden)
4111
+ if user.allowed(('node',), gateiden=gateiden, deepdeny=True):
4112
+ return
4113
+
4114
+ allow_forms = user.allowed(perm_forms, gateiden=gateiden, deepdeny=True)
4115
+ allow_props = user.allowed(perm_props, gateiden=gateiden, deepdeny=True)
4116
+ allow_tags = user.allowed(perm_tags, gateiden=gateiden, deepdeny=True)
4117
+ allow_ndata = user.allowed(perm_ndata, gateiden=gateiden, deepdeny=True)
4118
+ allow_edges = user.allowed(perm_edges, gateiden=gateiden, deepdeny=True)
4119
4119
 
4120
4120
  if all((allow_forms, allow_props, allow_tags, allow_ndata, allow_edges)):
4121
4121
  return
@@ -223,6 +223,6 @@ def reqVersion(valu, reqver,
223
223
  ##############################################################################
224
224
  # The following are touched during the release process by bumpversion.
225
225
  # Do not modify these directly.
226
- version = (2, 172, 0)
226
+ version = (2, 173, 1)
227
227
  verstring = '.'.join([str(x) for x in version])
228
- commit = '3e33d8a8cbdfd0f4f6f9a31d664578d817d9ccb8'
228
+ commit = '06b04fd5f58964b7897442d4c88cbfed145093d9'
@@ -1026,8 +1026,11 @@ class OuModule(s_module.CoreModule):
1026
1026
  }),
1027
1027
  ('name', ('str', {'lower': True}), {
1028
1028
  'doc': 'The full name of the conference.',
1029
- 'ex': 'decfon 2017',
1030
- }),
1029
+ 'ex': 'defcon 2017'}),
1030
+
1031
+ ('names', ('array', {'type': 'str', 'typeopts': {'lower': True}, 'uniq': True, 'sorted': True}), {
1032
+ 'doc': 'An array of alternate names for the conference.'}),
1033
+
1031
1034
  ('desc', ('str', {'lower': True}), {
1032
1035
  'doc': 'A description of the conference.',
1033
1036
  'ex': 'annual cybersecurity conference',
@@ -356,8 +356,11 @@ class PsModule(s_module.CoreModule):
356
356
  'doc': 'A description of this contact.',
357
357
  }),
358
358
  ('title', ('ou:jobtitle', {}), {
359
- 'doc': 'The job/org title listed for this contact.',
360
- }),
359
+ 'doc': 'The job/org title listed for this contact.'}),
360
+
361
+ ('titles', ('array', {'type': 'ou:jobtitle', 'sorted': True, 'uniq': True}), {
362
+ 'doc': 'An array of alternate titles for the contact.'}),
363
+
361
364
  ('photo', ('file:bytes', {}), {
362
365
  'doc': 'The photo listed for this contact.',
363
366
  }),
@@ -28,6 +28,11 @@ class PlanModule(s_module.CoreModule):
28
28
  'doc': 'A link between steps in a procedure.'}),
29
29
  ),
30
30
 
31
+ 'edges': (
32
+ (('plan:procedure:step', 'uses', None), {
33
+ 'doc': 'The step in the procedure makes use of the target node.'}),
34
+ ),
35
+
31
36
  'forms': (
32
37
  ('plan:system', {}, (
33
38
 
@@ -2,9 +2,10 @@ import pathlib
2
2
 
3
3
  import synapse.exc as s_exc
4
4
  import synapse.telepath as s_telepath
5
+ import synapse.lib.hiveauth as s_hiveauth
5
6
 
6
7
  import synapse.tests.utils as s_test
7
- from synapse.tests.utils import alist
8
+
8
9
 
9
10
  class AuthTest(s_test.SynTest):
10
11
 
@@ -371,3 +372,140 @@ class AuthTest(s_test.SynTest):
371
372
  await core.auth.allrole.setRules([(True, ('hehe', 'haha'), 'newp')])
372
373
  with self.raises(s_exc.SchemaViolation):
373
374
  await core.auth.allrole.setRules([(True, )])
375
+
376
+ async def test_hive_auth_deepdeny(self):
377
+ async with self.getTestCore() as core:
378
+
379
+ # Create an authgate we can later test against
380
+ fork = await core.callStorm('return( $lib.view.get().fork().iden )')
381
+ await core.callStorm('auth.user.add lowuser')
382
+ await core.callStorm('auth.user.addrule lowuser "!hehe.haha.specific"')
383
+ await core.callStorm('auth.user.addrule lowuser "hehe.something.else"')
384
+ await core.callStorm('auth.user.addrule lowuser "hehe.haha"')
385
+ await core.callStorm('auth.user.addrule lowuser "some.perm"')
386
+ await core.callStorm('auth.role.add ninjas')
387
+ await core.callStorm('auth.role.add clowns')
388
+ await core.callStorm('auth.user.grant --index 0 lowuser ninjas')
389
+ await core.callStorm('auth.user.grant --index 1 lowuser clowns')
390
+ await core.callStorm('auth.role.addrule ninjas some.rule')
391
+ await core.callStorm('auth.role.addrule ninjas --gate $gate another.rule',
392
+ opts={'vars': {'gate': fork}})
393
+
394
+ user = await core.auth.getUserByName('lowuser') # type: s_hiveauth.HiveUser
395
+ self.false(user.allowed(('hehe',)))
396
+ self.false(user.allowed(('hehe',), deepdeny=True))
397
+ self.true(user.allowed(('hehe', 'haha')))
398
+ self.false(user.allowed(('hehe', 'haha'), deepdeny=True))
399
+ self.true(user.allowed(('hehe', 'haha', 'wow')))
400
+ self.true(user.allowed(('hehe', 'haha', 'wow'), deepdeny=True))
401
+ self.true(user.allowed(('some', 'perm')))
402
+ self.true(user.allowed(('some', 'perm'), deepdeny=True))
403
+ self.true(user.allowed(('some', 'perm', 'here')))
404
+ self.true(user.allowed(('some', 'perm', 'here'), deepdeny=True))
405
+
406
+ await core.callStorm('auth.user.delrule lowuser hehe.haha')
407
+ await core.callStorm('auth.user.addrule lowuser hehe')
408
+ self.true(user.allowed(('hehe',)))
409
+ self.false(user.allowed(('hehe',), deepdeny=True))
410
+ self.true(user.allowed(('hehe', 'haha')))
411
+ self.false(user.allowed(('hehe', 'haha'), deepdeny=True))
412
+ self.true(user.allowed(('hehe', 'haha', 'wow')))
413
+ self.true(user.allowed(('hehe', 'haha', 'wow'), deepdeny=True))
414
+ self.false(user.allowed(('weee',)))
415
+ self.false(user.allowed(('weee',), deepdeny=True))
416
+ await core.callStorm('auth.user.delrule lowuser hehe')
417
+
418
+ await core.callStorm('auth.role.addrule all "!hehe.something.else.very.specific"')
419
+ self.false(user.allowed(('hehe',)))
420
+ self.false(user.allowed(('hehe',), deepdeny=True))
421
+
422
+ self.false(user.allowed(('hehe', 'something')))
423
+ self.true(user.allowed(('hehe', 'something', 'else')))
424
+ self.true(user.allowed(('hehe', 'something', 'else', 'very')))
425
+ self.true(user.allowed(('hehe', 'something', 'else', 'very', 'specific')))
426
+
427
+ self.false(user.allowed(('hehe', 'something')))
428
+ self.false(user.allowed(('hehe', 'something', 'else'), deepdeny=True))
429
+ self.false(user.allowed(('hehe', 'something', 'else', 'very'), deepdeny=True))
430
+
431
+ # There is NOT a deeper permission here, even though there is a deny rule on the role.
432
+ self.true(user.allowed(('hehe', 'something', 'else', 'very', 'specific'), deepdeny=True))
433
+ self.true(user.allowed(('hehe', 'something', 'else', 'very', 'specific', 'more')))
434
+ self.true(user.allowed(('hehe', 'something', 'else', 'very', 'specific', 'more'), deepdeny=True))
435
+ await core.callStorm('auth.role.delrule all "!hehe.something.else.very.specific"')
436
+
437
+ await core.callStorm('auth.role.addrule --gate $gate all "beep.boop"',
438
+ opts={'vars': {'gate': fork}})
439
+ await core.callStorm('auth.role.addrule --gate $gate all "!hehe.something.else.very.specific"',
440
+ opts={'vars': {'gate': fork}})
441
+ self.false(user.allowed(('hehe',), gateiden=fork))
442
+ self.false(user.allowed(('hehe', 'something'), gateiden=fork))
443
+ self.true(user.allowed(('hehe', 'something', 'else'), gateiden=fork))
444
+ self.true(user.allowed(('hehe', 'something', 'else', 'very'), gateiden=fork))
445
+ self.true(user.allowed(('hehe', 'something', 'else', 'very', 'specific'), gateiden=fork))
446
+ self.false(user.allowed(('hehe',), gateiden=fork, deepdeny=True))
447
+ self.false(user.allowed(('hehe', 'something'), gateiden=fork, deepdeny=True))
448
+ self.false(user.allowed(('hehe', 'something', 'else'), gateiden=fork, deepdeny=True))
449
+ self.false(user.allowed(('hehe', 'something', 'else', 'very'), gateiden=fork, deepdeny=True))
450
+ self.true(user.allowed(('hehe', 'something', 'else', 'very', 'specific'), gateiden=fork, deepdeny=True))
451
+ await core.callStorm('auth.role.delrule --gate $gate all "!hehe.something.else.very.specific"',
452
+ opts={'vars': {'gate': fork}})
453
+ await core.callStorm('auth.role.delrule --gate $gate all "beep.boop"',
454
+ opts={'vars': {'gate': fork}})
455
+
456
+ await core.callStorm('auth.user.addrule --gate $gate lowuser "beep.boop"',
457
+ opts={'vars': {'gate': fork}})
458
+ await core.callStorm('auth.user.addrule --gate $gate lowuser "!hehe.something.else.very.specific"',
459
+ opts={'vars': {'gate': fork}})
460
+ self.false(user.allowed(('hehe',), gateiden=fork))
461
+ self.false(user.allowed(('hehe', 'something'), gateiden=fork))
462
+ self.true(user.allowed(('hehe', 'something', 'else'), gateiden=fork))
463
+ self.true(user.allowed(('hehe', 'something', 'else', 'very'), gateiden=fork))
464
+ self.false(user.allowed(('hehe', 'something', 'else', 'very', 'specific'), gateiden=fork))
465
+ self.false(user.allowed(('hehe',), gateiden=fork, deepdeny=True))
466
+ self.false(user.allowed(('hehe', 'something'), gateiden=fork, deepdeny=True))
467
+ self.false(user.allowed(('hehe', 'something', 'else'), gateiden=fork, deepdeny=True))
468
+ self.false(user.allowed(('hehe', 'something', 'else', 'very'), gateiden=fork, deepdeny=True))
469
+ # This differs from earlier check as the dd is false; but the user authgate deny is earlier in precedence
470
+ # than the user specific allow
471
+ self.false(user.allowed(('hehe', 'something', 'else', 'very', 'specific'), gateiden=fork, deepdeny=True))
472
+
473
+ await core.callStorm('auth.user.delrule --gate $gate lowuser "!hehe.something.else.very.specific"',
474
+ opts={'vars': {'gate': fork}})
475
+ await core.callStorm('auth.user.delrule --gate $gate lowuser "beep.boop"',
476
+ opts={'vars': {'gate': fork}})
477
+
478
+ await core.callStorm('auth.user.mod --admin (true) lowuser --gate $gate', opts={'vars': {'gate': fork}})
479
+ self.true(user.allowed(('hehe',), gateiden=fork))
480
+ self.true(user.allowed(('hehe', 'something'), gateiden=fork))
481
+ self.true(user.allowed(('hehe', 'something', 'else'), gateiden=fork))
482
+ self.true(user.allowed(('hehe', 'something', 'else', 'very'), gateiden=fork))
483
+ self.true(user.allowed(('hehe', 'something', 'else', 'very', 'specific'), gateiden=fork))
484
+
485
+ self.true(user.allowed(('hehe',), gateiden=fork, deepdeny=True))
486
+ self.true(user.allowed(('hehe', 'something'), gateiden=fork, deepdeny=True))
487
+ self.true(user.allowed(('hehe', 'something', 'else'), gateiden=fork, deepdeny=True))
488
+ self.true(user.allowed(('hehe', 'something', 'else', 'very'), gateiden=fork, deepdeny=True))
489
+ self.true(user.allowed(('hehe', 'something', 'else', 'very', 'specific'), gateiden=fork, deepdeny=True))
490
+
491
+ await core.callStorm('auth.user.mod --admin (false) lowuser --gate $gate', opts={'vars': {'gate': fork}})
492
+
493
+ await core.callStorm('auth.user.mod --admin (true) lowuser')
494
+ self.true(user.allowed(('hehe',)))
495
+ self.true(user.allowed(('hehe', 'something')))
496
+ self.true(user.allowed(('hehe', 'something', 'else')))
497
+ self.true(user.allowed(('hehe', 'something', 'else', 'very')))
498
+ self.true(user.allowed(('hehe', 'something', 'else', 'very', 'specific')))
499
+ self.true(user.allowed(('hehe',), deepdeny=True))
500
+ self.true(user.allowed(('hehe', 'something')))
501
+ self.true(user.allowed(('hehe', 'something', 'else'), deepdeny=True))
502
+ self.true(user.allowed(('hehe', 'something', 'else', 'very'), deepdeny=True))
503
+ self.true(user.allowed(('hehe', 'something', 'else', 'very', 'specific'), deepdeny=True))
504
+ await core.callStorm('auth.user.mod --admin (false) lowuser')
505
+
506
+ await core.callStorm('auth.user.mod --locked (true) lowuser')
507
+ self.false(user.allowed(('hehe',), deepdeny=True))
508
+ self.false(user.allowed(('hehe', 'something'), deepdeny=True))
509
+ self.false(user.allowed(('hehe', 'something', 'else'), deepdeny=True))
510
+ self.false(user.allowed(('hehe', 'something', 'else', 'very'), deepdeny=True))
511
+ self.false(user.allowed(('hehe', 'something', 'else', 'very', 'specific'), deepdeny=True))
@@ -1920,6 +1920,19 @@ class LayerTest(s_t_utils.SynTest):
1920
1920
  async def __anit__(self, dirn=None, size=1, cell=None):
1921
1921
  await super().__anit__(dirn=dirn, size=size, cell=cell)
1922
1922
 
1923
+ seen = set()
1924
+ def confirm(self, perm, default=None, gateiden=None):
1925
+ seen.add(perm)
1926
+ return True
1927
+
1928
+ def confirmPropSet(self, user, prop, layriden):
1929
+ seen.add(prop.setperms[0])
1930
+ seen.add(prop.setperms[1])
1931
+
1932
+ def confirmPropDel(self, user, prop, layriden):
1933
+ seen.add(prop.delperms[0])
1934
+ seen.add(prop.delperms[1])
1935
+
1923
1936
  with mock.patch('synapse.lib.spooled.Dict', Dict):
1924
1937
  async with self.getTestCore() as core:
1925
1938
 
@@ -1952,19 +1965,7 @@ class LayerTest(s_t_utils.SynTest):
1952
1965
 
1953
1966
  parent = core.view.layers[0]
1954
1967
 
1955
- seen = set()
1956
- def confirm(self, perm, default=None, gateiden=None):
1957
- seen.add(perm)
1958
- return True
1959
-
1960
- def confirmPropSet(self, user, prop, layriden):
1961
- seen.add(prop.setperms[0])
1962
- seen.add(prop.setperms[1])
1963
-
1964
- def confirmPropDel(self, user, prop, layriden):
1965
- seen.add(prop.delperms[0])
1966
- seen.add(prop.delperms[1])
1967
-
1968
+ seen.clear()
1968
1969
  with mock.patch.object(s_hiveauth.HiveUser, 'confirm', confirm):
1969
1970
  with mock.patch.object(s_cortex.Cortex, 'confirmPropSet', confirmPropSet):
1970
1971
  with mock.patch.object(s_cortex.Cortex, 'confirmPropDel', confirmPropDel):
@@ -2075,6 +2076,59 @@ class LayerTest(s_t_utils.SynTest):
2075
2076
  ('node', 'tag', 'del', 'foo', 'bar'),
2076
2077
  })
2077
2078
 
2079
+ async with self.getTestCore() as core:
2080
+
2081
+ user = await core.auth.addUser('blackout@vertex.link')
2082
+ await user.addRule((False, ('node', 'edge', 'add', 'haha')))
2083
+ await user.addRule((False, ('node', 'data', 'set', 'hehe')))
2084
+ await user.addRule((True, ('node',)))
2085
+
2086
+ viewiden = await core.callStorm('''
2087
+ $lyr = $lib.layer.add()
2088
+ $view = $lib.view.add(($lyr.iden,))
2089
+ return($view.iden)
2090
+ ''')
2091
+
2092
+ layr = core.views[viewiden].layers[0]
2093
+
2094
+ opts = {'view': viewiden}
2095
+
2096
+ await core.nodes('[ test:str=bar +#foo.bar ]', opts=opts)
2097
+
2098
+ await core.nodes('''
2099
+ [ test:str=foo
2100
+ :hehe=bar
2101
+ +#foo.bar.baz
2102
+ <(refs)+ { test:str=bar }
2103
+ ]
2104
+ $node.data.set(foo, bar)
2105
+ ''', opts=opts)
2106
+
2107
+ parent = core.view.layers[0]
2108
+
2109
+ seen.clear()
2110
+ with mock.patch.object(s_hiveauth.HiveUser, 'confirm', confirm):
2111
+ with mock.patch.object(s_cortex.Cortex, 'confirmPropSet', confirmPropSet):
2112
+ with mock.patch.object(s_cortex.Cortex, 'confirmPropDel', confirmPropDel):
2113
+ await layr.confirmLayerEditPerms(user, parent.iden)
2114
+
2115
+ self.eq(seen, {
2116
+ # node.edge.add.* and node.data.set.* because of the deny rules
2117
+ ('node', 'edge', 'add', 'refs'),
2118
+ ('node', 'data', 'set', 'foo'),
2119
+ })
2120
+
2121
+ await user.delRule((False, ('node', 'edge', 'add', 'haha')))
2122
+ await user.delRule((False, ('node', 'data', 'set', 'hehe')))
2123
+
2124
+ seen.clear()
2125
+ with mock.patch.object(s_hiveauth.HiveUser, 'confirm', confirm):
2126
+ with mock.patch.object(s_cortex.Cortex, 'confirmPropSet', confirmPropSet):
2127
+ with mock.patch.object(s_cortex.Cortex, 'confirmPropDel', confirmPropDel):
2128
+ await layr.confirmLayerEditPerms(user, parent.iden)
2129
+
2130
+ self.eq(seen, set())
2131
+
2078
2132
  async def test_layer_v9(self):
2079
2133
  async with self.getRegrCore('2.101.1-hugenum-indxprec') as core:
2080
2134
 
@@ -375,19 +375,25 @@ class OuModelTest(s_t_utils.SynTest):
375
375
  props = {
376
376
  'org': guid0,
377
377
  'name': 'arrowcon 2018',
378
+ 'names': ('Arrow Conference 2018', 'ArrCon18', 'ArrCon18'),
378
379
  'base': 'arrowcon',
379
380
  'start': '20180301',
380
381
  'end': '20180303',
381
382
  'place': place0,
382
383
  'url': 'http://arrowcon.org/2018',
383
384
  }
384
- q = '''[(ou:conference=$valu :org=$p.org :name=$p.name :base=$p.base
385
- :start=$p.start :end=$p.end :place=$p.place :url=$p.url)]'''
385
+ q = '''[
386
+ ou:conference=$valu
387
+ :org=$p.org :name=$p.name :names=$p.names
388
+ :base=$p.base :start=$p.start :end=$p.end
389
+ :place=$p.place :url=$p.url
390
+ ]'''
386
391
  nodes = await core.nodes(q, opts={'vars': {'valu': c0, 'p': props}})
387
392
  self.len(1, nodes)
388
393
  node = nodes[0]
389
394
  self.eq(node.ndef[1], c0)
390
395
  self.eq(node.get('name'), 'arrowcon 2018')
396
+ self.eq(node.get('names'), ('arrcon18', 'arrow conference 2018',))
391
397
  self.eq(node.get('base'), 'arrowcon')
392
398
  self.eq(node.get('org'), guid0)
393
399
  self.eq(node.get('start'), 1519862400000)
@@ -153,6 +153,7 @@ class PsModelTest(s_t_utils.SynTest):
153
153
  :org=$p.org :asof=$p.asof :person=$p.person
154
154
  :place=$p.place :place:name=$p."place:name" :name=$p.name
155
155
  :title=$p.title :orgname=$p.orgname :user=$p.user
156
+ :titles=('hehe', 'hehe', 'haha')
156
157
  :web:acct=$p."web:acct" :web:group=$p."web:group"
157
158
  :dob=$p.dob :dod=$p.dod :url=$p.url
158
159
  :email=$p.email :email:work=$p."email:work"
@@ -177,6 +178,7 @@ class PsModelTest(s_t_utils.SynTest):
177
178
  self.eq(node.get('place:name'), 'the shire')
178
179
  self.eq(node.get('name'), 'tony stark')
179
180
  self.eq(node.get('title'), 'ceo')
181
+ self.eq(node.get('titles'), ('haha', 'hehe'))
180
182
  self.eq(node.get('orgname'), 'stark industries, inc')
181
183
  self.eq(node.get('user'), 'ironman')
182
184
  self.eq(node.get('web:acct'), ('twitter.com', 'ironman'))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: synapse
3
- Version: 2.172.0
3
+ Version: 2.173.1
4
4
  Summary: Synapse Intelligence Analysis Framework
5
5
  Author-email: The Vertex Project LLC <root@vertex.link>
6
6
  License: Apache License 2.0
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes