synapse 2.188.1__tar.gz → 2.190.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 (614) hide show
  1. {synapse-2.188.1/synapse.egg-info → synapse-2.190.0}/PKG-INFO +2 -2
  2. {synapse-2.188.1 → synapse-2.190.0}/pyproject.toml +2 -2
  3. {synapse-2.188.1 → synapse-2.190.0}/synapse/cortex.py +25 -5
  4. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/storm.py +45 -9
  5. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormhttp.py +3 -10
  6. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormtypes.py +27 -17
  7. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/version.py +2 -2
  8. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/view.py +2 -5
  9. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/risk.py +3 -0
  10. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_cortex.py +73 -22
  11. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_ast.py +1 -1
  12. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_storm.py +11 -2
  13. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormhttp.py +9 -0
  14. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormtypes.py +16 -1
  15. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_risk.py +2 -0
  16. {synapse-2.188.1 → synapse-2.190.0/synapse.egg-info}/PKG-INFO +2 -2
  17. {synapse-2.188.1 → synapse-2.190.0}/synapse.egg-info/requires.txt +1 -1
  18. {synapse-2.188.1 → synapse-2.190.0}/LICENSE +0 -0
  19. {synapse-2.188.1 → synapse-2.190.0}/README.rst +0 -0
  20. {synapse-2.188.1 → synapse-2.190.0}/setup.cfg +0 -0
  21. {synapse-2.188.1 → synapse-2.190.0}/synapse/__init__.py +0 -0
  22. {synapse-2.188.1 → synapse-2.190.0}/synapse/axon.py +0 -0
  23. {synapse-2.188.1 → synapse-2.190.0}/synapse/cells.py +0 -0
  24. {synapse-2.188.1 → synapse-2.190.0}/synapse/cmds/__init__.py +0 -0
  25. {synapse-2.188.1 → synapse-2.190.0}/synapse/cmds/boss.py +0 -0
  26. {synapse-2.188.1 → synapse-2.190.0}/synapse/cmds/cortex.py +0 -0
  27. {synapse-2.188.1 → synapse-2.190.0}/synapse/cmds/hive.py +0 -0
  28. {synapse-2.188.1 → synapse-2.190.0}/synapse/common.py +0 -0
  29. {synapse-2.188.1 → synapse-2.190.0}/synapse/cryotank.py +0 -0
  30. {synapse-2.188.1 → synapse-2.190.0}/synapse/daemon.py +0 -0
  31. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/__init__.py +0 -0
  32. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/attack-flow/LICENSE.txt +0 -0
  33. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/attack-flow/README.md +0 -0
  34. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/attack-flow/attack-flow-schema-2.0.0.json +0 -0
  35. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/certs/cas/The Vertex Project Intermediate CA 00.crt +0 -0
  36. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/certs/cas/The Vertex Project ROOT CA.crt +0 -0
  37. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/certs/crls/The Vertex Project Intermediate CA 00.crl +0 -0
  38. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/certs/crls/The Vertex Project ROOT CA.crl +0 -0
  39. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/iana.tlds.mpk +0 -0
  40. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/README.md +0 -0
  41. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/LICENSE.txt +0 -0
  42. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/binary.json +0 -0
  43. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/bundle.json +0 -0
  44. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/core.json +0 -0
  45. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/cyber-observable-core.json +0 -0
  46. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/dictionary.json +0 -0
  47. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension-definition.json +0 -0
  48. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension.json +0 -0
  49. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/external-reference.json +0 -0
  50. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/granular-marking.json +0 -0
  51. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hashes-type.json +0 -0
  52. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hex.json +0 -0
  53. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/identifier.json +0 -0
  54. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/kill-chain-phase.json +0 -0
  55. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/language-content.json +0 -0
  56. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/marking-definition.json +0 -0
  57. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/properties.json +0 -0
  58. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/timestamp.json +0 -0
  59. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/url-regex.json +0 -0
  60. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/artifact.json +0 -0
  61. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/autonomous-system.json +0 -0
  62. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/directory.json +0 -0
  63. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/domain-name.json +0 -0
  64. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-addr.json +0 -0
  65. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-message.json +0 -0
  66. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/file.json +0 -0
  67. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv4-addr.json +0 -0
  68. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv6-addr.json +0 -0
  69. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mac-addr.json +0 -0
  70. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mutex.json +0 -0
  71. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/network-traffic.json +0 -0
  72. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/process.json +0 -0
  73. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/software.json +0 -0
  74. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/url.json +0 -0
  75. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/user-account.json +0 -0
  76. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/windows-registry-key.json +0 -0
  77. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/x509-certificate.json +0 -0
  78. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/attack-pattern.json +0 -0
  79. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/campaign.json +0 -0
  80. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/course-of-action.json +0 -0
  81. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/grouping.json +0 -0
  82. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/identity.json +0 -0
  83. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/incident.json +0 -0
  84. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/indicator.json +0 -0
  85. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/infrastructure.json +0 -0
  86. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/intrusion-set.json +0 -0
  87. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/location.json +0 -0
  88. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware-analysis.json +0 -0
  89. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware.json +0 -0
  90. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/note.json +0 -0
  91. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/observed-data.json +0 -0
  92. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/opinion.json +0 -0
  93. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/report.json +0 -0
  94. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/threat-actor.json +0 -0
  95. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/tool.json +0 -0
  96. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/vulnerability.json +0 -0
  97. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/relationship.json +0 -0
  98. {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/sighting.json +0 -0
  99. {synapse-2.188.1 → synapse-2.190.0}/synapse/datamodel.py +0 -0
  100. {synapse-2.188.1 → synapse-2.190.0}/synapse/exc.py +0 -0
  101. {synapse-2.188.1 → synapse-2.190.0}/synapse/glob.py +0 -0
  102. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/__init__.py +0 -0
  103. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/agenda.py +0 -0
  104. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/aha.py +0 -0
  105. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/ast.py +0 -0
  106. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/auth.py +0 -0
  107. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/autodoc.py +0 -0
  108. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/base.py +0 -0
  109. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/boss.py +0 -0
  110. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/cache.py +0 -0
  111. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/cell.py +0 -0
  112. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/certdir.py +0 -0
  113. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/chop.py +0 -0
  114. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/cli.py +0 -0
  115. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/cmd.py +0 -0
  116. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/cmdr.py +0 -0
  117. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/config.py +0 -0
  118. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/const.py +0 -0
  119. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/coro.py +0 -0
  120. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/crypto/__init__.py +0 -0
  121. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/crypto/coin.py +0 -0
  122. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/crypto/ecc.py +0 -0
  123. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/crypto/passwd.py +0 -0
  124. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/crypto/rsa.py +0 -0
  125. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/crypto/tinfoil.py +0 -0
  126. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/datfile.py +0 -0
  127. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/drive.py +0 -0
  128. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/dyndeps.py +0 -0
  129. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/encoding.py +0 -0
  130. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/gis.py +0 -0
  131. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/grammar.py +0 -0
  132. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/hashitem.py +0 -0
  133. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/hashset.py +0 -0
  134. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/health.py +0 -0
  135. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/hive.py +0 -0
  136. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/hiveauth.py +0 -0
  137. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/httpapi.py +0 -0
  138. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/ingest.py +0 -0
  139. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/interval.py +0 -0
  140. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/jsonstor.py +0 -0
  141. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/layer.py +0 -0
  142. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/link.py +0 -0
  143. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/lmdbslab.py +0 -0
  144. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/modelrev.py +0 -0
  145. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/module.py +0 -0
  146. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/modules.py +0 -0
  147. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/msgpack.py +0 -0
  148. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/multislabseqn.py +0 -0
  149. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/nexus.py +0 -0
  150. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/node.py +0 -0
  151. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/oauth.py +0 -0
  152. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/output.py +0 -0
  153. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/parser.py +0 -0
  154. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/platforms/__init__.py +0 -0
  155. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/platforms/common.py +0 -0
  156. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/platforms/darwin.py +0 -0
  157. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/platforms/freebsd.py +0 -0
  158. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/platforms/linux.py +0 -0
  159. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/platforms/windows.py +0 -0
  160. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/queue.py +0 -0
  161. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/ratelimit.py +0 -0
  162. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/reflect.py +0 -0
  163. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/rstorm.py +0 -0
  164. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/schemas.py +0 -0
  165. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/scope.py +0 -0
  166. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/scrape.py +0 -0
  167. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/share.py +0 -0
  168. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/slaboffs.py +0 -0
  169. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/slabseqn.py +0 -0
  170. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/snap.py +0 -0
  171. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/spooled.py +0 -0
  172. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/storm.lark +0 -0
  173. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/storm_format.py +0 -0
  174. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormctrl.py +0 -0
  175. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/__init__.py +0 -0
  176. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/aha.py +0 -0
  177. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/auth.py +0 -0
  178. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/backup.py +0 -0
  179. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/basex.py +0 -0
  180. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/cache.py +0 -0
  181. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/cell.py +0 -0
  182. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/compression.py +0 -0
  183. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/cortex.py +0 -0
  184. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/easyperm.py +0 -0
  185. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/env.py +0 -0
  186. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/ethereum.py +0 -0
  187. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/gen.py +0 -0
  188. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/gis.py +0 -0
  189. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/graph.py +0 -0
  190. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/hashes.py +0 -0
  191. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/hex.py +0 -0
  192. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/imap.py +0 -0
  193. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/infosec.py +0 -0
  194. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/ipv6.py +0 -0
  195. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/iters.py +0 -0
  196. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/json.py +0 -0
  197. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/log.py +0 -0
  198. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/macro.py +0 -0
  199. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/math.py +0 -0
  200. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/mime.py +0 -0
  201. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/model.py +0 -0
  202. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/modelext.py +0 -0
  203. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/notifications.py +0 -0
  204. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/oauth.py +0 -0
  205. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/pack.py +0 -0
  206. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/project.py +0 -0
  207. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/random.py +0 -0
  208. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/scrape.py +0 -0
  209. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/smtp.py +0 -0
  210. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/spooled.py +0 -0
  211. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/stats.py +0 -0
  212. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/stix.py +0 -0
  213. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/storm.py +0 -0
  214. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/tabular.py +0 -0
  215. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/vault.py +0 -0
  216. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/version.py +0 -0
  217. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/xml.py +0 -0
  218. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/yaml.py +0 -0
  219. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormsvc.py +0 -0
  220. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormwhois.py +0 -0
  221. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/structlog.py +0 -0
  222. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/task.py +0 -0
  223. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/thishost.py +0 -0
  224. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/thisplat.py +0 -0
  225. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/threads.py +0 -0
  226. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/time.py +0 -0
  227. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/trigger.py +0 -0
  228. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/types.py +0 -0
  229. {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/urlhelp.py +0 -0
  230. {synapse-2.188.1 → synapse-2.190.0}/synapse/lookup/__init__.py +0 -0
  231. {synapse-2.188.1 → synapse-2.190.0}/synapse/lookup/cvss.py +0 -0
  232. {synapse-2.188.1 → synapse-2.190.0}/synapse/lookup/iana.py +0 -0
  233. {synapse-2.188.1 → synapse-2.190.0}/synapse/lookup/iso3166.py +0 -0
  234. {synapse-2.188.1 → synapse-2.190.0}/synapse/lookup/macho.py +0 -0
  235. {synapse-2.188.1 → synapse-2.190.0}/synapse/lookup/pe.py +0 -0
  236. {synapse-2.188.1 → synapse-2.190.0}/synapse/lookup/phonenum.py +0 -0
  237. {synapse-2.188.1 → synapse-2.190.0}/synapse/lookup/timezones.py +0 -0
  238. {synapse-2.188.1 → synapse-2.190.0}/synapse/mindmeld.py +0 -0
  239. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/__init__.py +0 -0
  240. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/auth.py +0 -0
  241. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/base.py +0 -0
  242. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/belief.py +0 -0
  243. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/biz.py +0 -0
  244. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/crypto.py +0 -0
  245. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/dns.py +0 -0
  246. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/doc.py +0 -0
  247. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/economic.py +0 -0
  248. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/entity.py +0 -0
  249. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/files.py +0 -0
  250. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/geopol.py +0 -0
  251. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/geospace.py +0 -0
  252. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/gov/__init__.py +0 -0
  253. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/gov/cn.py +0 -0
  254. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/gov/intl.py +0 -0
  255. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/gov/us.py +0 -0
  256. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/inet.py +0 -0
  257. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/infotech.py +0 -0
  258. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/language.py +0 -0
  259. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/material.py +0 -0
  260. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/math.py +0 -0
  261. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/media.py +0 -0
  262. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/orgs.py +0 -0
  263. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/person.py +0 -0
  264. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/planning.py +0 -0
  265. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/proj.py +0 -0
  266. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/science.py +0 -0
  267. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/syn.py +0 -0
  268. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/telco.py +0 -0
  269. {synapse-2.188.1 → synapse-2.190.0}/synapse/models/transport.py +0 -0
  270. {synapse-2.188.1 → synapse-2.190.0}/synapse/servers/__init__.py +0 -0
  271. {synapse-2.188.1 → synapse-2.190.0}/synapse/servers/aha.py +0 -0
  272. {synapse-2.188.1 → synapse-2.190.0}/synapse/servers/axon.py +0 -0
  273. {synapse-2.188.1 → synapse-2.190.0}/synapse/servers/cell.py +0 -0
  274. {synapse-2.188.1 → synapse-2.190.0}/synapse/servers/cortex.py +0 -0
  275. {synapse-2.188.1 → synapse-2.190.0}/synapse/servers/cryotank.py +0 -0
  276. {synapse-2.188.1 → synapse-2.190.0}/synapse/servers/jsonstor.py +0 -0
  277. {synapse-2.188.1 → synapse-2.190.0}/synapse/servers/stemcell.py +0 -0
  278. {synapse-2.188.1 → synapse-2.190.0}/synapse/telepath.py +0 -0
  279. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/__init__.py +0 -0
  280. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/TestUtilsGetrefs.test_basics.yaml +0 -0
  281. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/__init__.py +0 -0
  282. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/aha/certs/cas/synapse.crt +0 -0
  283. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/aha/certs/cas/synapse.key +0 -0
  284. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.crt +0 -0
  285. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.key +0 -0
  286. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/aha/certs/users/root@synapse.crt +0 -0
  287. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/aha/certs/users/root@synapse.key +0 -0
  288. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/attack_flow/CISA AA22-138B VMWare Workspace (Alt).json +0 -0
  289. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/attack_flow/CISA_Iranian_APT.json +0 -0
  290. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/certdir/cas/ca.crt +0 -0
  291. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/certdir/cas/ca.key +0 -0
  292. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/certdir/hosts/localhost.crt +0 -0
  293. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/certdir/hosts/localhost.key +0 -0
  294. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/certdir/users/root.crt +0 -0
  295. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/certdir/users/root.key +0 -0
  296. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/certdir/users/user.crt +0 -0
  297. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/certdir/users/user.key +0 -0
  298. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/changelog/model_2.176.0_16ee721a6b7221344eaf946c3ab4602dda546b1a.yaml.gz +0 -0
  299. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/changelog/model_2.176.0_2a25c58bbd344716cd7cbc3f4304d8925b0f4ef2.yaml.gz +0 -0
  300. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/cpedata.json +0 -0
  301. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/rstorm/httpresp1.json +0 -0
  302. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/rstorm/httpresp2.json +0 -0
  303. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/rstorm/httpresp3.json +0 -0
  304. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/rstorm/httprespmulti.yaml +0 -0
  305. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/rstorm/testsvc.py +0 -0
  306. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stix_export/basic.json +0 -0
  307. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stix_export/custom0.json +0 -0
  308. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stix_export/risk0.json +0 -0
  309. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stix_import/apt1.json +0 -0
  310. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stix_import/oasis-example-00.json +0 -0
  311. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormcov/argvquery.storm +0 -0
  312. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormcov/dupesubs.storm +0 -0
  313. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormcov/lookup.storm +0 -0
  314. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormcov/pivot.storm +0 -0
  315. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormcov/pragma-nocov.storm +0 -0
  316. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormcov/spin.storm +0 -0
  317. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormcov/stormctrl.storm +0 -0
  318. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormmod/common +0 -0
  319. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/badapidef.yaml +0 -0
  320. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/badcmdname.yaml +0 -0
  321. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/badjsonpkg.yaml +0 -0
  322. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/docs/foobar.md +0 -0
  323. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/docs/foobar.svg +0 -0
  324. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/dotstorm/dotstorm.yaml +0 -0
  325. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/dotstorm/storm/commands/dotstorm.bar.storm +0 -0
  326. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/dotstorm/storm/modules/dotstorm.foo.storm +0 -0
  327. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/nocontent.yaml +0 -0
  328. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/nomime.yaml +0 -0
  329. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/nopath.yaml +0 -0
  330. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/nosuchfile.yaml +0 -0
  331. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/notitle.yaml +0 -0
  332. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/optic/index.html +0 -0
  333. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/storm/commands/invalidCMD +0 -0
  334. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/storm/commands/testpkg.baz +0 -0
  335. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/storm/commands/testpkgcmd +0 -0
  336. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/storm/modules/apimod +0 -0
  337. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/storm/modules/testmod +0 -0
  338. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/testpkg.yaml +0 -0
  339. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/workflows/testpkg-bam.newp +0 -0
  340. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/workflows/testpkg-baz.yaml +0 -0
  341. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/workflows/testpkg-foo.yaml +0 -0
  342. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/test.dat +0 -0
  343. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/testcore/cell.yaml +0 -0
  344. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/nopmod.py +0 -0
  345. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_axon.py +0 -0
  346. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_cmds_boss.py +0 -0
  347. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_cmds_cortex.py +0 -0
  348. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_cmds_hive.py +0 -0
  349. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_common.py +0 -0
  350. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_cryotank.py +0 -0
  351. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_daemon.py +0 -0
  352. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_data.py +0 -0
  353. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_datamodel.py +0 -0
  354. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_exc.py +0 -0
  355. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_glob.py +0 -0
  356. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_init.py +0 -0
  357. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_agenda.py +0 -0
  358. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_aha.py +0 -0
  359. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_auth.py +0 -0
  360. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_autodoc.py +0 -0
  361. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_base.py +0 -0
  362. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_boss.py +0 -0
  363. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_cache.py +0 -0
  364. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_cell.py +0 -0
  365. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_certdir.py +0 -0
  366. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_chop.py +0 -0
  367. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_cli.py +0 -0
  368. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_config.py +0 -0
  369. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_const.py +0 -0
  370. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_coro.py +0 -0
  371. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_crypto_coin.py +0 -0
  372. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_crypto_ecc.py +0 -0
  373. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_crypto_passwd.py +0 -0
  374. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_crypto_tinfoil.py +0 -0
  375. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_datfile.py +0 -0
  376. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_dyndeps.py +0 -0
  377. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_encoding.py +0 -0
  378. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_gis.py +0 -0
  379. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_grammar.py +0 -0
  380. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_hashitem.py +0 -0
  381. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_hashset.py +0 -0
  382. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_health.py +0 -0
  383. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_hive.py +0 -0
  384. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_httpapi.py +0 -0
  385. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_interval.py +0 -0
  386. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_jsonstor.py +0 -0
  387. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_layer.py +0 -0
  388. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_link.py +0 -0
  389. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_lmdbslab.py +0 -0
  390. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_modelrev.py +0 -0
  391. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_module.py +0 -0
  392. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_msgpack.py +0 -0
  393. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_multislabseqn.py +0 -0
  394. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_nexus.py +0 -0
  395. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_node.py +0 -0
  396. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_output.py +0 -0
  397. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_platforms_linux.py +0 -0
  398. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_queue.py +0 -0
  399. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_ratelimit.py +0 -0
  400. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_reflect.py +0 -0
  401. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_rstorm.py +0 -0
  402. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_scope.py +0 -0
  403. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_scrape.py +0 -0
  404. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_slaboffs.py +0 -0
  405. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_slabseqn.py +0 -0
  406. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_snap.py +0 -0
  407. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_spooled.py +0 -0
  408. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_storm_format.py +0 -0
  409. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_aha.py +0 -0
  410. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_auth.py +0 -0
  411. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_backup.py +0 -0
  412. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_basex.py +0 -0
  413. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_cache.py +0 -0
  414. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_cell.py +0 -0
  415. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_compression.py +0 -0
  416. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_cortex.py +0 -0
  417. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_easyperm.py +0 -0
  418. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_env.py +0 -0
  419. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_ethereum.py +0 -0
  420. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_gen.py +0 -0
  421. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_gis.py +0 -0
  422. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_hashes.py +0 -0
  423. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_hex.py +0 -0
  424. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_imap.py +0 -0
  425. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_infosec.py +0 -0
  426. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_ipv6.py +0 -0
  427. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_iters.py +0 -0
  428. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_json.py +0 -0
  429. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_log.py +0 -0
  430. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_macro.py +0 -0
  431. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_mime.py +0 -0
  432. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_model.py +0 -0
  433. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_modelext.py +0 -0
  434. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_oauth.py +0 -0
  435. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_pack.py +0 -0
  436. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_random.py +0 -0
  437. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_scrape.py +0 -0
  438. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_smtp.py +0 -0
  439. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_spooled.py +0 -0
  440. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_stats.py +0 -0
  441. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_stix.py +0 -0
  442. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_storm.py +0 -0
  443. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_tabular.py +0 -0
  444. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_vault.py +0 -0
  445. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_xml.py +0 -0
  446. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_yaml.py +0 -0
  447. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormsvc.py +0 -0
  448. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormwhois.py +0 -0
  449. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_structlog.py +0 -0
  450. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_task.py +0 -0
  451. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_thishost.py +0 -0
  452. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_time.py +0 -0
  453. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_trigger.py +0 -0
  454. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_types.py +0 -0
  455. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_urlhelp.py +0 -0
  456. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_version.py +0 -0
  457. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_view.py +0 -0
  458. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lookup_iso3166.py +0 -0
  459. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lookup_phonenum.py +0 -0
  460. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_mindmeld.py +0 -0
  461. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_auth.py +0 -0
  462. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_base.py +0 -0
  463. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_belief.py +0 -0
  464. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_biz.py +0 -0
  465. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_crypto.py +0 -0
  466. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_dns.py +0 -0
  467. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_doc.py +0 -0
  468. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_economic.py +0 -0
  469. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_files.py +0 -0
  470. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_geopol.py +0 -0
  471. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_geospace.py +0 -0
  472. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_gov_cn.py +0 -0
  473. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_gov_intl.py +0 -0
  474. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_gov_us.py +0 -0
  475. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_inet.py +0 -0
  476. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_infotech.py +0 -0
  477. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_language.py +0 -0
  478. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_material.py +0 -0
  479. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_math.py +0 -0
  480. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_media.py +0 -0
  481. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_orgs.py +0 -0
  482. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_person.py +0 -0
  483. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_planning.py +0 -0
  484. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_proj.py +0 -0
  485. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_science.py +0 -0
  486. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_syn.py +0 -0
  487. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_telco.py +0 -0
  488. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_transport.py +0 -0
  489. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_servers_axon.py +0 -0
  490. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_servers_cortex.py +0 -0
  491. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_servers_cryotank.py +0 -0
  492. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_servers_stemcell.py +0 -0
  493. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_servers_univ.py +0 -0
  494. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_telepath.py +0 -0
  495. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_aha.py +0 -0
  496. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_autodoc.py +0 -0
  497. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_axon2axon.py +0 -0
  498. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_backup.py +0 -0
  499. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_cellauth.py +0 -0
  500. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_changelog.py +0 -0
  501. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_cryo_cat.py +0 -0
  502. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_cryo_list.py +0 -0
  503. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_csvtool.py +0 -0
  504. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_docker_validate.py +0 -0
  505. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_easycert.py +0 -0
  506. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_feed.py +0 -0
  507. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_genpkg.py +0 -0
  508. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_guid.py +0 -0
  509. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_healthcheck.py +0 -0
  510. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_hiveload.py +0 -0
  511. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_hivesave.py +0 -0
  512. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_json2mpk.py +0 -0
  513. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_livebackup.py +0 -0
  514. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_modrole.py +0 -0
  515. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_moduser.py +0 -0
  516. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_promote.py +0 -0
  517. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_pullfile.py +0 -0
  518. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_pushfile.py +0 -0
  519. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_reload.py +0 -0
  520. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_rstorm.py +0 -0
  521. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_snapshot.py +0 -0
  522. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_storm.py +0 -0
  523. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_utils.py +0 -0
  524. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_utils_getrefs.py +0 -0
  525. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_utils_stormcov.py +0 -0
  526. {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/utils.py +0 -0
  527. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/__init__.py +0 -0
  528. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/aha/__init__.py +0 -0
  529. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/aha/clone.py +0 -0
  530. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/aha/easycert.py +0 -0
  531. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/aha/enroll.py +0 -0
  532. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/aha/list.py +0 -0
  533. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/aha/provision/__init__.py +0 -0
  534. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/aha/provision/service.py +0 -0
  535. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/aha/provision/user.py +0 -0
  536. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/autodoc.py +0 -0
  537. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/axon2axon.py +0 -0
  538. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/backup.py +0 -0
  539. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/cellauth.py +0 -0
  540. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/changelog.py +0 -0
  541. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/cmdr.py +0 -0
  542. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/cryo/__init__.py +0 -0
  543. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/cryo/cat.py +0 -0
  544. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/cryo/list.py +0 -0
  545. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/csvtool.py +0 -0
  546. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/docker/__init__.py +0 -0
  547. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/docker/validate.py +0 -0
  548. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/easycert.py +0 -0
  549. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/feed.py +0 -0
  550. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/genpkg.py +0 -0
  551. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/guid.py +0 -0
  552. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/healthcheck.py +0 -0
  553. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/hive/__init__.py +0 -0
  554. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/hive/load.py +0 -0
  555. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/hive/save.py +0 -0
  556. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/json2mpk.py +0 -0
  557. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/livebackup.py +0 -0
  558. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/modrole.py +0 -0
  559. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/moduser.py +0 -0
  560. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/promote.py +0 -0
  561. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/pullfile.py +0 -0
  562. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/pushfile.py +0 -0
  563. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/reload.py +0 -0
  564. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/rstorm.py +0 -0
  565. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/snapshot.py +0 -0
  566. {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/storm.py +0 -0
  567. {synapse-2.188.1 → synapse-2.190.0}/synapse/utils/__init__.py +0 -0
  568. {synapse-2.188.1 → synapse-2.190.0}/synapse/utils/getrefs.py +0 -0
  569. {synapse-2.188.1 → synapse-2.190.0}/synapse/utils/stormcov/__init__.py +0 -0
  570. {synapse-2.188.1 → synapse-2.190.0}/synapse/utils/stormcov/plugin.py +0 -0
  571. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/__init__.py +0 -0
  572. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cashaddress/LICENSE +0 -0
  573. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cashaddress/__init__.py +0 -0
  574. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cashaddress/base58.py +0 -0
  575. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cashaddress/convert.py +0 -0
  576. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cashaddress/crypto.py +0 -0
  577. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cashaddress/tests/__init__.py +0 -0
  578. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cashaddress/tests/test_cashaddress.py +0 -0
  579. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cpython/LICENSE +0 -0
  580. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cpython/__init__.py +0 -0
  581. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cpython/lib/__init__.py +0 -0
  582. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cpython/lib/email/__init__.py +0 -0
  583. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cpython/lib/email/_parseaddr.py +0 -0
  584. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cpython/lib/email/utils.py +0 -0
  585. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cpython/lib/ipaddress.py +0 -0
  586. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cpython/lib/test/__init__.py +0 -0
  587. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cpython/lib/test/support/__init__.py +0 -0
  588. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cpython/lib/test/test_email/__init__.py +0 -0
  589. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cpython/lib/test/test_email/test_email.py +0 -0
  590. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cpython/lib/test/test_email/test_utils.py +0 -0
  591. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cpython/lib/test/test_ipaddress.py +0 -0
  592. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/substrateinterface/LICENSE +0 -0
  593. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/substrateinterface/__init__.py +0 -0
  594. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/substrateinterface/tests/__init__.py +0 -0
  595. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/substrateinterface/tests/test_ss58.py +0 -0
  596. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/substrateinterface/utils/__init__.py +0 -0
  597. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/substrateinterface/utils/ss58.py +0 -0
  598. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/utils.py +0 -0
  599. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/xrpl/LICENSE +0 -0
  600. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/xrpl/__init__.py +0 -0
  601. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/xrpl/constants.py +0 -0
  602. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/xrpl/core/__init__.py +0 -0
  603. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/xrpl/core/addresscodec/__init__.py +0 -0
  604. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/xrpl/core/addresscodec/codec.py +0 -0
  605. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/xrpl/core/addresscodec/exceptions.py +0 -0
  606. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/xrpl/core/addresscodec/main.py +0 -0
  607. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/xrpl/core/addresscodec/utils.py +0 -0
  608. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/xrpl/tests/__init__.py +0 -0
  609. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/xrpl/tests/test_codec.py +0 -0
  610. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/xrpl/tests/test_main.py +0 -0
  611. {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/xrpl/tests/test_main_test_cases.py +0 -0
  612. {synapse-2.188.1 → synapse-2.190.0}/synapse.egg-info/SOURCES.txt +0 -0
  613. {synapse-2.188.1 → synapse-2.190.0}/synapse.egg-info/dependency_links.txt +0 -0
  614. {synapse-2.188.1 → synapse-2.190.0}/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.188.1
3
+ Version: 2.190.0
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
@@ -19,7 +19,7 @@ Classifier: Operating System :: POSIX :: Linux
19
19
  Requires-Python: >=3.11
20
20
  Description-Content-Type: text/x-rst
21
21
  License-File: LICENSE
22
- Requires-Dist: pyOpenSSL<25.0.0,>=24.0.0
22
+ Requires-Dist: pyOpenSSL<24.3.0,>=24.0.0
23
23
  Requires-Dist: cryptography<44.0.0,>=43.0.1
24
24
  Requires-Dist: msgpack<1.1.0,>=1.0.5
25
25
  Requires-Dist: xxhash<3.6.0,>=1.4.4
@@ -4,7 +4,7 @@ build-backend = 'setuptools.build_meta'
4
4
 
5
5
  [project]
6
6
  name = 'synapse'
7
- version = '2.188.1'
7
+ version = '2.190.0'
8
8
  authors = [
9
9
  { name = 'The Vertex Project LLC', email = 'root@vertex.link'},
10
10
  ]
@@ -23,7 +23,7 @@ classifiers = [
23
23
  'Operating System :: POSIX :: Linux',
24
24
  ]
25
25
  dependencies = [
26
- 'pyOpenSSL>=24.0.0,<25.0.0',
26
+ 'pyOpenSSL>=24.0.0,<24.3.0',
27
27
  'cryptography>=43.0.1,<44.0.0',
28
28
  'msgpack>=1.0.5,<1.1.0',
29
29
  'xxhash>=1.4.4,<3.6.0',
@@ -5830,14 +5830,18 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
5830
5830
  opts = self._initStormOpts(opts)
5831
5831
 
5832
5832
  if self.stormpool is not None and opts.get('mirror', True):
5833
- extra = await self.getLogExtra(text=text)
5834
5833
  proxy = await self._getMirrorProxy(opts)
5835
5834
 
5836
5835
  if proxy is not None:
5837
- logger.info(f'Offloading Storm query {{{text}}} to mirror.', extra=extra)
5836
+ proxname = proxy._ahainfo.get('name')
5837
+ extra = await self.getLogExtra(mirror=proxname, hash=s_storm.queryhash(text))
5838
+ logger.info(f'Offloading Storm query to mirror {proxname}.', extra=extra)
5838
5839
 
5839
5840
  mirropts = await self._getMirrorOpts(opts)
5840
5841
 
5842
+ mirropts.setdefault('_loginfo', {})
5843
+ mirropts['_loginfo']['pool:from'] = self.ahasvcname
5844
+
5841
5845
  try:
5842
5846
  return await proxy.count(text, opts=mirropts)
5843
5847
 
@@ -5911,10 +5915,15 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
5911
5915
  proxy = await self._getMirrorProxy(opts)
5912
5916
 
5913
5917
  if proxy is not None:
5914
- logger.info(f'Offloading Storm query {{{text}}} to mirror.', extra=extra)
5918
+ proxname = proxy._ahainfo.get('name')
5919
+ extra = await self.getLogExtra(mirror=proxname, hash=s_storm.queryhash(text))
5920
+ logger.info(f'Offloading Storm query to mirror {proxname}.', extra=extra)
5915
5921
 
5916
5922
  mirropts = await self._getMirrorOpts(opts)
5917
5923
 
5924
+ mirropts.setdefault('_loginfo', {})
5925
+ mirropts['_loginfo']['pool:from'] = self.ahasvcname
5926
+
5918
5927
  try:
5919
5928
  async for mesg in proxy.storm(text, opts=mirropts):
5920
5929
  yield mesg
@@ -5941,10 +5950,15 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
5941
5950
  proxy = await self._getMirrorProxy(opts)
5942
5951
 
5943
5952
  if proxy is not None:
5944
- logger.info(f'Offloading Storm query {{{text}}} to mirror.', extra=extra)
5953
+ proxname = proxy._ahainfo.get('name')
5954
+ extra = await self.getLogExtra(mirror=proxname, hash=s_storm.queryhash(text))
5955
+ logger.info(f'Offloading Storm query to mirror {proxname}.', extra=extra)
5945
5956
 
5946
5957
  mirropts = await self._getMirrorOpts(opts)
5947
5958
 
5959
+ mirropts.setdefault('_loginfo', {})
5960
+ mirropts['_loginfo']['pool:from'] = self.ahasvcname
5961
+
5948
5962
  try:
5949
5963
  return await proxy.callStorm(text, opts=mirropts)
5950
5964
  except s_exc.TimeOut:
@@ -5966,10 +5980,15 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
5966
5980
  proxy = await self._getMirrorProxy(opts)
5967
5981
 
5968
5982
  if proxy is not None:
5969
- logger.info(f'Offloading Storm query {{{text}}} to mirror.', extra=extra)
5983
+ proxname = proxy._ahainfo.get('name')
5984
+ extra = await self.getLogExtra(mirror=proxname, hash=s_storm.queryhash(text))
5985
+ logger.info(f'Offloading Storm query to mirror {proxname}.', extra=extra)
5970
5986
 
5971
5987
  mirropts = await self._getMirrorOpts(opts)
5972
5988
 
5989
+ mirropts.setdefault('_loginfo', {})
5990
+ mirropts['_loginfo']['pool:from'] = self.ahasvcname
5991
+
5973
5992
  try:
5974
5993
  async for mesg in proxy.exportStorm(text, opts=mirropts):
5975
5994
  yield mesg
@@ -6152,6 +6171,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
6152
6171
  info['text'] = text
6153
6172
  info['username'] = user.name
6154
6173
  info['user'] = user.iden
6174
+ info['hash'] = s_storm.queryhash(text)
6155
6175
  stormlogger.log(self.stormloglvl, 'Executing storm query {%s} as [%s]', text, user.name,
6156
6176
  extra={'synapse': info})
6157
6177
 
@@ -1,6 +1,7 @@
1
1
  import types
2
2
  import pprint
3
3
  import asyncio
4
+ import hashlib
4
5
  import logging
5
6
  import argparse
6
7
  import contextlib
@@ -18,7 +19,6 @@ import synapse.lib.chop as s_chop
18
19
  import synapse.lib.coro as s_coro
19
20
  import synapse.lib.node as s_node
20
21
  import synapse.lib.snap as s_snap
21
- import synapse.lib.time as s_time
22
22
  import synapse.lib.cache as s_cache
23
23
  import synapse.lib.layer as s_layer
24
24
  import synapse.lib.scope as s_scope
@@ -626,7 +626,7 @@ stormcmds = (
626
626
  {
627
627
  'name': 'feed.list',
628
628
  'descr': 'List the feed functions available in the Cortex',
629
- 'cmdrargs': (),
629
+ 'cmdargs': (),
630
630
  'storm': '''
631
631
  $lib.print('Storm feed list:')
632
632
  for $flinfo in $lib.feed.list() {
@@ -824,19 +824,51 @@ stormcmds = (
824
824
  {
825
825
  'name': 'pkg.list',
826
826
  'descr': 'List the storm packages loaded in the cortex.',
827
- 'cmdrargs': (),
827
+ 'cmdargs': (
828
+ ('--verbose', {'default': False, 'action': 'store_true',
829
+ 'help': 'Display build time for each package.'}),
830
+ ),
828
831
  'storm': '''
829
- $pkgs = $lib.pkg.list()
830
-
831
- if $($pkgs.size() = 0) {
832
+ init {
833
+ $conf = ({
834
+ "columns": [
835
+ {"name": "name", "width": 40},
836
+ {"name": "vers", "width": 10},
837
+ ],
838
+ "separators": {
839
+ "row:outline": false,
840
+ "column:outline": false,
841
+ "header:row": "#",
842
+ "data:row": "",
843
+ "column": "",
844
+ },
845
+ })
846
+ if $cmdopts.verbose {
847
+ $conf.columns.append(({"name": "time", "width": 20}))
848
+ }
849
+ $printer = $lib.tabular.printer($conf)
850
+ }
832
851
 
833
- $lib.print('No storm packages installed.')
852
+ $pkgs = $lib.pkg.list()
834
853
 
835
- } else {
854
+ if $($pkgs.size() > 0) {
836
855
  $lib.print('Loaded storm packages:')
856
+ $lib.print($printer.header())
837
857
  for $pkg in $pkgs {
838
- $lib.print("{name}: {vers}", name=$pkg.name.ljust(32), vers=$pkg.version)
858
+ $row = (
859
+ $pkg.name, $pkg.version,
860
+ )
861
+ if $cmdopts.verbose {
862
+ try {
863
+ $row.append($lib.time.format($pkg.build.time, '%Y-%m-%d %H:%M:%S'))
864
+ } catch StormRuntimeError as _ {
865
+ $row.append('not available')
866
+ }
867
+ }
868
+ $lib.print($printer.row($row))
839
869
  }
870
+ } else {
871
+ $lib.print('No storm packages installed.')
840
872
  }
841
873
  '''
842
874
  },
@@ -1649,6 +1681,10 @@ stormcmds = (
1649
1681
  },
1650
1682
  )
1651
1683
 
1684
+ @s_cache.memoize(size=1024)
1685
+ def queryhash(text):
1686
+ return hashlib.md5(text.encode(errors='surrogatepass'), usedforsecurity=False).hexdigest()
1687
+
1652
1688
  class DmonManager(s_base.Base):
1653
1689
  '''
1654
1690
  Manager for StormDmon objects.
@@ -292,13 +292,6 @@ class LibHttp(s_stormtypes.Lib):
292
292
  'codereason': self.codereason,
293
293
  }
294
294
 
295
- def strify(self, item):
296
- if isinstance(item, (list, tuple)):
297
- return [(str(k), str(v)) for (k, v) in item]
298
- elif isinstance(item, dict):
299
- return {str(k): str(v) for k, v in item.items()}
300
- return item
301
-
302
295
  @s_stormtypes.stormfunc(readonly=True)
303
296
  async def urlencode(self, text):
304
297
  text = await s_stormtypes.tostr(text)
@@ -341,7 +334,7 @@ class LibHttp(s_stormtypes.Lib):
341
334
  ssl_verify = await s_stormtypes.tobool(ssl_verify, noneok=True)
342
335
  ssl_opts = await s_stormtypes.toprim(ssl_opts)
343
336
 
344
- headers = self.strify(headers)
337
+ headers = s_stormtypes.strifyHttpArg(headers)
345
338
 
346
339
  sock = await WebSocket.anit()
347
340
 
@@ -410,9 +403,9 @@ class LibHttp(s_stormtypes.Lib):
410
403
 
411
404
  kwargs = {'allow_redirects': allow_redirects}
412
405
  if params:
413
- kwargs['params'] = self.strify(params)
406
+ kwargs['params'] = s_stormtypes.strifyHttpArg(params, multi=True)
414
407
 
415
- headers = self.strify(headers)
408
+ headers = s_stormtypes.strifyHttpArg(headers)
416
409
 
417
410
  if proxy is not None:
418
411
  self.runt.confirm(('storm', 'lib', 'inet', 'http', 'proxy'))
@@ -60,6 +60,19 @@ def confirmEasyPerm(item, perm, mesg=None):
60
60
  def allowedEasyPerm(item, perm):
61
61
  return s_scope.get('runt').allowedEasyPerm(item, perm)
62
62
 
63
+ def strifyHttpArg(item, multi=False):
64
+ if isinstance(item, (list, tuple)):
65
+ return [(str(k), str(v)) for (k, v) in item]
66
+ elif isinstance(item, dict):
67
+ retn = {}
68
+ for name, valu in item.items():
69
+ if isinstance(valu, (list, tuple)) and multi:
70
+ retn[str(name)] = [str(v) for v in valu]
71
+ else:
72
+ retn[str(name)] = str(valu)
73
+ return retn
74
+ return item
75
+
63
76
  class StormTypesRegistry:
64
77
  # The following types are currently undefined.
65
78
  base_undefined_types = (
@@ -2306,13 +2319,6 @@ class LibAxon(Lib):
2306
2319
  'hashset': self.hashset,
2307
2320
  }
2308
2321
 
2309
- def strify(self, item):
2310
- if isinstance(item, (list, tuple)):
2311
- return [(str(k), str(v)) for (k, v) in item]
2312
- elif isinstance(item, dict):
2313
- return {str(k): str(v) for k, v in item.items()}
2314
- return item
2315
-
2316
2322
  @stormfunc(readonly=True)
2317
2323
  async def readlines(self, sha256, errors='ignore'):
2318
2324
  if not self.runt.allowed(('axon', 'get')):
@@ -2384,8 +2390,8 @@ class LibAxon(Lib):
2384
2390
  if proxy is not None:
2385
2391
  self.runt.confirm(('storm', 'lib', 'inet', 'http', 'proxy'))
2386
2392
 
2387
- params = self.strify(params)
2388
- headers = self.strify(headers)
2393
+ params = strifyHttpArg(params, multi=True)
2394
+ headers = strifyHttpArg(headers)
2389
2395
 
2390
2396
  await self.runt.snap.core.getAxon()
2391
2397
 
@@ -2423,8 +2429,8 @@ class LibAxon(Lib):
2423
2429
  timeout = await toprim(timeout)
2424
2430
  ssl_opts = await toprim(ssl_opts)
2425
2431
 
2426
- params = self.strify(params)
2427
- headers = self.strify(headers)
2432
+ params = strifyHttpArg(params, multi=True)
2433
+ headers = strifyHttpArg(headers)
2428
2434
 
2429
2435
  if proxy is not None:
2430
2436
  self.runt.confirm(('storm', 'lib', 'inet', 'http', 'proxy'))
@@ -5008,9 +5014,12 @@ class List(Prim):
5008
5014
  {'name': 'valu', 'type': 'any', 'desc': 'The value to check.', },
5009
5015
  ),
5010
5016
  'returns': {'type': 'boolean', 'desc': 'True if the item is in the list, false otherwise.', }}},
5011
- {'name': 'pop', 'desc': 'Pop and return the last entry in the list.',
5017
+ {'name': 'pop', 'desc': 'Pop and return the entry at the specified index in the list. If no index is specified, pop the last entry.',
5012
5018
  'type': {'type': 'function', '_funcname': '_methListPop',
5013
- 'returns': {'type': 'any', 'desc': 'The last item from the list.', }}},
5019
+ 'args': (
5020
+ {'name': 'index', 'type': 'int', 'desc': 'Index of entry to pop.', 'default': -1},
5021
+ ),
5022
+ 'returns': {'type': 'any', 'desc': 'The entry at the specified index in the list.', }}},
5014
5023
  {'name': 'size', 'desc': 'Return the length of the list.',
5015
5024
  'type': {'type': 'function', '_funcname': '_methListSize',
5016
5025
  'returns': {'type': 'int', 'desc': 'The size of the list.', }}},
@@ -5153,11 +5162,12 @@ class List(Prim):
5153
5162
  return prim in self.valu
5154
5163
 
5155
5164
  @stormfunc(readonly=True)
5156
- async def _methListPop(self):
5165
+ async def _methListPop(self, index=-1):
5166
+ index = await toint(index)
5157
5167
  try:
5158
- return self.valu.pop()
5159
- except IndexError:
5160
- mesg = 'The list is empty. Nothing to pop.'
5168
+ return self.valu.pop(index)
5169
+ except IndexError as exc:
5170
+ mesg = str(exc)
5161
5171
  raise s_exc.StormRuntimeError(mesg=mesg)
5162
5172
 
5163
5173
  @stormfunc(readonly=True)
@@ -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, 188, 1)
226
+ version = (2, 190, 0)
227
227
  verstring = '.'.join([str(x) for x in version])
228
- commit = '2cf97aa2a3266442393dfc78525749d3f65d9fc7'
228
+ commit = 'ea92cb42c33f8793e9d72834aa8d12b6456eee8b'
@@ -1,20 +1,17 @@
1
1
  import shutil
2
2
  import asyncio
3
- import hashlib
4
3
  import logging
5
- import itertools
6
4
  import collections
7
5
 
8
6
  import synapse.exc as s_exc
9
7
  import synapse.common as s_common
10
8
 
11
9
  import synapse.lib.cell as s_cell
12
- import synapse.lib.coro as s_coro
13
10
  import synapse.lib.snap as s_snap
14
11
  import synapse.lib.layer as s_layer
15
12
  import synapse.lib.nexus as s_nexus
16
13
  import synapse.lib.scope as s_scope
17
- import synapse.lib.config as s_config
14
+ import synapse.lib.storm as s_storm
18
15
  import synapse.lib.scrape as s_scrape
19
16
  import synapse.lib.msgpack as s_msgpack
20
17
  import synapse.lib.schemas as s_schemas
@@ -1004,7 +1001,7 @@ class View(s_nexus.Pusher): # type: ignore
1004
1001
  if editformat not in ('nodeedits', 'count', 'none'):
1005
1002
  raise s_exc.BadConfValu(mesg=f'invalid edit format, got {editformat}', name='editformat', valu=editformat)
1006
1003
 
1007
- texthash = hashlib.md5(text.encode(errors='surrogatepass'), usedforsecurity=False).hexdigest()
1004
+ texthash = s_storm.queryhash(text)
1008
1005
 
1009
1006
  async def runStorm():
1010
1007
  cancelled = False
@@ -709,6 +709,9 @@ class RiskModule(s_module.CoreModule):
709
709
  ('vuln', ('risk:vuln', {}), {
710
710
  'doc': 'The vulnerability that the node is susceptible to.'}),
711
711
 
712
+ ('technique', ('ou:technique', {}), {
713
+ 'doc': 'The technique that the node is susceptible to.'}),
714
+
712
715
  ('period', ('ival', {}), {
713
716
  'doc': 'The time window where the node was vulnerable.'}),
714
717
 
@@ -5,7 +5,6 @@ import time
5
5
  import asyncio
6
6
  import hashlib
7
7
  import logging
8
- import textwrap
9
8
 
10
9
  import regex
11
10
 
@@ -16,13 +15,13 @@ import synapse.common as s_common
16
15
  import synapse.cortex as s_cortex
17
16
  import synapse.telepath as s_telepath
18
17
 
19
- import synapse.lib.aha as s_aha
20
18
  import synapse.lib.base as s_base
21
19
  import synapse.lib.cell as s_cell
22
20
  import synapse.lib.coro as s_coro
23
21
  import synapse.lib.node as s_node
24
22
  import synapse.lib.time as s_time
25
23
  import synapse.lib.layer as s_layer
24
+ import synapse.lib.storm as s_storm
26
25
  import synapse.lib.output as s_output
27
26
  import synapse.lib.msgpack as s_msgpack
28
27
  import synapse.lib.version as s_version
@@ -37,6 +36,10 @@ from synapse.tests.utils import alist
37
36
 
38
37
  logger = logging.getLogger(__name__)
39
38
 
39
+ def jsonlines(text):
40
+ lines = [k for k in text.split('\n') if k]
41
+ return [json.loads(line) for line in lines]
42
+
40
43
  class CortexTest(s_t_utils.SynTest):
41
44
  '''
42
45
  The tests that should be run with different types of layers
@@ -8072,6 +8075,8 @@ class CortexBasicTest(s_t_utils.SynTest):
8072
8075
 
8073
8076
  async with self.getTestAha() as aha:
8074
8077
 
8078
+ ahanet = aha.conf.req('aha:network')
8079
+
8075
8080
  async with await s_base.Base.anit() as base:
8076
8081
 
8077
8082
  with self.getTestDir() as dirn:
@@ -8107,43 +8112,89 @@ class CortexBasicTest(s_t_utils.SynTest):
8107
8112
  self.stormIsInPrint('Storm pool configuration set.', msgs)
8108
8113
 
8109
8114
  await core00.fini()
8115
+ await core01.fini()
8110
8116
 
8111
8117
  core00 = await base.enter_context(self.getTestCore(dirn=dirn00))
8118
+ core01 = await base.enter_context(self.getTestCore(dirn=dirn01, conf={'storm:log': True}))
8112
8119
 
8113
8120
  await core00.stormpool.waitready(timeout=12)
8114
8121
 
8115
- with self.getLoggerStream('synapse') as stream:
8116
- msgs = await alist(core00.storm('inet:asn=0'))
8122
+ # storm()
8123
+ q = 'inet:asn=0'
8124
+ qhash = s_storm.queryhash(q)
8125
+ with self.getStructuredAsyncLoggerStream('synapse') as stream:
8126
+ msgs = await alist(core00.storm(q))
8117
8127
  self.len(1, [m for m in msgs if m[0] == 'node'])
8118
8128
 
8119
- stream.seek(0)
8120
- data = stream.read()
8121
- self.isin('Offloading Storm query', data)
8129
+ data = stream.getvalue()
8122
8130
  self.notin('Timeout', data)
8131
+ msgs = jsonlines(data)
8132
+ self.len(2, msgs)
8123
8133
 
8124
- with self.getLoggerStream('synapse') as stream:
8125
- self.true(await core00.callStorm('inet:asn=0 return($lib.true)'))
8134
+ self.eq(msgs[0].get('message'), f'Offloading Storm query to mirror 01.core.{ahanet}.')
8135
+ self.eq(msgs[0].get('hash'), qhash)
8136
+ self.eq(msgs[0].get('mirror'), f'01.core.{ahanet}')
8126
8137
 
8127
- stream.seek(0)
8128
- data = stream.read()
8129
- self.isin('Offloading Storm query', data)
8138
+ self.eq(msgs[1].get('message'), f'Executing storm query {{{q}}} as [root]')
8139
+ self.eq(msgs[1].get('hash'), qhash)
8140
+ self.eq(msgs[1].get('pool:from'), f'00.core.{ahanet}')
8141
+
8142
+ # callStorm()
8143
+ q = 'inet:asn=0 return($lib.true)'
8144
+ qhash = s_storm.queryhash(q)
8145
+ with self.getStructuredAsyncLoggerStream('synapse') as stream:
8146
+ self.true(await core00.callStorm(q))
8147
+
8148
+ data = stream.getvalue()
8130
8149
  self.notin('Timeout', data)
8150
+ msgs = jsonlines(data)
8151
+ self.len(2, msgs)
8131
8152
 
8132
- with self.getLoggerStream('synapse') as stream:
8133
- self.len(1, await alist(core00.exportStorm('inet:asn=0')))
8153
+ self.eq(msgs[0].get('message'), f'Offloading Storm query to mirror 01.core.{ahanet}.')
8154
+ self.eq(msgs[0].get('hash'), qhash)
8155
+ self.eq(msgs[0].get('mirror'), f'01.core.{ahanet}')
8134
8156
 
8135
- stream.seek(0)
8136
- data = stream.read()
8137
- self.isin('Offloading Storm query', data)
8157
+ self.eq(msgs[1].get('message'), f'Executing storm query {{{q}}} as [root]')
8158
+ self.eq(msgs[1].get('hash'), qhash)
8159
+ self.eq(msgs[1].get('pool:from'), f'00.core.{ahanet}')
8160
+
8161
+ # exportStorm()
8162
+ q = 'inet:asn=0'
8163
+ qhash = s_storm.queryhash(q)
8164
+ with self.getStructuredAsyncLoggerStream('synapse') as stream:
8165
+ self.len(1, await alist(core00.exportStorm(q)))
8166
+
8167
+ data = stream.getvalue()
8138
8168
  self.notin('Timeout', data)
8169
+ msgs = jsonlines(data)
8170
+ self.len(2, msgs)
8139
8171
 
8140
- with self.getLoggerStream('synapse') as stream:
8141
- self.eq(1, await core00.count('inet:asn=0'))
8172
+ self.eq(msgs[0].get('message'), f'Offloading Storm query to mirror 01.core.{ahanet}.')
8173
+ self.eq(msgs[0].get('hash'), qhash)
8174
+ self.eq(msgs[0].get('mirror'), f'01.core.{ahanet}')
8142
8175
 
8143
- stream.seek(0)
8144
- data = stream.read()
8145
- self.isin('Offloading Storm query', data)
8176
+ self.eq(msgs[1].get('message'), f'Executing storm query {{{q}}} as [root]')
8177
+ self.eq(msgs[1].get('hash'), qhash)
8178
+ self.eq(msgs[1].get('pool:from'), f'00.core.{ahanet}')
8179
+
8180
+ # count()
8181
+ q = 'inet:asn=0'
8182
+ qhash = s_storm.queryhash(q)
8183
+ with self.getStructuredAsyncLoggerStream('synapse') as stream:
8184
+ self.eq(1, await core00.count(q))
8185
+
8186
+ data = stream.getvalue()
8146
8187
  self.notin('Timeout', data)
8188
+ msgs = jsonlines(data)
8189
+ self.len(2, msgs)
8190
+
8191
+ self.eq(msgs[0].get('message'), f'Offloading Storm query to mirror 01.core.{ahanet}.')
8192
+ self.eq(msgs[0].get('hash'), qhash)
8193
+ self.eq(msgs[0].get('mirror'), f'01.core.{ahanet}')
8194
+
8195
+ self.eq(msgs[1].get('message'), f'Executing storm query {{{q}}} as [root]')
8196
+ self.eq(msgs[1].get('hash'), qhash)
8197
+ self.eq(msgs[1].get('pool:from'), f'00.core.{ahanet}')
8147
8198
 
8148
8199
  with patch('synapse.cortex.CoreApi.getNexsIndx', _hang):
8149
8200
 
@@ -1351,7 +1351,7 @@ class AstTest(s_test.SynTest):
1351
1351
  {n.ndef for n in nodes})
1352
1352
 
1353
1353
  msgs = await core.stormlist('pkg.list')
1354
- self.stormIsInPrint('foo : 0.0.1', msgs)
1354
+ self.stormIsInPrint('foo 0.0.1', msgs, whitespace=False)
1355
1355
 
1356
1356
  msgs = await core.stormlist('pkg.del asdf')
1357
1357
  self.stormIsInPrint('No package names match "asdf". Aborting.', msgs)
@@ -862,8 +862,8 @@ class StormTest(s_t_utils.SynTest):
862
862
  pkg1 = {'name': 'haha', 'version': '1.2.3'}
863
863
  await core.addStormPkg(pkg1)
864
864
  msgs = await core.stormlist('pkg.list')
865
- self.isin('haha', msgs[2][1]['mesg'])
866
- self.isin('hehe', msgs[3][1]['mesg'])
865
+ self.stormIsInPrint('haha', msgs)
866
+ self.stormIsInPrint('hehe', msgs)
867
867
 
868
868
  self.true(await core.callStorm('return($lib.pkg.has(haha))'))
869
869
 
@@ -871,6 +871,15 @@ class StormTest(s_t_utils.SynTest):
871
871
  self.none(await core.callStorm('return($lib.pkg.get(haha))'))
872
872
  self.false(await core.callStorm('return($lib.pkg.has(haha))'))
873
873
 
874
+ msgs = await core.stormlist('pkg.list --verbose')
875
+ self.stormIsInPrint('not available', msgs)
876
+
877
+ pkg2 = {'name': 'hoho', 'version': '4.5.6', 'build': {'time': 1732017600000}}
878
+ await core.addStormPkg(pkg2)
879
+ self.eq('4.5.6', await core.callStorm('return($lib.pkg.get(hoho).version)'))
880
+ msgs = await core.stormlist('pkg.list --verbose')
881
+ self.stormIsInPrint('2024-11-19 12:00:00', msgs)
882
+
874
883
  # test for $lib.queue.gen()
875
884
  self.eq(0, await core.callStorm('return($lib.queue.gen(woot).size())'))
876
885
  # and again to test *not* creating it...
@@ -464,6 +464,15 @@ class StormHttpTest(s_test.SynTest):
464
464
  self.isin('mesg', errinfo)
465
465
  self.eq('', errinfo.get('mesg')) # timeouterror has no mesg
466
466
 
467
+ q = '''
468
+ $params=({"foo": ["bar", "baz"], "key": [["valu"]]})
469
+ $resp = $lib.inet.http.request(GET, $url, params=$params, ssl_verify=$lib.false)
470
+ return ( $resp.json() )
471
+ '''
472
+ resp = await core.callStorm(q, opts=opts)
473
+ data = resp.get('result')
474
+ self.eq(data.get('params'), {'foo': ['bar', 'baz'], 'key': ["('valu',)"]})
475
+
467
476
  async def test_storm_http_post(self):
468
477
 
469
478
  async with self.getTestCore() as core:
@@ -1665,8 +1665,23 @@ class StormTypesTest(s_test.SynTest):
1665
1665
  self.eq('bar', await core.callStorm('$foo = (foo, bar) return($foo.1)'))
1666
1666
  self.eq('foo', await core.callStorm('$foo = (foo, bar) return($foo."-2")'))
1667
1667
  self.eq('bar', await core.callStorm('$foo = (foo, bar) return($foo.pop())'))
1668
- with self.raises(s_exc.StormRuntimeError):
1668
+
1669
+ self.eq(3, await core.callStorm('$list = ([1, 2, 3, 4]) return($list.pop(2))'))
1670
+ self.eq(2, await core.callStorm('$list = ([1, 2, 3, 4]) return($list.pop(-3))'))
1671
+ self.eq(4, await core.callStorm('$list = ([1, 2, 3, 4]) $list.pop(2) return($list.pop(2))'))
1672
+ self.eq([1, 3, 4], await core.callStorm('$list = ([1, 2, 3, 4]) $list.pop(1) return($list)'))
1673
+
1674
+ with self.raises(s_exc.StormRuntimeError) as exc:
1669
1675
  await core.callStorm('$lib.list().pop()')
1676
+ self.eq(exc.exception.get('mesg'), 'pop from empty list')
1677
+
1678
+ with self.raises(s_exc.StormRuntimeError) as exc:
1679
+ await core.callStorm('$list = ([1, 2, 3, 4]) return($list.pop(13))')
1680
+ self.eq(exc.exception.get('mesg'), 'pop index out of range')
1681
+
1682
+ with self.raises(s_exc.StormRuntimeError) as exc:
1683
+ await core.callStorm('$list = ([1, 2, 3, 4]) return($list.pop(-5))')
1684
+ self.eq(exc.exception.get('mesg'), 'pop index out of range')
1670
1685
 
1671
1686
  somelist = ["foo", "bar", "baz", "bar"]
1672
1687
  q = '''
@@ -523,6 +523,7 @@ class RiskModelTest(s_t_utils.SynTest):
523
523
  :period=(2022, ?)
524
524
  :node=(inet:fqdn, vertex.link)
525
525
  :vuln={[ risk:vuln=* :name=redtree ]}
526
+ :technique={[ ou:technique=* :name=foo ]}
526
527
  :mitigated=true
527
528
  :mitigations={[ risk:mitigation=* :name=patchstuff ]}
528
529
  ]
@@ -535,6 +536,7 @@ class RiskModelTest(s_t_utils.SynTest):
535
536
  self.len(1, await core.nodes('risk:vulnerable -> risk:vuln'))
536
537
  self.len(1, await core.nodes('risk:vuln:name=redtree -> risk:vulnerable :node -> *'))
537
538
  self.len(1, await core.nodes('risk:vulnerable -> risk:mitigation'))
539
+ self.len(1, await core.nodes('risk:vulnerable -> ou:technique'))
538
540
 
539
541
  nodes = await core.nodes('''
540
542
  [ risk:outage=*
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: synapse
3
- Version: 2.188.1
3
+ Version: 2.190.0
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
@@ -19,7 +19,7 @@ Classifier: Operating System :: POSIX :: Linux
19
19
  Requires-Python: >=3.11
20
20
  Description-Content-Type: text/x-rst
21
21
  License-File: LICENSE
22
- Requires-Dist: pyOpenSSL<25.0.0,>=24.0.0
22
+ Requires-Dist: pyOpenSSL<24.3.0,>=24.0.0
23
23
  Requires-Dist: cryptography<44.0.0,>=43.0.1
24
24
  Requires-Dist: msgpack<1.1.0,>=1.0.5
25
25
  Requires-Dist: xxhash<3.6.0,>=1.4.4