synapse 2.210.0__tar.gz → 2.212.0__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 (631) hide show
  1. {synapse-2.210.0/synapse.egg-info → synapse-2.212.0}/PKG-INFO +1 -1
  2. {synapse-2.210.0 → synapse-2.212.0}/pyproject.toml +1 -1
  3. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/base.py +2 -3
  4. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/node.py +8 -3
  5. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/schemas.py +10 -1
  6. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/share.py +0 -3
  7. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/snap.py +11 -2
  8. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/json.py +1 -1
  9. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormtypes.py +2 -2
  10. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/version.py +2 -2
  11. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/inet.py +110 -3
  12. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/orgs.py +0 -1
  13. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_base.py +5 -0
  14. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_config.py +8 -2
  15. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_layer.py +2 -2
  16. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_storm.py +31 -2
  17. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormhttp.py +6 -6
  18. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_json.py +4 -1
  19. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormtypes.py +16 -18
  20. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_view.py +14 -0
  21. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_inet.py +57 -4
  22. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_orgs.py +18 -2
  23. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_genpkg.py +9 -0
  24. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/utils.py +4 -0
  25. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/autodoc.py +8 -2
  26. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/genpkg.py +9 -2
  27. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/rstorm.py +8 -2
  28. {synapse-2.210.0 → synapse-2.212.0/synapse.egg-info}/PKG-INFO +1 -1
  29. {synapse-2.210.0 → synapse-2.212.0}/LICENSE +0 -0
  30. {synapse-2.210.0 → synapse-2.212.0}/README.rst +0 -0
  31. {synapse-2.210.0 → synapse-2.212.0}/setup.cfg +0 -0
  32. {synapse-2.210.0 → synapse-2.212.0}/synapse/__init__.py +0 -0
  33. {synapse-2.210.0 → synapse-2.212.0}/synapse/axon.py +0 -0
  34. {synapse-2.210.0 → synapse-2.212.0}/synapse/cells.py +0 -0
  35. {synapse-2.210.0 → synapse-2.212.0}/synapse/cmds/__init__.py +0 -0
  36. {synapse-2.210.0 → synapse-2.212.0}/synapse/cmds/boss.py +0 -0
  37. {synapse-2.210.0 → synapse-2.212.0}/synapse/cmds/cortex.py +0 -0
  38. {synapse-2.210.0 → synapse-2.212.0}/synapse/cmds/hive.py +0 -0
  39. {synapse-2.210.0 → synapse-2.212.0}/synapse/common.py +0 -0
  40. {synapse-2.210.0 → synapse-2.212.0}/synapse/cortex.py +0 -0
  41. {synapse-2.210.0 → synapse-2.212.0}/synapse/cryotank.py +0 -0
  42. {synapse-2.210.0 → synapse-2.212.0}/synapse/daemon.py +0 -0
  43. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/__init__.py +0 -0
  44. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/attack-flow/LICENSE.txt +0 -0
  45. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/attack-flow/README.md +0 -0
  46. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/attack-flow/attack-flow-schema-2.0.0.json +0 -0
  47. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/certs/cas/The Vertex Project Intermediate CA 00.crt +0 -0
  48. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/certs/cas/The Vertex Project ROOT CA.crt +0 -0
  49. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/certs/crls/The Vertex Project Intermediate CA 00.crl +0 -0
  50. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/certs/crls/The Vertex Project ROOT CA.crl +0 -0
  51. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/iana.tlds.mpk +0 -0
  52. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/iana.uris.mpk +0 -0
  53. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/README.md +0 -0
  54. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/LICENSE.txt +0 -0
  55. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/binary.json +0 -0
  56. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/bundle.json +0 -0
  57. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/core.json +0 -0
  58. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/cyber-observable-core.json +0 -0
  59. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/dictionary.json +0 -0
  60. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension-definition.json +0 -0
  61. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension.json +0 -0
  62. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/external-reference.json +0 -0
  63. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/granular-marking.json +0 -0
  64. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hashes-type.json +0 -0
  65. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hex.json +0 -0
  66. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/identifier.json +0 -0
  67. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/kill-chain-phase.json +0 -0
  68. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/language-content.json +0 -0
  69. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/marking-definition.json +0 -0
  70. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/properties.json +0 -0
  71. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/timestamp.json +0 -0
  72. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/url-regex.json +0 -0
  73. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/artifact.json +0 -0
  74. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/autonomous-system.json +0 -0
  75. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/directory.json +0 -0
  76. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/domain-name.json +0 -0
  77. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-addr.json +0 -0
  78. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-message.json +0 -0
  79. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/file.json +0 -0
  80. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv4-addr.json +0 -0
  81. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv6-addr.json +0 -0
  82. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mac-addr.json +0 -0
  83. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mutex.json +0 -0
  84. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/network-traffic.json +0 -0
  85. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/process.json +0 -0
  86. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/software.json +0 -0
  87. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/url.json +0 -0
  88. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/user-account.json +0 -0
  89. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/windows-registry-key.json +0 -0
  90. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/x509-certificate.json +0 -0
  91. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/attack-pattern.json +0 -0
  92. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/campaign.json +0 -0
  93. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/course-of-action.json +0 -0
  94. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/grouping.json +0 -0
  95. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/identity.json +0 -0
  96. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/incident.json +0 -0
  97. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/indicator.json +0 -0
  98. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/infrastructure.json +0 -0
  99. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/intrusion-set.json +0 -0
  100. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/location.json +0 -0
  101. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware-analysis.json +0 -0
  102. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware.json +0 -0
  103. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/note.json +0 -0
  104. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/observed-data.json +0 -0
  105. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/opinion.json +0 -0
  106. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/report.json +0 -0
  107. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/threat-actor.json +0 -0
  108. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/tool.json +0 -0
  109. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/vulnerability.json +0 -0
  110. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/relationship.json +0 -0
  111. {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/sighting.json +0 -0
  112. {synapse-2.210.0 → synapse-2.212.0}/synapse/datamodel.py +0 -0
  113. {synapse-2.210.0 → synapse-2.212.0}/synapse/exc.py +0 -0
  114. {synapse-2.210.0 → synapse-2.212.0}/synapse/glob.py +0 -0
  115. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/__init__.py +0 -0
  116. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/agenda.py +0 -0
  117. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/aha.py +0 -0
  118. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/ast.py +0 -0
  119. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/auth.py +0 -0
  120. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/autodoc.py +0 -0
  121. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/boss.py +0 -0
  122. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/cache.py +0 -0
  123. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/cell.py +0 -0
  124. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/certdir.py +0 -0
  125. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/chop.py +0 -0
  126. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/cli.py +0 -0
  127. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/cmd.py +0 -0
  128. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/cmdr.py +0 -0
  129. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/config.py +0 -0
  130. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/const.py +0 -0
  131. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/coro.py +0 -0
  132. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/crypto/__init__.py +0 -0
  133. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/crypto/coin.py +0 -0
  134. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/crypto/ecc.py +0 -0
  135. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/crypto/passwd.py +0 -0
  136. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/crypto/rsa.py +0 -0
  137. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/crypto/tinfoil.py +0 -0
  138. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/datfile.py +0 -0
  139. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/drive.py +0 -0
  140. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/dyndeps.py +0 -0
  141. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/encoding.py +0 -0
  142. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/gis.py +0 -0
  143. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/grammar.py +0 -0
  144. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/hashitem.py +0 -0
  145. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/hashset.py +0 -0
  146. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/health.py +0 -0
  147. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/hive.py +0 -0
  148. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/httpapi.py +0 -0
  149. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/ingest.py +0 -0
  150. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/interval.py +0 -0
  151. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/json.py +0 -0
  152. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/jsonstor.py +0 -0
  153. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/layer.py +0 -0
  154. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/link.py +0 -0
  155. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/lmdbslab.py +0 -0
  156. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/modelrev.py +0 -0
  157. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/module.py +0 -0
  158. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/modules.py +0 -0
  159. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/msgpack.py +0 -0
  160. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/multislabseqn.py +0 -0
  161. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/nexus.py +0 -0
  162. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/oauth.py +0 -0
  163. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/output.py +0 -0
  164. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/parser.py +0 -0
  165. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/platforms/__init__.py +0 -0
  166. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/platforms/common.py +0 -0
  167. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/platforms/darwin.py +0 -0
  168. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/platforms/freebsd.py +0 -0
  169. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/platforms/linux.py +0 -0
  170. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/platforms/windows.py +0 -0
  171. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/queue.py +0 -0
  172. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/ratelimit.py +0 -0
  173. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/reflect.py +0 -0
  174. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/rstorm.py +0 -0
  175. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/scope.py +0 -0
  176. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/scrape.py +0 -0
  177. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/slaboffs.py +0 -0
  178. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/slabseqn.py +0 -0
  179. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/spooled.py +0 -0
  180. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/storm.lark +0 -0
  181. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/storm.py +0 -0
  182. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/storm_format.py +0 -0
  183. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormctrl.py +0 -0
  184. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormhttp.py +0 -0
  185. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/__init__.py +0 -0
  186. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/aha.py +0 -0
  187. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/auth.py +0 -0
  188. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/backup.py +0 -0
  189. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/basex.py +0 -0
  190. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/cache.py +0 -0
  191. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/cell.py +0 -0
  192. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/compression.py +0 -0
  193. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/cortex.py +0 -0
  194. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/easyperm.py +0 -0
  195. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/env.py +0 -0
  196. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/ethereum.py +0 -0
  197. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/gen.py +0 -0
  198. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/gis.py +0 -0
  199. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/graph.py +0 -0
  200. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/hashes.py +0 -0
  201. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/hex.py +0 -0
  202. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/imap.py +0 -0
  203. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/index.py +0 -0
  204. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/infosec.py +0 -0
  205. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/ipv6.py +0 -0
  206. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/iters.py +0 -0
  207. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/log.py +0 -0
  208. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/macro.py +0 -0
  209. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/math.py +0 -0
  210. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/mime.py +0 -0
  211. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/model.py +0 -0
  212. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/modelext.py +0 -0
  213. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/notifications.py +0 -0
  214. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/oauth.py +0 -0
  215. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/pack.py +0 -0
  216. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/project.py +0 -0
  217. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/random.py +0 -0
  218. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/scrape.py +0 -0
  219. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/smtp.py +0 -0
  220. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/spooled.py +0 -0
  221. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/stats.py +0 -0
  222. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/stix.py +0 -0
  223. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/storm.py +0 -0
  224. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/tabular.py +0 -0
  225. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/utils.py +0 -0
  226. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/vault.py +0 -0
  227. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/version.py +0 -0
  228. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/xml.py +0 -0
  229. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/yaml.py +0 -0
  230. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormsvc.py +0 -0
  231. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormwhois.py +0 -0
  232. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/structlog.py +0 -0
  233. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/task.py +0 -0
  234. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/thishost.py +0 -0
  235. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/thisplat.py +0 -0
  236. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/threads.py +0 -0
  237. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/time.py +0 -0
  238. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/trigger.py +0 -0
  239. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/types.py +0 -0
  240. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/urlhelp.py +0 -0
  241. {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/view.py +0 -0
  242. {synapse-2.210.0 → synapse-2.212.0}/synapse/lookup/__init__.py +0 -0
  243. {synapse-2.210.0 → synapse-2.212.0}/synapse/lookup/cvss.py +0 -0
  244. {synapse-2.210.0 → synapse-2.212.0}/synapse/lookup/iana.py +0 -0
  245. {synapse-2.210.0 → synapse-2.212.0}/synapse/lookup/iso3166.py +0 -0
  246. {synapse-2.210.0 → synapse-2.212.0}/synapse/lookup/macho.py +0 -0
  247. {synapse-2.210.0 → synapse-2.212.0}/synapse/lookup/pe.py +0 -0
  248. {synapse-2.210.0 → synapse-2.212.0}/synapse/lookup/phonenum.py +0 -0
  249. {synapse-2.210.0 → synapse-2.212.0}/synapse/lookup/timezones.py +0 -0
  250. {synapse-2.210.0 → synapse-2.212.0}/synapse/mindmeld.py +0 -0
  251. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/__init__.py +0 -0
  252. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/auth.py +0 -0
  253. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/base.py +0 -0
  254. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/belief.py +0 -0
  255. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/biz.py +0 -0
  256. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/crypto.py +0 -0
  257. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/dns.py +0 -0
  258. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/doc.py +0 -0
  259. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/economic.py +0 -0
  260. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/entity.py +0 -0
  261. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/files.py +0 -0
  262. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/geopol.py +0 -0
  263. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/geospace.py +0 -0
  264. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/gov/__init__.py +0 -0
  265. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/gov/cn.py +0 -0
  266. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/gov/intl.py +0 -0
  267. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/gov/us.py +0 -0
  268. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/infotech.py +0 -0
  269. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/language.py +0 -0
  270. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/material.py +0 -0
  271. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/math.py +0 -0
  272. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/media.py +0 -0
  273. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/person.py +0 -0
  274. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/planning.py +0 -0
  275. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/proj.py +0 -0
  276. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/risk.py +0 -0
  277. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/science.py +0 -0
  278. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/syn.py +0 -0
  279. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/telco.py +0 -0
  280. {synapse-2.210.0 → synapse-2.212.0}/synapse/models/transport.py +0 -0
  281. {synapse-2.210.0 → synapse-2.212.0}/synapse/servers/__init__.py +0 -0
  282. {synapse-2.210.0 → synapse-2.212.0}/synapse/servers/aha.py +0 -0
  283. {synapse-2.210.0 → synapse-2.212.0}/synapse/servers/axon.py +0 -0
  284. {synapse-2.210.0 → synapse-2.212.0}/synapse/servers/cell.py +0 -0
  285. {synapse-2.210.0 → synapse-2.212.0}/synapse/servers/cortex.py +0 -0
  286. {synapse-2.210.0 → synapse-2.212.0}/synapse/servers/cryotank.py +0 -0
  287. {synapse-2.210.0 → synapse-2.212.0}/synapse/servers/jsonstor.py +0 -0
  288. {synapse-2.210.0 → synapse-2.212.0}/synapse/servers/stemcell.py +0 -0
  289. {synapse-2.210.0 → synapse-2.212.0}/synapse/telepath.py +0 -0
  290. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/__init__.py +0 -0
  291. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/TestUtilsGetrefs.test_basics.yaml +0 -0
  292. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/__init__.py +0 -0
  293. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/aha/certs/cas/synapse.crt +0 -0
  294. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/aha/certs/cas/synapse.key +0 -0
  295. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.crt +0 -0
  296. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.key +0 -0
  297. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/aha/certs/users/root@synapse.crt +0 -0
  298. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/aha/certs/users/root@synapse.key +0 -0
  299. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/attack_flow/CISA AA22-138B VMWare Workspace (Alt).json +0 -0
  300. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/attack_flow/CISA_Iranian_APT.json +0 -0
  301. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/certdir/cas/ca.crt +0 -0
  302. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/certdir/cas/ca.key +0 -0
  303. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/certdir/hosts/localhost.crt +0 -0
  304. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/certdir/hosts/localhost.key +0 -0
  305. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/certdir/users/root.crt +0 -0
  306. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/certdir/users/root.key +0 -0
  307. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/certdir/users/user.crt +0 -0
  308. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/certdir/users/user.key +0 -0
  309. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/changelog/model_2.176.0_16ee721a6b7221344eaf946c3ab4602dda546b1a.yaml.gz +0 -0
  310. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/changelog/model_2.176.0_2a25c58bbd344716cd7cbc3f4304d8925b0f4ef2.yaml.gz +0 -0
  311. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/cpedata.json +0 -0
  312. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/rstorm/httpresp1.json +0 -0
  313. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/rstorm/httpresp2.json +0 -0
  314. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/rstorm/httpresp3.json +0 -0
  315. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/rstorm/httprespmulti.yaml +0 -0
  316. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/rstorm/testsvc.py +0 -0
  317. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stix_export/basic.json +0 -0
  318. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stix_export/custom0.json +0 -0
  319. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stix_export/risk0.json +0 -0
  320. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stix_import/apt1.json +0 -0
  321. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stix_import/oasis-example-00.json +0 -0
  322. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormcov/argvquery.storm +0 -0
  323. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormcov/dupesubs.storm +0 -0
  324. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormcov/lookup.storm +0 -0
  325. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormcov/pivot.storm +0 -0
  326. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormcov/pragma-nocov.storm +0 -0
  327. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormcov/spin.storm +0 -0
  328. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormcov/stormctrl.storm +0 -0
  329. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormmod/common +0 -0
  330. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/badapidef.yaml +0 -0
  331. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/badcmdname.yaml +0 -0
  332. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/badendpoints.yaml +0 -0
  333. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/badjsonpkg.yaml +0 -0
  334. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/docs/foobar.md +0 -0
  335. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/docs/foobar.svg +0 -0
  336. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/dotstorm/dotstorm.yaml +0 -0
  337. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/dotstorm/storm/commands/dotstorm.bar.storm +0 -0
  338. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/dotstorm/storm/modules/dotstorm.foo.storm +0 -0
  339. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/nocontent.yaml +0 -0
  340. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/nomime.yaml +0 -0
  341. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/nopath.yaml +0 -0
  342. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/nosuchfile.yaml +0 -0
  343. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/notitle.yaml +0 -0
  344. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/optic/index.html +0 -0
  345. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/storm/commands/invalidCMD +0 -0
  346. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/storm/commands/testpkg.baz +0 -0
  347. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/storm/commands/testpkgcmd +0 -0
  348. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/storm/modules/apimod +0 -0
  349. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/storm/modules/testmod +0 -0
  350. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/testpkg.yaml +0 -0
  351. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/workflows/testpkg-bam.newp +0 -0
  352. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/workflows/testpkg-baz.yaml +0 -0
  353. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/workflows/testpkg-foo.yaml +0 -0
  354. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/test.dat +0 -0
  355. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/testcore/cell.yaml +0 -0
  356. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/nopmod.py +0 -0
  357. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_axon.py +0 -0
  358. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_cmds_boss.py +0 -0
  359. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_cmds_cortex.py +0 -0
  360. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_cmds_hive.py +0 -0
  361. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_common.py +0 -0
  362. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_cortex.py +0 -0
  363. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_cryotank.py +0 -0
  364. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_daemon.py +0 -0
  365. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_data.py +0 -0
  366. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_datamodel.py +0 -0
  367. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_exc.py +0 -0
  368. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_glob.py +0 -0
  369. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_init.py +0 -0
  370. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_agenda.py +0 -0
  371. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_aha.py +0 -0
  372. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_ast.py +0 -0
  373. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_auth.py +0 -0
  374. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_autodoc.py +0 -0
  375. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_boss.py +0 -0
  376. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_cache.py +0 -0
  377. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_cell.py +0 -0
  378. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_certdir.py +0 -0
  379. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_chop.py +0 -0
  380. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_cli.py +0 -0
  381. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_const.py +0 -0
  382. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_coro.py +0 -0
  383. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_crypto_coin.py +0 -0
  384. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_crypto_ecc.py +0 -0
  385. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_crypto_passwd.py +0 -0
  386. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_crypto_tinfoil.py +0 -0
  387. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_datfile.py +0 -0
  388. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_dyndeps.py +0 -0
  389. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_encoding.py +0 -0
  390. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_gis.py +0 -0
  391. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_grammar.py +0 -0
  392. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_hashitem.py +0 -0
  393. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_hashset.py +0 -0
  394. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_health.py +0 -0
  395. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_hive.py +0 -0
  396. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_httpapi.py +0 -0
  397. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_interval.py +0 -0
  398. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_json.py +0 -0
  399. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_jsonstor.py +0 -0
  400. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_link.py +0 -0
  401. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_lmdbslab.py +0 -0
  402. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_modelrev.py +0 -0
  403. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_module.py +0 -0
  404. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_msgpack.py +0 -0
  405. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_multislabseqn.py +0 -0
  406. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_nexus.py +0 -0
  407. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_node.py +0 -0
  408. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_output.py +0 -0
  409. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_platforms_linux.py +0 -0
  410. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_queue.py +0 -0
  411. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_ratelimit.py +0 -0
  412. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_reflect.py +0 -0
  413. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_rstorm.py +0 -0
  414. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_scope.py +0 -0
  415. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_scrape.py +0 -0
  416. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_slaboffs.py +0 -0
  417. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_slabseqn.py +0 -0
  418. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_snap.py +0 -0
  419. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_spooled.py +0 -0
  420. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_storm_format.py +0 -0
  421. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormctrl.py +0 -0
  422. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_aha.py +0 -0
  423. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_auth.py +0 -0
  424. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_backup.py +0 -0
  425. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_basex.py +0 -0
  426. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_cache.py +0 -0
  427. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_cell.py +0 -0
  428. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_compression.py +0 -0
  429. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_cortex.py +0 -0
  430. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_easyperm.py +0 -0
  431. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_env.py +0 -0
  432. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_ethereum.py +0 -0
  433. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_gen.py +0 -0
  434. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_gis.py +0 -0
  435. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_hashes.py +0 -0
  436. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_hex.py +0 -0
  437. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_imap.py +0 -0
  438. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_index.py +0 -0
  439. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_infosec.py +0 -0
  440. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_ipv6.py +0 -0
  441. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_iters.py +0 -0
  442. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_log.py +0 -0
  443. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_macro.py +0 -0
  444. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_mime.py +0 -0
  445. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_model.py +0 -0
  446. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_modelext.py +0 -0
  447. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_oauth.py +0 -0
  448. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_pack.py +0 -0
  449. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_random.py +0 -0
  450. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_scrape.py +0 -0
  451. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_smtp.py +0 -0
  452. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_spooled.py +0 -0
  453. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_stats.py +0 -0
  454. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_stix.py +0 -0
  455. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_storm.py +0 -0
  456. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_tabular.py +0 -0
  457. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_utils.py +0 -0
  458. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_vault.py +0 -0
  459. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_xml.py +0 -0
  460. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_yaml.py +0 -0
  461. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormsvc.py +0 -0
  462. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormwhois.py +0 -0
  463. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_structlog.py +0 -0
  464. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_task.py +0 -0
  465. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_thishost.py +0 -0
  466. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_time.py +0 -0
  467. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_trigger.py +0 -0
  468. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_types.py +0 -0
  469. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_urlhelp.py +0 -0
  470. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_version.py +0 -0
  471. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lookup_iso3166.py +0 -0
  472. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lookup_phonenum.py +0 -0
  473. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_mindmeld.py +0 -0
  474. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_auth.py +0 -0
  475. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_base.py +0 -0
  476. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_belief.py +0 -0
  477. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_biz.py +0 -0
  478. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_crypto.py +0 -0
  479. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_dns.py +0 -0
  480. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_doc.py +0 -0
  481. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_economic.py +0 -0
  482. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_entity.py +0 -0
  483. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_files.py +0 -0
  484. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_geopol.py +0 -0
  485. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_geospace.py +0 -0
  486. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_gov_cn.py +0 -0
  487. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_gov_intl.py +0 -0
  488. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_gov_us.py +0 -0
  489. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_infotech.py +0 -0
  490. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_language.py +0 -0
  491. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_material.py +0 -0
  492. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_math.py +0 -0
  493. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_media.py +0 -0
  494. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_person.py +0 -0
  495. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_planning.py +0 -0
  496. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_proj.py +0 -0
  497. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_risk.py +0 -0
  498. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_science.py +0 -0
  499. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_syn.py +0 -0
  500. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_telco.py +0 -0
  501. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_transport.py +0 -0
  502. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_servers_axon.py +0 -0
  503. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_servers_cortex.py +0 -0
  504. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_servers_cryotank.py +0 -0
  505. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_servers_stemcell.py +0 -0
  506. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_servers_univ.py +0 -0
  507. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_telepath.py +0 -0
  508. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_aha.py +0 -0
  509. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_apikey.py +0 -0
  510. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_autodoc.py +0 -0
  511. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_axon2axon.py +0 -0
  512. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_backup.py +0 -0
  513. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_cellauth.py +0 -0
  514. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_changelog.py +0 -0
  515. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_cryo_cat.py +0 -0
  516. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_cryo_list.py +0 -0
  517. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_csvtool.py +0 -0
  518. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_docker_validate.py +0 -0
  519. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_easycert.py +0 -0
  520. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_feed.py +0 -0
  521. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_guid.py +0 -0
  522. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_healthcheck.py +0 -0
  523. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_hiveload.py +0 -0
  524. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_hivesave.py +0 -0
  525. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_json2mpk.py +0 -0
  526. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_livebackup.py +0 -0
  527. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_modrole.py +0 -0
  528. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_moduser.py +0 -0
  529. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_promote.py +0 -0
  530. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_pullfile.py +0 -0
  531. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_pushfile.py +0 -0
  532. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_reload.py +0 -0
  533. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_rstorm.py +0 -0
  534. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_snapshot.py +0 -0
  535. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_storm.py +0 -0
  536. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_utils.py +0 -0
  537. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_utils_getrefs.py +0 -0
  538. {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_utils_stormcov.py +0 -0
  539. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/__init__.py +0 -0
  540. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/aha/__init__.py +0 -0
  541. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/aha/clone.py +0 -0
  542. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/aha/easycert.py +0 -0
  543. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/aha/enroll.py +0 -0
  544. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/aha/list.py +0 -0
  545. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/aha/mirror.py +0 -0
  546. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/aha/provision/__init__.py +0 -0
  547. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/aha/provision/service.py +0 -0
  548. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/aha/provision/user.py +0 -0
  549. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/apikey.py +0 -0
  550. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/axon2axon.py +0 -0
  551. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/backup.py +0 -0
  552. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/cellauth.py +0 -0
  553. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/changelog.py +0 -0
  554. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/cmdr.py +0 -0
  555. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/cryo/__init__.py +0 -0
  556. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/cryo/cat.py +0 -0
  557. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/cryo/list.py +0 -0
  558. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/csvtool.py +0 -0
  559. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/docker/__init__.py +0 -0
  560. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/docker/validate.py +0 -0
  561. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/easycert.py +0 -0
  562. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/feed.py +0 -0
  563. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/guid.py +0 -0
  564. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/healthcheck.py +0 -0
  565. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/hive/__init__.py +0 -0
  566. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/hive/load.py +0 -0
  567. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/hive/save.py +0 -0
  568. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/json2mpk.py +0 -0
  569. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/livebackup.py +0 -0
  570. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/modrole.py +0 -0
  571. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/moduser.py +0 -0
  572. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/promote.py +0 -0
  573. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/pullfile.py +0 -0
  574. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/pushfile.py +0 -0
  575. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/reload.py +0 -0
  576. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/snapshot.py +0 -0
  577. {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/storm.py +0 -0
  578. {synapse-2.210.0 → synapse-2.212.0}/synapse/utils/__init__.py +0 -0
  579. {synapse-2.210.0 → synapse-2.212.0}/synapse/utils/getrefs.py +0 -0
  580. {synapse-2.210.0 → synapse-2.212.0}/synapse/utils/stormcov/__init__.py +0 -0
  581. {synapse-2.210.0 → synapse-2.212.0}/synapse/utils/stormcov/plugin.py +0 -0
  582. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/__init__.py +0 -0
  583. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cashaddress/LICENSE +0 -0
  584. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cashaddress/__init__.py +0 -0
  585. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cashaddress/base58.py +0 -0
  586. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cashaddress/convert.py +0 -0
  587. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cashaddress/crypto.py +0 -0
  588. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cashaddress/tests/__init__.py +0 -0
  589. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cashaddress/tests/test_cashaddress.py +0 -0
  590. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/LICENSE +0 -0
  591. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/__init__.py +0 -0
  592. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/__init__.py +0 -0
  593. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/email/__init__.py +0 -0
  594. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/email/_parseaddr.py +0 -0
  595. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/email/utils.py +0 -0
  596. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/http/__init__.py +0 -0
  597. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/http/cookies.py +0 -0
  598. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/ipaddress.py +0 -0
  599. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/json.py +0 -0
  600. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/test/__init__.py +0 -0
  601. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/test/support/__init__.py +0 -0
  602. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/test/test_email/__init__.py +0 -0
  603. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/test/test_email/test_email.py +0 -0
  604. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/test/test_email/test_utils.py +0 -0
  605. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/test/test_http_cookies.py +0 -0
  606. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/test/test_ipaddress.py +0 -0
  607. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/test/test_json.py +0 -0
  608. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/substrateinterface/LICENSE +0 -0
  609. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/substrateinterface/__init__.py +0 -0
  610. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/substrateinterface/tests/__init__.py +0 -0
  611. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/substrateinterface/tests/test_ss58.py +0 -0
  612. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/substrateinterface/utils/__init__.py +0 -0
  613. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/substrateinterface/utils/ss58.py +0 -0
  614. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/utils.py +0 -0
  615. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/xrpl/LICENSE +0 -0
  616. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/xrpl/__init__.py +0 -0
  617. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/xrpl/constants.py +0 -0
  618. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/xrpl/core/__init__.py +0 -0
  619. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/xrpl/core/addresscodec/__init__.py +0 -0
  620. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/xrpl/core/addresscodec/codec.py +0 -0
  621. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/xrpl/core/addresscodec/exceptions.py +0 -0
  622. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/xrpl/core/addresscodec/main.py +0 -0
  623. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/xrpl/core/addresscodec/utils.py +0 -0
  624. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/xrpl/tests/__init__.py +0 -0
  625. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/xrpl/tests/test_codec.py +0 -0
  626. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/xrpl/tests/test_main.py +0 -0
  627. {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/xrpl/tests/test_main_test_cases.py +0 -0
  628. {synapse-2.210.0 → synapse-2.212.0}/synapse.egg-info/SOURCES.txt +0 -0
  629. {synapse-2.210.0 → synapse-2.212.0}/synapse.egg-info/dependency_links.txt +0 -0
  630. {synapse-2.210.0 → synapse-2.212.0}/synapse.egg-info/requires.txt +0 -0
  631. {synapse-2.210.0 → synapse-2.212.0}/synapse.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: synapse
3
- Version: 2.210.0
3
+ Version: 2.212.0
4
4
  Summary: Synapse Intelligence Analysis Framework
5
5
  Author-email: The Vertex Project LLC <root@vertex.link>
6
6
  License-Expression: Apache-2.0
@@ -4,7 +4,7 @@ build-backend = 'setuptools.build_meta'
4
4
 
5
5
  [project]
6
6
  name = 'synapse'
7
- version = '2.210.0'
7
+ version = '2.212.0'
8
8
  authors = [
9
9
  { name = 'The Vertex Project LLC', email = 'root@vertex.link'},
10
10
  ]
@@ -1,5 +1,6 @@
1
1
  import gc
2
2
  import os
3
+ import sys
3
4
  import atexit
4
5
  import signal
5
6
  import asyncio
@@ -82,7 +83,7 @@ class Base:
82
83
  '''
83
84
  def __init__(self):
84
85
  self.anitted = False
85
- assert inspect.stack()[1].function == 'anit', 'Objects from Base must be constructed solely via "anit"'
86
+ assert sys._getframe(1).f_code.co_name == 'anit', 'Objects from Base must be constructed solely via "anit"'
86
87
 
87
88
  @classmethod
88
89
  async def anit(cls, *args, **kwargs):
@@ -129,7 +130,6 @@ class Base:
129
130
  self.isfini = False
130
131
  self.anitted = True # For assertion purposes
131
132
  self.finievt = asyncio.Event()
132
- self.entered = False
133
133
 
134
134
  # hold a weak ref to other bases we should fini if they
135
135
  # are still around when we go down...
@@ -205,7 +205,6 @@ class Base:
205
205
 
206
206
  async def __aenter__(self):
207
207
  assert asyncio.get_running_loop() == self.loop
208
- self.entered = True
209
208
  return self
210
209
 
211
210
  async def __aexit__(self, exc, cls, tb):
@@ -181,7 +181,7 @@ class Node:
181
181
 
182
182
  if prop.modl.form(prop.type.name) is not None:
183
183
  buid = s_common.buid((prop.type.name, valu))
184
- elif prop.type.name == 'ndef':
184
+ elif prop.type.name == 'ndef' or 'ndef' in prop.type.info.get('bases'):
185
185
  buid = s_common.buid(valu)
186
186
  else:
187
187
  return None
@@ -207,8 +207,13 @@ class Node:
207
207
 
208
208
  embdnode = retn.get(nodepath)
209
209
  if embdnode is None:
210
- embdnode = retn[nodepath] = {}
211
- embdnode['*'] = s_common.ehex(node.buid)
210
+ iden = node.iden()
211
+ # TODO deprecate / remove use of * once we can minver optic
212
+ embdnode = retn[nodepath] = {
213
+ '*': iden,
214
+ '$iden': iden,
215
+ '$form': node.form.name,
216
+ }
212
217
 
213
218
  for relp in relprops:
214
219
  embdnode[relp] = node.props.get(relp)
@@ -668,9 +668,18 @@ _reqValidPkgdefSchema = {
668
668
  'pattern': s_version.semverstr,
669
669
  },
670
670
  'build': {
671
- 'type' 'object'
671
+ 'type': 'object',
672
672
  'properties': {
673
673
  'time': {'type': 'number'},
674
+ 'synapse:version': {
675
+ 'type': 'string',
676
+ 'pattern': s_version.semverstr
677
+ },
678
+ 'synapse:commit': {
679
+ 'type': 'string',
680
+ # Note: This pattern allows empty string for dev environments
681
+ 'pattern': '^[0-9a-fA-F]*$'
682
+ },
674
683
  },
675
684
  'required': ['time'],
676
685
  },
@@ -16,9 +16,6 @@ class Share(s_base.Base):
16
16
 
17
17
  self.iden = s_common.guid()
18
18
 
19
- self.exited = False
20
- self.entered = False
21
-
22
19
  sess = link.get('sess')
23
20
 
24
21
  async def fini():
@@ -303,6 +303,9 @@ class ProtoNode:
303
303
  self.tags[tagnode.valu] = valu
304
304
  return tagnode
305
305
 
306
+ elif valu == (None, None):
307
+ return tagnode
308
+
306
309
  valu = s_time.ival(*valu, *curv)
307
310
  self.tags[tagnode.valu] = valu
308
311
 
@@ -743,19 +746,25 @@ class Snap(s_base.Base):
743
746
 
744
747
  async def _joinEmbedStor(self, storage, embeds):
745
748
  for nodePath, relProps in embeds.items():
749
+
746
750
  await asyncio.sleep(0)
747
- iden = relProps.get('*')
751
+
752
+ iden = relProps.get('$iden')
748
753
  if not iden:
749
754
  continue
750
755
 
751
756
  stor = await self.view.getStorNodes(s_common.uhex(iden))
752
757
  for relProp in relProps.keys():
758
+
753
759
  await asyncio.sleep(0)
754
- if relProp == '*':
760
+
761
+ if relProp[0] in ('*', '$'):
755
762
  continue
756
763
 
757
764
  for idx, layrstor in enumerate(stor):
765
+
758
766
  await asyncio.sleep(0)
767
+
759
768
  props = layrstor.get('props')
760
769
  if not props:
761
770
  continue
@@ -134,7 +134,7 @@ class JsonLib(s_stormtypes.Lib):
134
134
 
135
135
  @s_stormtypes.stormfunc(readonly=True)
136
136
  async def _jsonSchema(self, schema, use_default=True):
137
- schema = await s_stormtypes.toprim(schema)
137
+ schema = await s_stormtypes.toprim(schema, use_list=True)
138
138
  use_default = await s_stormtypes.tobool(use_default)
139
139
  # We have to ensure that we have a valid schema for making the object.
140
140
  try:
@@ -6210,9 +6210,9 @@ class NodeData(Prim):
6210
6210
  {'name': 'valu', 'type': 'prim', 'desc': 'The data to store.', },
6211
6211
  ),
6212
6212
  'returns': {'type': 'null', }}},
6213
- {'name': 'list', 'desc': 'Get a list of the Node data names on the Node.',
6213
+ {'name': 'list', 'desc': 'Get a list of the Node data on the Node as (name, value) tuples.',
6214
6214
  'type': {'type': 'function', '_funcname': '_listNodeData',
6215
- 'returns': {'type': 'list', 'desc': 'List of the names of values stored on the node.', }}},
6215
+ 'returns': {'type': 'list', 'desc': 'List of (name, value) tuples stored on the node.', }}},
6216
6216
  {'name': 'load',
6217
6217
  'desc': 'Load the Node data onto the Node so that the Node data is packed and returned by the runtime.',
6218
6218
  'type': {'type': 'function', '_funcname': '_loadNodeData',
@@ -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, 210, 0)
226
+ version = (2, 212, 0)
227
227
  verstring = '.'.join([str(x) for x in version])
228
- commit = 'e43efa9d9c2257ff05fe47988a323e16896fdf50'
228
+ commit = '68ec8184b0e2469fd1ef30cbeb29f5989c60c768'
@@ -35,6 +35,10 @@ ipv4max = 2 ** 32 - 1
35
35
 
36
36
  rfc6598 = ipaddress.IPv4Network('100.64.0.0/10')
37
37
 
38
+ # defined from https://x.com/4A4133/status/1887269972545839559
39
+ ja4_regex = r'^([tqd])([sd\d]\d)([di])(\d{2})(\d{2})([a-zA-Z0-9]{2})_([0-9a-f]{12})_([0-9a-f]{12})$'
40
+ ja4s_regex = r'^([tq])([sd\d]\d)(\d{2})([a-zA-Z0-9]{2})_([0-9a-f]{4})_([0-9a-f]{12})$'
41
+
38
42
  def getAddrType(ip):
39
43
 
40
44
  if ip.is_multicast:
@@ -1535,6 +1539,11 @@ class InetModule(s_module.CoreModule):
1535
1539
  ('inet:service:platform', ('guid', {}), {
1536
1540
  'doc': 'A network platform which provides services.'}),
1537
1541
 
1542
+ ('inet:service:app', ('guid', {}), {
1543
+ 'interfaces': ('inet:service:object',),
1544
+ 'template': {'service:base': 'application'},
1545
+ 'doc': 'A platform specific application.'}),
1546
+
1538
1547
  ('inet:service:instance', ('guid', {}), {
1539
1548
  'doc': 'An instance of the platform such as Slack or Discord instances.'}),
1540
1549
 
@@ -1626,6 +1635,10 @@ class InetModule(s_module.CoreModule):
1626
1635
  'template': {'service:base': 'emote'},
1627
1636
  'doc': 'An emote or reaction by an account.'}),
1628
1637
 
1638
+ ('inet:service:access:action:taxonomy', ('taxonomy', {}), {
1639
+ 'interfaces': ('meta:taxonomy',),
1640
+ 'doc': 'A hierarchical taxonomy of service actions.'}),
1641
+
1629
1642
  ('inet:service:access', ('guid', {}), {
1630
1643
  'interfaces': ('inet:service:action',),
1631
1644
  'doc': 'Represents a user access request to a service resource.'}),
@@ -1669,6 +1682,18 @@ class InetModule(s_module.CoreModule):
1669
1682
  ('inet:tls:handshake', ('guid', {}), {
1670
1683
  'doc': 'An instance of a TLS handshake between a server and client.'}),
1671
1684
 
1685
+ ('inet:tls:ja4', ('str', {'strip': True, 'regex': ja4_regex}), {
1686
+ 'doc': 'A JA4 TLS client fingerprint.'}),
1687
+
1688
+ ('inet:tls:ja4s', ('str', {'strip': True, 'regex': ja4s_regex}), {
1689
+ 'doc': 'A JA4S TLS server fingerprint.'}),
1690
+
1691
+ ('inet:tls:ja4:sample', ('comp', {'fields': (('client', 'inet:client'), ('ja4', 'inet:tls:ja4'))}), {
1692
+ 'doc': 'A JA4 TLS client fingerprint used by a client.'}),
1693
+
1694
+ ('inet:tls:ja4s:sample', ('comp', {'fields': (('server', 'inet:server'), ('ja4s', 'inet:tls:ja4s'))}), {
1695
+ 'doc': 'A JA4S TLS server fingerprint used by a server.'}),
1696
+
1672
1697
  ('inet:tls:ja3s:sample', ('comp', {'fields': (('server', 'inet:server'), ('ja3s', 'hash:md5'))}), {
1673
1698
  'doc': 'A JA3 sample taken from a server.'}),
1674
1699
 
@@ -1774,6 +1799,9 @@ class InetModule(s_module.CoreModule):
1774
1799
  'interfaces': ('inet:service:base',),
1775
1800
  'props': (
1776
1801
 
1802
+ ('app', ('inet:service:app', {}), {
1803
+ 'doc': 'The app which handled the action.'}),
1804
+
1777
1805
  ('time', ('time', {}), {
1778
1806
  'doc': 'The time that the account initiated the action.'}),
1779
1807
 
@@ -1807,6 +1835,9 @@ class InetModule(s_module.CoreModule):
1807
1835
  ('client:host', ('it:host', {}), {
1808
1836
  'doc': 'The client host which initiated the action.'}),
1809
1837
 
1838
+ ('client:app', ('inet:service:app', {}), {
1839
+ 'doc': 'The client service app which initiated the action.'}),
1840
+
1810
1841
  ('server', ('inet:server', {}), {
1811
1842
  'doc': 'The network address of the server which handled the action.'}),
1812
1843
 
@@ -3550,23 +3581,70 @@ class InetModule(s_module.CoreModule):
3550
3581
  'doc': 'The server that was sampled to compute the JARM hash.'}),
3551
3582
  )),
3552
3583
 
3584
+ ('inet:tls:ja4', {}, ()),
3585
+ ('inet:tls:ja4s', {}, ()),
3586
+
3587
+ ('inet:tls:ja4:sample', {}, (
3588
+
3589
+ ('ja4', ('inet:tls:ja4', {}), {
3590
+ 'ro': True,
3591
+ 'doc': 'The JA4 TLS client fingerprint.'}),
3592
+
3593
+ ('client', ('inet:client', {}), {
3594
+ 'ro': True,
3595
+ 'doc': 'The client which initiated the TLS handshake with a JA4 fingerprint.'}),
3596
+ )),
3597
+
3598
+ ('inet:tls:ja4s:sample', {}, (
3599
+
3600
+ ('ja4s', ('inet:tls:ja4s', {}), {
3601
+ 'ro': True,
3602
+ 'doc': 'The JA4S TLS server fingerprint.'}),
3603
+
3604
+ ('server', ('inet:server', {}), {
3605
+ 'ro': True,
3606
+ 'doc': 'The server which responded to the TLS handshake with a JA4S fingerprint.'}),
3607
+ )),
3608
+
3553
3609
  ('inet:tls:handshake', {}, (
3610
+
3554
3611
  ('time', ('time', {}), {
3555
3612
  'doc': 'The time the handshake was initiated.'}),
3613
+
3556
3614
  ('flow', ('inet:flow', {}), {
3557
3615
  'doc': 'The raw inet:flow associated with the handshake.'}),
3616
+
3558
3617
  ('server', ('inet:server', {}), {
3559
3618
  'doc': 'The TLS server during the handshake.'}),
3619
+
3560
3620
  ('server:cert', ('crypto:x509:cert', {}), {
3561
3621
  'doc': 'The x509 certificate sent by the server during the handshake.'}),
3562
- ('server:fingerprint:ja3', ('hash:md5', {}), {
3563
- 'doc': 'The JA3S finger of the server.'}),
3622
+
3623
+ ('server:ja3s', ('hash:md5', {}), {
3624
+ 'doc': 'The JA3S fingerprint of the server response.'}),
3625
+
3626
+ ('server:ja4s', ('inet:tls:ja4s', {}), {
3627
+ 'doc': 'The JA4S fingerprint of the server response.'}),
3628
+
3564
3629
  ('client', ('inet:client', {}), {
3565
3630
  'doc': 'The TLS client during the handshake.'}),
3631
+
3566
3632
  ('client:cert', ('crypto:x509:cert', {}), {
3567
3633
  'doc': 'The x509 certificate sent by the client during the handshake.'}),
3634
+
3635
+ ('client:ja3', ('hash:md5', {}), {
3636
+ 'doc': 'The JA3 fingerprint of the client request.'}),
3637
+
3638
+ ('client:ja4', ('inet:tls:ja4', {}), {
3639
+ 'doc': 'The JA4 fingerprint of the client request.'}),
3640
+
3568
3641
  ('client:fingerprint:ja3', ('hash:md5', {}), {
3569
- 'doc': 'The JA3 fingerprint of the client.'}),
3642
+ 'deprecated': True,
3643
+ 'doc': 'Deprecated. Please use :client:ja3.'}),
3644
+
3645
+ ('server:fingerprint:ja3', ('hash:md5', {}), {
3646
+ 'deprecated': True,
3647
+ 'doc': 'Deprecated. Please use :server:ja3s.'}),
3570
3648
  )),
3571
3649
 
3572
3650
  ('inet:tls:ja3s:sample', {}, (
@@ -3608,12 +3686,22 @@ class InetModule(s_module.CoreModule):
3608
3686
 
3609
3687
  ('url', ('inet:url', {}), {
3610
3688
  'ex': 'https://twitter.com',
3689
+ 'alts': ('urls',),
3611
3690
  'doc': 'The primary URL of the platform.'}),
3612
3691
 
3692
+ ('urls', ('array', {'type': 'inet:url', 'sorted': True, 'uniq': True}), {
3693
+ 'doc': 'An array of alternate URLs for the platform.'}),
3694
+
3613
3695
  ('name', ('str', {'onespace': True, 'lower': True}), {
3614
3696
  'ex': 'twitter',
3697
+ 'alts': ('names',),
3615
3698
  'doc': 'A friendly name for the platform.'}),
3616
3699
 
3700
+ ('names', ('array', {'type': 'str',
3701
+ 'typeopts': {'onespace': True, 'lower': True},
3702
+ 'sorted': True, 'uniq': True}), {
3703
+ 'doc': 'An array of alternate names for the platform.'}),
3704
+
3617
3705
  ('desc', ('str', {}), {
3618
3706
  'disp': {'hint': 'text'},
3619
3707
  'doc': 'A description of the service platform.'}),
@@ -3662,6 +3750,22 @@ class InetModule(s_module.CoreModule):
3662
3750
  'doc': 'The tenant which contains the instance.'}),
3663
3751
  )),
3664
3752
 
3753
+ ('inet:service:app', {}, (
3754
+
3755
+ ('name', ('str', {'lower': True, 'onespace': True}), {
3756
+ 'alts': ('names',),
3757
+ 'doc': 'The name of the platform specific application.'}),
3758
+
3759
+ ('names', ('array', {'type': 'str',
3760
+ 'typeopts': {'onespace': True, 'lower': True},
3761
+ 'sorted': True, 'uniq': True}), {
3762
+ 'doc': 'An array of alternate names for the application.'}),
3763
+
3764
+ ('desc', ('str', {}), {
3765
+ 'disp': {'hint': 'text'},
3766
+ 'doc': 'A description of the platform specific application.'}),
3767
+ )),
3768
+
3665
3769
  ('inet:service:account', {}, (
3666
3770
 
3667
3771
  ('user', ('inet:user', {}), {
@@ -3937,6 +4041,9 @@ class InetModule(s_module.CoreModule):
3937
4041
 
3938
4042
  ('inet:service:access', {}, (
3939
4043
 
4044
+ ('action', ('inet:service:access:action:taxonomy', {}), {
4045
+ 'doc': 'The platform specific action which this access records.'}),
4046
+
3940
4047
  ('resource', ('inet:service:resource', {}), {
3941
4048
  'doc': 'The resource which the account attempted to access.'}),
3942
4049
 
@@ -1241,7 +1241,6 @@ class OuModule(s_module.CoreModule):
1241
1241
  )),
1242
1242
  ('ou:conference:event', {}, (
1243
1243
  ('conference', ('ou:conference', {}), {
1244
- 'ro': True,
1245
1244
  'doc': 'The conference to which the event is associated.',
1246
1245
  }),
1247
1246
  ('organizer', ('ps:contact', {}), {
@@ -86,6 +86,11 @@ class BaseTest(s_t_utils.SynTest):
86
86
  await Hehe.anit(-1)
87
87
  self.eq(cm.exception.get('mesg'), 'boom')
88
88
 
89
+ if __debug__:
90
+ with self.raises(AssertionError) as cm:
91
+ Hehe()
92
+ self.eq(str(cm.exception), 'Objects from Base must be constructed solely via "anit"')
93
+
89
94
  async def test_coro_fini(self):
90
95
 
91
96
  event = asyncio.Event()
@@ -164,8 +164,8 @@ class ConfTest(s_test.SynTest):
164
164
  # We can ensure that certain vars are loaded
165
165
  self.eq('Funky string time!', conf.req('key:string'))
166
166
  # And throw if they are not, or if the requested key isn't even schema valid
167
- self.raises(s_exc.NeedConfValu, conf.reqConfValu, 'key:bool:nodefval')
168
- self.raises(s_exc.BadArg, conf.reqConfValu, 'key:newp')
167
+ self.raises(s_exc.NeedConfValu, conf.req, 'key:bool:nodefval')
168
+ self.raises(s_exc.BadArg, conf.req, 'key:newp')
169
169
 
170
170
  # Since we're an Mutable mapping, we have some dict methods available to us
171
171
  self.len(8, conf) # __len__
@@ -380,6 +380,12 @@ class ConfTest(s_test.SynTest):
380
380
  self.eq(item['key:number'], 123)
381
381
  self.notin('key:string', item)
382
382
 
383
+ item = validator({'key:multi': 123})
384
+ self.eq(item['key:multi'], 123)
385
+
386
+ item = validator({'key:multi': '123'})
387
+ self.eq(item['key:multi'], '123')
388
+
383
389
  async def test_config_ref_handler(self):
384
390
 
385
391
  filename = pathlib.Path(s_data.path(
@@ -1399,8 +1399,8 @@ class LayerTest(s_t_utils.SynTest):
1399
1399
  self.len(1, nodes)
1400
1400
  self.eq(nodes[0].ndef, ('inet:ipv4', 0x01020304))
1401
1401
  self.eq(nodes[0].get('asn'), 33)
1402
- self.true(nodes[0].getTag('foo.bar'), (None, None))
1403
- self.true(nodes[0].getTagProp('foo.bar', 'confidence'), 22)
1402
+ self.eq(nodes[0].getTag('foo.bar'), (None, None))
1403
+ self.eq(nodes[0].getTagProp('foo.bar', 'confidence'), 100)
1404
1404
 
1405
1405
  self.eq(10004, await core.count('.created'))
1406
1406
  self.len(2, await core.nodes('syn:tag~=foo'))
@@ -2251,16 +2251,18 @@ class StormTest(s_t_utils.SynTest):
2251
2251
  nodes = [m[1] for m in msgs if m[0] == 'node']
2252
2252
 
2253
2253
  node = nodes[0]
2254
+ self.eq('inet:asn', node[1]['embeds']['asn']['$form'])
2254
2255
  self.eq('hehe', node[1]['embeds']['asn']['name'])
2255
- self.eq('796d67b92a6ffe9b88fa19d115b46ab6712d673a06ae602d41de84b1464782f2', node[1]['embeds']['asn']['*'])
2256
+ self.eq('796d67b92a6ffe9b88fa19d115b46ab6712d673a06ae602d41de84b1464782f2', node[1]['embeds']['asn']['$iden'])
2256
2257
 
2257
2258
  opts = {'embeds': {'ou:org': {'hq::email': ('user',)}}}
2258
2259
  msgs = await core.stormlist('[ ou:org=* :country=* :hq=* ] { -> ps:contact [ :email=visi@vertex.link ] }', opts=opts)
2259
2260
  nodes = [m[1] for m in msgs if m[0] == 'node']
2260
2261
  node = nodes[0]
2261
2262
 
2263
+ self.eq('inet:email', node[1]['embeds']['hq::email']['$form'])
2262
2264
  self.eq('visi', node[1]['embeds']['hq::email']['user'])
2263
- self.eq('2346d7bed4b0fae05e00a413bbf8716c9e08857eb71a1ecf303b8972823f2899', node[1]['embeds']['hq::email']['*'])
2265
+ self.eq('2346d7bed4b0fae05e00a413bbf8716c9e08857eb71a1ecf303b8972823f2899', node[1]['embeds']['hq::email']['$iden'])
2264
2266
 
2265
2267
  fork = await core.callStorm('return($lib.view.get().fork().iden)')
2266
2268
 
@@ -2373,10 +2375,17 @@ class StormTest(s_t_utils.SynTest):
2373
2375
  self.eq(['inet:service:rule', 'risk:vulnerable'], [n[0][0] for n in nodes])
2374
2376
 
2375
2377
  embeds = nodes[0][1]['embeds']
2378
+
2379
+ self.nn(embeds['object']['$iden'])
2380
+ self.eq('risk:vulnerable', embeds['object']['$form'])
2376
2381
  self.eq(1, embeds['object']['mitigated'])
2377
2382
  self.eq(None, embeds['object']['newp'])
2383
+
2384
+ self.nn(embeds['object::node']['$iden'])
2385
+ self.eq('it:prod:hardware', embeds['object::node']['$form'])
2378
2386
  self.eq('foohw', embeds['object::node']['name'])
2379
2387
  self.eq(None, embeds['object::node']['newp'])
2388
+ self.eq('inet:service:account', embeds['grantee']['$form'])
2380
2389
  self.eq('foocon', embeds['grantee']['id'])
2381
2390
  self.eq(None, embeds['grantee']['newp'])
2382
2391
 
@@ -2384,6 +2393,26 @@ class StormTest(s_t_utils.SynTest):
2384
2393
  self.eq('barvuln', embeds['vuln']['name'])
2385
2394
  self.eq('foohw', embeds['node']['name'])
2386
2395
 
2396
+ # embed through `econ:pay:instrument` type that extends from `ndef`
2397
+ await core.nodes('''
2398
+ [ econ:acct:payment=* :from:instrument={ [ econ:pay:card=(testcard,) :name=infime ] } ]
2399
+ ''')
2400
+
2401
+ opts = {
2402
+ 'embeds': {
2403
+ 'econ:acct:payment': {
2404
+ 'from:instrument': ['name'],
2405
+ }
2406
+ }
2407
+ }
2408
+ msgs = await core.stormlist('econ:acct:payment', opts=opts)
2409
+ node = [m[1] for m in msgs if m[0] == 'node'][0]
2410
+ self.eq('econ:acct:payment', node[0][0])
2411
+
2412
+ embeds = node[1]['embeds']
2413
+ self.eq('86caf7a47348d56b2f6bec3e767a9fc7eaaaf5a80d7bbaa235fab763c7dcc560', embeds['from:instrument']['*'])
2414
+ self.eq('infime', embeds['from:instrument']['name'])
2415
+
2387
2416
  async def test_storm_wget(self):
2388
2417
 
2389
2418
  async def _getRespFromSha(core, mesgs):
@@ -642,9 +642,9 @@ class StormHttpTest(s_test.SynTest):
642
642
  self.isin('connect to proxy 127.0.0.1:1', resp['mesg'])
643
643
 
644
644
  q = '$resp=$lib.inet.http.get("http://vertex.link") return(($resp.code, $resp.err))'
645
- code, (errname, _) = await core.callStorm(q)
645
+ code, (errname, errinfo) = await core.callStorm(q)
646
646
  self.eq(code, -1)
647
- self.eq('ProxyConnectionError', errname)
647
+ self.isin("connect to proxy 127.0.0.1:1", errinfo.get('mesg'))
648
648
 
649
649
  msgs = await core.stormlist('$resp=$lib.inet.http.get("http://vertex.link", proxy=(null)) $lib.print($resp.err)')
650
650
  self.stormIsInWarn('HTTP proxy argument to $lib.null is deprecated', msgs)
@@ -669,7 +669,7 @@ class StormHttpTest(s_test.SynTest):
669
669
  self.stormIsInErr(errmsg.format(perm='storm.lib.inet.http.proxy'), msgs)
670
670
 
671
671
  resp = await core.callStorm('return($lib.inet.http.get(http://vertex.link, proxy=socks5://user:pass@127.0.0.1:1))')
672
- self.eq('ProxyConnectionError', resp['err'][0])
672
+ self.isin("connect to proxy 127.0.0.1:1", resp['err'][1].get('mesg'))
673
673
 
674
674
  # test $lib.axon proxy API
675
675
  asvisi = {'user': visi.iden}
@@ -748,13 +748,13 @@ class StormHttpTest(s_test.SynTest):
748
748
  opts = {'vars': {'proxy': 'socks5://user:pass@127.0.0.1:1'}, 'user': visi.iden}
749
749
 
750
750
  resp = await core.callStorm(q1, opts=opts)
751
- self.eq('ProxyConnectionError', resp['err'][0])
751
+ self.isin("connect to proxy 127.0.0.1:1", resp['err'][1].get('mesg'))
752
752
 
753
753
  resp = await core.callStorm(q2, opts=opts)
754
- self.eq('ProxyConnectionError', resp['err'][0])
754
+ self.isin("connect to proxy 127.0.0.1:1", resp['err'][1].get('mesg'))
755
755
 
756
756
  resp = await core.callStorm(q3, opts=opts)
757
- self.eq('ProxyConnectionError', resp['err'][0])
757
+ self.isin("connect to proxy 127.0.0.1:1", resp['err'][1].get('mesg'))
758
758
 
759
759
  opts = {'vars': {'proxy': False}, 'user': visi.iden}
760
760
 
@@ -46,11 +46,13 @@ class JsonTest(s_test.SynTest):
46
46
  q = '''$schemaObj = $lib.json.schema($schema)
47
47
  $item=({})
48
48
  $item."key:integer"=(4)
49
+ $item."key:multi"=(4)
49
50
  return ( $schemaObj.validate($item) )
50
51
  '''
51
52
  isok, valu = await core.callStorm(q, opts=opts)
52
53
  self.true(isok)
53
54
  self.eq(4, valu.get('key:integer'))
55
+ self.eq(4, valu.get('key:multi'))
54
56
  self.eq('Default string!', valu.get('key:string'))
55
57
 
56
58
  q = '''$schemaObj = $lib.json.schema($schema)
@@ -68,12 +70,13 @@ class JsonTest(s_test.SynTest):
68
70
 
69
71
  q = '''
70
72
  $schemaObj = $lib.json.schema($schema, use_default=$lib.false)
71
- $item = ({"key:integer": 4})
73
+ $item = ({"key:integer": 4, "key:multi": "4"})
72
74
  return($schemaObj.validate($item))
73
75
  '''
74
76
  isok, valu = await core.callStorm(q, opts={'vars': {'schema': s_test.test_schema}})
75
77
  self.true(isok)
76
78
  self.eq(4, valu.get('key:integer'))
79
+ self.eq('4', valu.get('key:multi'))
77
80
  self.notin('key:string', valu)
78
81
 
79
82
  # Print a json schema obj
@@ -1291,35 +1291,33 @@ class StormTypesTest(s_test.SynTest):
1291
1291
  self.len(1, nodes)
1292
1292
  self.eq('visi@vertex.link', nodes[0].ndef[1])
1293
1293
 
1294
- nodes = await core.nodes('$s = woot [ test:int=$s.startswith(w) ]')
1295
- self.eq(1, nodes[0].ndef[1])
1294
+ self.true(await core.callStorm('$s = woot return($s.startswith(w))'))
1296
1295
 
1297
- nodes = await core.nodes('$s = woot [ test:int=$s.endswith(visi) ]')
1298
- self.eq(0, nodes[0].ndef[1])
1296
+ self.false(await core.callStorm('$s = woot return($s.endswith(visi))'))
1299
1297
 
1300
- nodes = await core.nodes('$s = woot [ test:str=$s.rjust(10) ]')
1301
- self.eq(' woot', nodes[0].ndef[1])
1298
+ valu = await core.callStorm('$s = woot return($s.rjust(10))')
1299
+ self.eq(' woot', valu)
1302
1300
 
1303
- nodes = await core.nodes('$s = woot [ test:str=$s.rjust(10, x) ]')
1304
- self.eq('xxxxxxwoot', nodes[0].ndef[1])
1301
+ valu = await core.callStorm('$s = woot return($s.rjust(10, x))')
1302
+ self.eq('xxxxxxwoot', valu)
1305
1303
 
1306
- nodes = await core.nodes('$s = woot [ test:str=$s.ljust(10) ]')
1307
- self.eq('woot ', nodes[0].ndef[1])
1304
+ valu = await core.callStorm('$s = woot return($s.ljust(10))')
1305
+ self.eq('woot ', valu)
1308
1306
 
1309
- nodes = await core.nodes('$s = woot [ test:str=$s.ljust(10, x) ]')
1310
- self.eq('wootxxxxxx', nodes[0].ndef[1])
1307
+ valu = await core.callStorm('$s = woot return($s.ljust(10, x))')
1308
+ self.eq('wootxxxxxx', valu)
1311
1309
 
1312
1310
  sobj = s_stormtypes.Str('beepbeep')
1313
1311
  self.len(8, sobj)
1314
1312
 
1315
- nodes = await core.nodes("$s = (foo, bar, baz) [ test:str=('.').join($s) ]")
1316
- self.eq('foo.bar.baz', nodes[0].ndef[1])
1313
+ valu = await core.callStorm('$s = (foo, bar, baz) return((".").join($s))')
1314
+ self.eq('foo.bar.baz', valu)
1317
1315
 
1318
- nodes = await core.nodes('$s = foo-bar-baz [ test:str=$s.replace("-", ".") ]')
1319
- self.eq('foo.bar.baz', nodes[0].ndef[1])
1316
+ valu = await core.callStorm('$s = foo-bar-baz return($s.replace("-", "."))')
1317
+ self.eq('foo.bar.baz', valu)
1320
1318
 
1321
- nodes = await core.nodes('$s = foo-bar-baz [ test:str=$s.replace("-", ".", 1) ]')
1322
- self.eq('foo.bar-baz', nodes[0].ndef[1])
1319
+ valu = await core.callStorm('$s = foo-bar-baz return($s.replace("-", ".", 1))')
1320
+ self.eq('foo.bar-baz', valu)
1323
1321
 
1324
1322
  q = '$foo=" foo " return ( $foo.strip() )'
1325
1323
  self.eq('foo', await core.callStorm(q))