synapse 2.207.0__tar.gz → 2.208.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 (630) hide show
  1. {synapse-2.207.0/synapse.egg-info → synapse-2.208.0}/PKG-INFO +6 -6
  2. {synapse-2.207.0 → synapse-2.208.0}/pyproject.toml +6 -6
  3. {synapse-2.207.0 → synapse-2.208.0}/synapse/cortex.py +12 -3
  4. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/boss.py +5 -1
  5. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/modelrev.py +27 -4
  6. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/storm.lark +2 -2
  7. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/storm.py +5 -5
  8. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/auth.py +1 -1
  9. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/cortex.py +1 -1
  10. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/vault.py +1 -1
  11. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormsvc.py +1 -1
  12. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormtypes.py +23 -22
  13. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/task.py +7 -1
  14. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/time.py +8 -2
  15. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/version.py +2 -2
  16. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/view.py +6 -1
  17. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_cortex.py +4 -4
  18. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_datamodel.py +1 -1
  19. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_ast.py +5 -5
  20. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_boss.py +2 -2
  21. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_nexus.py +5 -11
  22. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_storm.py +83 -6
  23. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormhttp.py +8 -8
  24. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_cache.py +2 -2
  25. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_scrape.py +1 -1
  26. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_storm.py +63 -0
  27. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormsvc.py +3 -0
  28. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormtypes.py +36 -9
  29. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_trigger.py +3 -4
  30. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_view.py +3 -3
  31. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_csvtool.py +1 -1
  32. {synapse-2.207.0 → synapse-2.208.0/synapse.egg-info}/PKG-INFO +6 -6
  33. {synapse-2.207.0 → synapse-2.208.0}/synapse.egg-info/requires.txt +5 -5
  34. {synapse-2.207.0 → synapse-2.208.0}/LICENSE +0 -0
  35. {synapse-2.207.0 → synapse-2.208.0}/README.rst +0 -0
  36. {synapse-2.207.0 → synapse-2.208.0}/setup.cfg +0 -0
  37. {synapse-2.207.0 → synapse-2.208.0}/synapse/__init__.py +0 -0
  38. {synapse-2.207.0 → synapse-2.208.0}/synapse/axon.py +0 -0
  39. {synapse-2.207.0 → synapse-2.208.0}/synapse/cells.py +0 -0
  40. {synapse-2.207.0 → synapse-2.208.0}/synapse/cmds/__init__.py +0 -0
  41. {synapse-2.207.0 → synapse-2.208.0}/synapse/cmds/boss.py +0 -0
  42. {synapse-2.207.0 → synapse-2.208.0}/synapse/cmds/cortex.py +0 -0
  43. {synapse-2.207.0 → synapse-2.208.0}/synapse/cmds/hive.py +0 -0
  44. {synapse-2.207.0 → synapse-2.208.0}/synapse/common.py +0 -0
  45. {synapse-2.207.0 → synapse-2.208.0}/synapse/cryotank.py +0 -0
  46. {synapse-2.207.0 → synapse-2.208.0}/synapse/daemon.py +0 -0
  47. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/__init__.py +0 -0
  48. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/attack-flow/LICENSE.txt +0 -0
  49. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/attack-flow/README.md +0 -0
  50. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/attack-flow/attack-flow-schema-2.0.0.json +0 -0
  51. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/certs/cas/The Vertex Project Intermediate CA 00.crt +0 -0
  52. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/certs/cas/The Vertex Project ROOT CA.crt +0 -0
  53. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/certs/crls/The Vertex Project Intermediate CA 00.crl +0 -0
  54. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/certs/crls/The Vertex Project ROOT CA.crl +0 -0
  55. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/iana.tlds.mpk +0 -0
  56. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/iana.uris.mpk +0 -0
  57. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/README.md +0 -0
  58. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/LICENSE.txt +0 -0
  59. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/binary.json +0 -0
  60. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/bundle.json +0 -0
  61. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/core.json +0 -0
  62. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/cyber-observable-core.json +0 -0
  63. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/dictionary.json +0 -0
  64. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension-definition.json +0 -0
  65. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension.json +0 -0
  66. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/external-reference.json +0 -0
  67. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/granular-marking.json +0 -0
  68. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hashes-type.json +0 -0
  69. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hex.json +0 -0
  70. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/identifier.json +0 -0
  71. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/kill-chain-phase.json +0 -0
  72. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/language-content.json +0 -0
  73. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/marking-definition.json +0 -0
  74. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/properties.json +0 -0
  75. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/timestamp.json +0 -0
  76. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/url-regex.json +0 -0
  77. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/artifact.json +0 -0
  78. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/autonomous-system.json +0 -0
  79. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/directory.json +0 -0
  80. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/domain-name.json +0 -0
  81. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-addr.json +0 -0
  82. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-message.json +0 -0
  83. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/file.json +0 -0
  84. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv4-addr.json +0 -0
  85. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv6-addr.json +0 -0
  86. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mac-addr.json +0 -0
  87. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mutex.json +0 -0
  88. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/network-traffic.json +0 -0
  89. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/process.json +0 -0
  90. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/software.json +0 -0
  91. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/url.json +0 -0
  92. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/user-account.json +0 -0
  93. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/windows-registry-key.json +0 -0
  94. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/x509-certificate.json +0 -0
  95. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/attack-pattern.json +0 -0
  96. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/campaign.json +0 -0
  97. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/course-of-action.json +0 -0
  98. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/grouping.json +0 -0
  99. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/identity.json +0 -0
  100. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/incident.json +0 -0
  101. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/indicator.json +0 -0
  102. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/infrastructure.json +0 -0
  103. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/intrusion-set.json +0 -0
  104. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/location.json +0 -0
  105. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware-analysis.json +0 -0
  106. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware.json +0 -0
  107. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/note.json +0 -0
  108. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/observed-data.json +0 -0
  109. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/opinion.json +0 -0
  110. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/report.json +0 -0
  111. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/threat-actor.json +0 -0
  112. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/tool.json +0 -0
  113. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/vulnerability.json +0 -0
  114. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/relationship.json +0 -0
  115. {synapse-2.207.0 → synapse-2.208.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/sighting.json +0 -0
  116. {synapse-2.207.0 → synapse-2.208.0}/synapse/datamodel.py +0 -0
  117. {synapse-2.207.0 → synapse-2.208.0}/synapse/exc.py +0 -0
  118. {synapse-2.207.0 → synapse-2.208.0}/synapse/glob.py +0 -0
  119. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/__init__.py +0 -0
  120. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/agenda.py +0 -0
  121. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/aha.py +0 -0
  122. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/ast.py +0 -0
  123. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/auth.py +0 -0
  124. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/autodoc.py +0 -0
  125. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/base.py +0 -0
  126. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/cache.py +0 -0
  127. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/cell.py +0 -0
  128. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/certdir.py +0 -0
  129. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/chop.py +0 -0
  130. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/cli.py +0 -0
  131. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/cmd.py +0 -0
  132. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/cmdr.py +0 -0
  133. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/config.py +0 -0
  134. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/const.py +0 -0
  135. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/coro.py +0 -0
  136. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/crypto/__init__.py +0 -0
  137. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/crypto/coin.py +0 -0
  138. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/crypto/ecc.py +0 -0
  139. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/crypto/passwd.py +0 -0
  140. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/crypto/rsa.py +0 -0
  141. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/crypto/tinfoil.py +0 -0
  142. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/datfile.py +0 -0
  143. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/drive.py +0 -0
  144. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/dyndeps.py +0 -0
  145. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/encoding.py +0 -0
  146. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/gis.py +0 -0
  147. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/grammar.py +0 -0
  148. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/hashitem.py +0 -0
  149. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/hashset.py +0 -0
  150. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/health.py +0 -0
  151. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/hive.py +0 -0
  152. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/httpapi.py +0 -0
  153. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/ingest.py +0 -0
  154. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/interval.py +0 -0
  155. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/json.py +0 -0
  156. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/jsonstor.py +0 -0
  157. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/layer.py +0 -0
  158. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/link.py +0 -0
  159. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/lmdbslab.py +0 -0
  160. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/module.py +0 -0
  161. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/modules.py +0 -0
  162. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/msgpack.py +0 -0
  163. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/multislabseqn.py +0 -0
  164. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/nexus.py +0 -0
  165. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/node.py +0 -0
  166. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/oauth.py +0 -0
  167. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/output.py +0 -0
  168. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/parser.py +0 -0
  169. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/platforms/__init__.py +0 -0
  170. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/platforms/common.py +0 -0
  171. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/platforms/darwin.py +0 -0
  172. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/platforms/freebsd.py +0 -0
  173. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/platforms/linux.py +0 -0
  174. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/platforms/windows.py +0 -0
  175. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/queue.py +0 -0
  176. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/ratelimit.py +0 -0
  177. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/reflect.py +0 -0
  178. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/rstorm.py +0 -0
  179. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/schemas.py +0 -0
  180. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/scope.py +0 -0
  181. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/scrape.py +0 -0
  182. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/share.py +0 -0
  183. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/slaboffs.py +0 -0
  184. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/slabseqn.py +0 -0
  185. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/snap.py +0 -0
  186. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/spooled.py +0 -0
  187. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/storm_format.py +0 -0
  188. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormctrl.py +0 -0
  189. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormhttp.py +0 -0
  190. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/__init__.py +0 -0
  191. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/aha.py +0 -0
  192. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/backup.py +0 -0
  193. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/basex.py +0 -0
  194. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/cache.py +0 -0
  195. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/cell.py +0 -0
  196. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/compression.py +0 -0
  197. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/easyperm.py +0 -0
  198. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/env.py +0 -0
  199. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/ethereum.py +0 -0
  200. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/gen.py +0 -0
  201. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/gis.py +0 -0
  202. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/graph.py +0 -0
  203. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/hashes.py +0 -0
  204. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/hex.py +0 -0
  205. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/imap.py +0 -0
  206. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/index.py +0 -0
  207. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/infosec.py +0 -0
  208. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/ipv6.py +0 -0
  209. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/iters.py +0 -0
  210. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/json.py +0 -0
  211. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/log.py +0 -0
  212. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/macro.py +0 -0
  213. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/math.py +0 -0
  214. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/mime.py +0 -0
  215. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/model.py +0 -0
  216. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/modelext.py +0 -0
  217. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/notifications.py +0 -0
  218. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/oauth.py +0 -0
  219. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/pack.py +0 -0
  220. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/project.py +0 -0
  221. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/random.py +0 -0
  222. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/scrape.py +0 -0
  223. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/smtp.py +0 -0
  224. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/spooled.py +0 -0
  225. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/stats.py +0 -0
  226. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/stix.py +0 -0
  227. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/storm.py +0 -0
  228. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/tabular.py +0 -0
  229. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/utils.py +0 -0
  230. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/version.py +0 -0
  231. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/xml.py +0 -0
  232. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormlib/yaml.py +0 -0
  233. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/stormwhois.py +0 -0
  234. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/structlog.py +0 -0
  235. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/thishost.py +0 -0
  236. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/thisplat.py +0 -0
  237. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/threads.py +0 -0
  238. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/trigger.py +0 -0
  239. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/types.py +0 -0
  240. {synapse-2.207.0 → synapse-2.208.0}/synapse/lib/urlhelp.py +0 -0
  241. {synapse-2.207.0 → synapse-2.208.0}/synapse/lookup/__init__.py +0 -0
  242. {synapse-2.207.0 → synapse-2.208.0}/synapse/lookup/cvss.py +0 -0
  243. {synapse-2.207.0 → synapse-2.208.0}/synapse/lookup/iana.py +0 -0
  244. {synapse-2.207.0 → synapse-2.208.0}/synapse/lookup/iso3166.py +0 -0
  245. {synapse-2.207.0 → synapse-2.208.0}/synapse/lookup/macho.py +0 -0
  246. {synapse-2.207.0 → synapse-2.208.0}/synapse/lookup/pe.py +0 -0
  247. {synapse-2.207.0 → synapse-2.208.0}/synapse/lookup/phonenum.py +0 -0
  248. {synapse-2.207.0 → synapse-2.208.0}/synapse/lookup/timezones.py +0 -0
  249. {synapse-2.207.0 → synapse-2.208.0}/synapse/mindmeld.py +0 -0
  250. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/__init__.py +0 -0
  251. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/auth.py +0 -0
  252. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/base.py +0 -0
  253. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/belief.py +0 -0
  254. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/biz.py +0 -0
  255. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/crypto.py +0 -0
  256. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/dns.py +0 -0
  257. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/doc.py +0 -0
  258. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/economic.py +0 -0
  259. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/entity.py +0 -0
  260. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/files.py +0 -0
  261. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/geopol.py +0 -0
  262. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/geospace.py +0 -0
  263. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/gov/__init__.py +0 -0
  264. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/gov/cn.py +0 -0
  265. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/gov/intl.py +0 -0
  266. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/gov/us.py +0 -0
  267. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/inet.py +0 -0
  268. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/infotech.py +0 -0
  269. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/language.py +0 -0
  270. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/material.py +0 -0
  271. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/math.py +0 -0
  272. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/media.py +0 -0
  273. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/orgs.py +0 -0
  274. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/person.py +0 -0
  275. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/planning.py +0 -0
  276. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/proj.py +0 -0
  277. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/risk.py +0 -0
  278. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/science.py +0 -0
  279. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/syn.py +0 -0
  280. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/telco.py +0 -0
  281. {synapse-2.207.0 → synapse-2.208.0}/synapse/models/transport.py +0 -0
  282. {synapse-2.207.0 → synapse-2.208.0}/synapse/servers/__init__.py +0 -0
  283. {synapse-2.207.0 → synapse-2.208.0}/synapse/servers/aha.py +0 -0
  284. {synapse-2.207.0 → synapse-2.208.0}/synapse/servers/axon.py +0 -0
  285. {synapse-2.207.0 → synapse-2.208.0}/synapse/servers/cell.py +0 -0
  286. {synapse-2.207.0 → synapse-2.208.0}/synapse/servers/cortex.py +0 -0
  287. {synapse-2.207.0 → synapse-2.208.0}/synapse/servers/cryotank.py +0 -0
  288. {synapse-2.207.0 → synapse-2.208.0}/synapse/servers/jsonstor.py +0 -0
  289. {synapse-2.207.0 → synapse-2.208.0}/synapse/servers/stemcell.py +0 -0
  290. {synapse-2.207.0 → synapse-2.208.0}/synapse/telepath.py +0 -0
  291. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/__init__.py +0 -0
  292. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/TestUtilsGetrefs.test_basics.yaml +0 -0
  293. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/__init__.py +0 -0
  294. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/aha/certs/cas/synapse.crt +0 -0
  295. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/aha/certs/cas/synapse.key +0 -0
  296. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.crt +0 -0
  297. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.key +0 -0
  298. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/aha/certs/users/root@synapse.crt +0 -0
  299. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/aha/certs/users/root@synapse.key +0 -0
  300. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/attack_flow/CISA AA22-138B VMWare Workspace (Alt).json +0 -0
  301. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/attack_flow/CISA_Iranian_APT.json +0 -0
  302. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/certdir/cas/ca.crt +0 -0
  303. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/certdir/cas/ca.key +0 -0
  304. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/certdir/hosts/localhost.crt +0 -0
  305. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/certdir/hosts/localhost.key +0 -0
  306. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/certdir/users/root.crt +0 -0
  307. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/certdir/users/root.key +0 -0
  308. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/certdir/users/user.crt +0 -0
  309. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/certdir/users/user.key +0 -0
  310. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/changelog/model_2.176.0_16ee721a6b7221344eaf946c3ab4602dda546b1a.yaml.gz +0 -0
  311. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/changelog/model_2.176.0_2a25c58bbd344716cd7cbc3f4304d8925b0f4ef2.yaml.gz +0 -0
  312. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/cpedata.json +0 -0
  313. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/rstorm/httpresp1.json +0 -0
  314. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/rstorm/httpresp2.json +0 -0
  315. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/rstorm/httpresp3.json +0 -0
  316. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/rstorm/httprespmulti.yaml +0 -0
  317. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/rstorm/testsvc.py +0 -0
  318. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stix_export/basic.json +0 -0
  319. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stix_export/custom0.json +0 -0
  320. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stix_export/risk0.json +0 -0
  321. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stix_import/apt1.json +0 -0
  322. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stix_import/oasis-example-00.json +0 -0
  323. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormcov/argvquery.storm +0 -0
  324. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormcov/dupesubs.storm +0 -0
  325. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormcov/lookup.storm +0 -0
  326. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormcov/pivot.storm +0 -0
  327. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormcov/pragma-nocov.storm +0 -0
  328. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormcov/spin.storm +0 -0
  329. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormcov/stormctrl.storm +0 -0
  330. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormmod/common +0 -0
  331. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormpkg/badapidef.yaml +0 -0
  332. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormpkg/badcmdname.yaml +0 -0
  333. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormpkg/badendpoints.yaml +0 -0
  334. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormpkg/badjsonpkg.yaml +0 -0
  335. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormpkg/docs/foobar.md +0 -0
  336. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormpkg/docs/foobar.svg +0 -0
  337. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormpkg/dotstorm/dotstorm.yaml +0 -0
  338. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormpkg/dotstorm/storm/commands/dotstorm.bar.storm +0 -0
  339. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormpkg/dotstorm/storm/modules/dotstorm.foo.storm +0 -0
  340. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormpkg/nocontent.yaml +0 -0
  341. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormpkg/nomime.yaml +0 -0
  342. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormpkg/nopath.yaml +0 -0
  343. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormpkg/nosuchfile.yaml +0 -0
  344. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormpkg/notitle.yaml +0 -0
  345. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormpkg/optic/index.html +0 -0
  346. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormpkg/storm/commands/invalidCMD +0 -0
  347. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormpkg/storm/commands/testpkg.baz +0 -0
  348. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormpkg/storm/commands/testpkgcmd +0 -0
  349. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormpkg/storm/modules/apimod +0 -0
  350. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormpkg/storm/modules/testmod +0 -0
  351. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormpkg/testpkg.yaml +0 -0
  352. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormpkg/workflows/testpkg-bam.newp +0 -0
  353. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormpkg/workflows/testpkg-baz.yaml +0 -0
  354. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/stormpkg/workflows/testpkg-foo.yaml +0 -0
  355. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/test.dat +0 -0
  356. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/files/testcore/cell.yaml +0 -0
  357. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/nopmod.py +0 -0
  358. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_axon.py +0 -0
  359. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_cmds_boss.py +0 -0
  360. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_cmds_cortex.py +0 -0
  361. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_cmds_hive.py +0 -0
  362. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_common.py +0 -0
  363. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_cryotank.py +0 -0
  364. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_daemon.py +0 -0
  365. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_data.py +0 -0
  366. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_exc.py +0 -0
  367. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_glob.py +0 -0
  368. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_init.py +0 -0
  369. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_agenda.py +0 -0
  370. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_aha.py +0 -0
  371. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_auth.py +0 -0
  372. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_autodoc.py +0 -0
  373. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_base.py +0 -0
  374. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_cache.py +0 -0
  375. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_cell.py +0 -0
  376. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_certdir.py +0 -0
  377. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_chop.py +0 -0
  378. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_cli.py +0 -0
  379. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_config.py +0 -0
  380. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_const.py +0 -0
  381. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_coro.py +0 -0
  382. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_crypto_coin.py +0 -0
  383. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_crypto_ecc.py +0 -0
  384. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_crypto_passwd.py +0 -0
  385. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_crypto_tinfoil.py +0 -0
  386. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_datfile.py +0 -0
  387. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_dyndeps.py +0 -0
  388. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_encoding.py +0 -0
  389. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_gis.py +0 -0
  390. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_grammar.py +0 -0
  391. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_hashitem.py +0 -0
  392. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_hashset.py +0 -0
  393. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_health.py +0 -0
  394. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_hive.py +0 -0
  395. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_httpapi.py +0 -0
  396. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_interval.py +0 -0
  397. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_json.py +0 -0
  398. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_jsonstor.py +0 -0
  399. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_layer.py +0 -0
  400. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_link.py +0 -0
  401. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_lmdbslab.py +0 -0
  402. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_modelrev.py +0 -0
  403. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_module.py +0 -0
  404. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_msgpack.py +0 -0
  405. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_multislabseqn.py +0 -0
  406. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_node.py +0 -0
  407. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_output.py +0 -0
  408. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_platforms_linux.py +0 -0
  409. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_queue.py +0 -0
  410. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_ratelimit.py +0 -0
  411. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_reflect.py +0 -0
  412. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_rstorm.py +0 -0
  413. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_scope.py +0 -0
  414. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_scrape.py +0 -0
  415. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_slaboffs.py +0 -0
  416. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_slabseqn.py +0 -0
  417. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_snap.py +0 -0
  418. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_spooled.py +0 -0
  419. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_storm_format.py +0 -0
  420. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormctrl.py +0 -0
  421. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_aha.py +0 -0
  422. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_auth.py +0 -0
  423. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_backup.py +0 -0
  424. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_basex.py +0 -0
  425. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_cell.py +0 -0
  426. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_compression.py +0 -0
  427. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_cortex.py +0 -0
  428. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_easyperm.py +0 -0
  429. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_env.py +0 -0
  430. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_ethereum.py +0 -0
  431. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_gen.py +0 -0
  432. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_gis.py +0 -0
  433. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_hashes.py +0 -0
  434. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_hex.py +0 -0
  435. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_imap.py +0 -0
  436. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_index.py +0 -0
  437. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_infosec.py +0 -0
  438. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_ipv6.py +0 -0
  439. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_iters.py +0 -0
  440. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_json.py +0 -0
  441. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_log.py +0 -0
  442. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_macro.py +0 -0
  443. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_mime.py +0 -0
  444. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_model.py +0 -0
  445. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_modelext.py +0 -0
  446. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_oauth.py +0 -0
  447. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_pack.py +0 -0
  448. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_random.py +0 -0
  449. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_smtp.py +0 -0
  450. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_spooled.py +0 -0
  451. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_stats.py +0 -0
  452. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_stix.py +0 -0
  453. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_tabular.py +0 -0
  454. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_utils.py +0 -0
  455. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_vault.py +0 -0
  456. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_xml.py +0 -0
  457. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormlib_yaml.py +0 -0
  458. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_stormwhois.py +0 -0
  459. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_structlog.py +0 -0
  460. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_task.py +0 -0
  461. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_thishost.py +0 -0
  462. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_time.py +0 -0
  463. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_types.py +0 -0
  464. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_urlhelp.py +0 -0
  465. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lib_version.py +0 -0
  466. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lookup_iso3166.py +0 -0
  467. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_lookup_phonenum.py +0 -0
  468. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_mindmeld.py +0 -0
  469. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_auth.py +0 -0
  470. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_base.py +0 -0
  471. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_belief.py +0 -0
  472. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_biz.py +0 -0
  473. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_crypto.py +0 -0
  474. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_dns.py +0 -0
  475. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_doc.py +0 -0
  476. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_economic.py +0 -0
  477. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_files.py +0 -0
  478. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_geopol.py +0 -0
  479. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_geospace.py +0 -0
  480. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_gov_cn.py +0 -0
  481. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_gov_intl.py +0 -0
  482. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_gov_us.py +0 -0
  483. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_inet.py +0 -0
  484. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_infotech.py +0 -0
  485. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_language.py +0 -0
  486. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_material.py +0 -0
  487. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_math.py +0 -0
  488. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_media.py +0 -0
  489. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_orgs.py +0 -0
  490. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_person.py +0 -0
  491. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_planning.py +0 -0
  492. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_proj.py +0 -0
  493. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_risk.py +0 -0
  494. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_science.py +0 -0
  495. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_syn.py +0 -0
  496. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_telco.py +0 -0
  497. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_model_transport.py +0 -0
  498. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_servers_axon.py +0 -0
  499. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_servers_cortex.py +0 -0
  500. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_servers_cryotank.py +0 -0
  501. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_servers_stemcell.py +0 -0
  502. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_servers_univ.py +0 -0
  503. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_telepath.py +0 -0
  504. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_aha.py +0 -0
  505. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_apikey.py +0 -0
  506. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_autodoc.py +0 -0
  507. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_axon2axon.py +0 -0
  508. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_backup.py +0 -0
  509. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_cellauth.py +0 -0
  510. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_changelog.py +0 -0
  511. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_cryo_cat.py +0 -0
  512. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_cryo_list.py +0 -0
  513. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_docker_validate.py +0 -0
  514. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_easycert.py +0 -0
  515. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_feed.py +0 -0
  516. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_genpkg.py +0 -0
  517. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_guid.py +0 -0
  518. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_healthcheck.py +0 -0
  519. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_hiveload.py +0 -0
  520. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_hivesave.py +0 -0
  521. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_json2mpk.py +0 -0
  522. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_livebackup.py +0 -0
  523. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_modrole.py +0 -0
  524. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_moduser.py +0 -0
  525. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_promote.py +0 -0
  526. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_pullfile.py +0 -0
  527. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_pushfile.py +0 -0
  528. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_reload.py +0 -0
  529. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_rstorm.py +0 -0
  530. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_snapshot.py +0 -0
  531. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_tools_storm.py +0 -0
  532. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_utils.py +0 -0
  533. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_utils_getrefs.py +0 -0
  534. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/test_utils_stormcov.py +0 -0
  535. {synapse-2.207.0 → synapse-2.208.0}/synapse/tests/utils.py +0 -0
  536. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/__init__.py +0 -0
  537. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/aha/__init__.py +0 -0
  538. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/aha/clone.py +0 -0
  539. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/aha/easycert.py +0 -0
  540. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/aha/enroll.py +0 -0
  541. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/aha/list.py +0 -0
  542. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/aha/mirror.py +0 -0
  543. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/aha/provision/__init__.py +0 -0
  544. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/aha/provision/service.py +0 -0
  545. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/aha/provision/user.py +0 -0
  546. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/apikey.py +0 -0
  547. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/autodoc.py +0 -0
  548. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/axon2axon.py +0 -0
  549. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/backup.py +0 -0
  550. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/cellauth.py +0 -0
  551. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/changelog.py +0 -0
  552. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/cmdr.py +0 -0
  553. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/cryo/__init__.py +0 -0
  554. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/cryo/cat.py +0 -0
  555. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/cryo/list.py +0 -0
  556. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/csvtool.py +0 -0
  557. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/docker/__init__.py +0 -0
  558. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/docker/validate.py +0 -0
  559. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/easycert.py +0 -0
  560. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/feed.py +0 -0
  561. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/genpkg.py +0 -0
  562. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/guid.py +0 -0
  563. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/healthcheck.py +0 -0
  564. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/hive/__init__.py +0 -0
  565. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/hive/load.py +0 -0
  566. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/hive/save.py +0 -0
  567. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/json2mpk.py +0 -0
  568. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/livebackup.py +0 -0
  569. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/modrole.py +0 -0
  570. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/moduser.py +0 -0
  571. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/promote.py +0 -0
  572. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/pullfile.py +0 -0
  573. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/pushfile.py +0 -0
  574. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/reload.py +0 -0
  575. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/rstorm.py +0 -0
  576. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/snapshot.py +0 -0
  577. {synapse-2.207.0 → synapse-2.208.0}/synapse/tools/storm.py +0 -0
  578. {synapse-2.207.0 → synapse-2.208.0}/synapse/utils/__init__.py +0 -0
  579. {synapse-2.207.0 → synapse-2.208.0}/synapse/utils/getrefs.py +0 -0
  580. {synapse-2.207.0 → synapse-2.208.0}/synapse/utils/stormcov/__init__.py +0 -0
  581. {synapse-2.207.0 → synapse-2.208.0}/synapse/utils/stormcov/plugin.py +0 -0
  582. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/__init__.py +0 -0
  583. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/cashaddress/LICENSE +0 -0
  584. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/cashaddress/__init__.py +0 -0
  585. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/cashaddress/base58.py +0 -0
  586. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/cashaddress/convert.py +0 -0
  587. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/cashaddress/crypto.py +0 -0
  588. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/cashaddress/tests/__init__.py +0 -0
  589. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/cashaddress/tests/test_cashaddress.py +0 -0
  590. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/cpython/LICENSE +0 -0
  591. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/cpython/__init__.py +0 -0
  592. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/cpython/lib/__init__.py +0 -0
  593. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/cpython/lib/email/__init__.py +0 -0
  594. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/cpython/lib/email/_parseaddr.py +0 -0
  595. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/cpython/lib/email/utils.py +0 -0
  596. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/cpython/lib/http/__init__.py +0 -0
  597. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/cpython/lib/http/cookies.py +0 -0
  598. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/cpython/lib/ipaddress.py +0 -0
  599. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/cpython/lib/json.py +0 -0
  600. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/cpython/lib/test/__init__.py +0 -0
  601. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/cpython/lib/test/support/__init__.py +0 -0
  602. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/cpython/lib/test/test_email/__init__.py +0 -0
  603. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/cpython/lib/test/test_email/test_email.py +0 -0
  604. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/cpython/lib/test/test_email/test_utils.py +0 -0
  605. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/cpython/lib/test/test_http_cookies.py +0 -0
  606. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/cpython/lib/test/test_ipaddress.py +0 -0
  607. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/cpython/lib/test/test_json.py +0 -0
  608. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/substrateinterface/LICENSE +0 -0
  609. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/substrateinterface/__init__.py +0 -0
  610. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/substrateinterface/tests/__init__.py +0 -0
  611. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/substrateinterface/tests/test_ss58.py +0 -0
  612. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/substrateinterface/utils/__init__.py +0 -0
  613. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/substrateinterface/utils/ss58.py +0 -0
  614. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/utils.py +0 -0
  615. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/xrpl/LICENSE +0 -0
  616. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/xrpl/__init__.py +0 -0
  617. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/xrpl/constants.py +0 -0
  618. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/xrpl/core/__init__.py +0 -0
  619. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/xrpl/core/addresscodec/__init__.py +0 -0
  620. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/xrpl/core/addresscodec/codec.py +0 -0
  621. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/xrpl/core/addresscodec/exceptions.py +0 -0
  622. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/xrpl/core/addresscodec/main.py +0 -0
  623. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/xrpl/core/addresscodec/utils.py +0 -0
  624. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/xrpl/tests/__init__.py +0 -0
  625. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/xrpl/tests/test_codec.py +0 -0
  626. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/xrpl/tests/test_main.py +0 -0
  627. {synapse-2.207.0 → synapse-2.208.0}/synapse/vendor/xrpl/tests/test_main_test_cases.py +0 -0
  628. {synapse-2.207.0 → synapse-2.208.0}/synapse.egg-info/SOURCES.txt +0 -0
  629. {synapse-2.207.0 → synapse-2.208.0}/synapse.egg-info/dependency_links.txt +0 -0
  630. {synapse-2.207.0 → synapse-2.208.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.207.0
3
+ Version: 2.208.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
@@ -32,22 +32,22 @@ Requires-Dist: aioimaplib<1.2.0,>=1.1.0
32
32
  Requires-Dist: aiosmtplib<3.1.0,>=3.0.0
33
33
  Requires-Dist: prompt_toolkit<3.1.0,>=3.0.29
34
34
  Requires-Dist: lark==1.2.2
35
- Requires-Dist: Pygments<2.18.0,>=2.7.4
35
+ Requires-Dist: Pygments<2.20.0,>=2.7.4
36
36
  Requires-Dist: packaging<25.0,>=20.0
37
- Requires-Dist: fastjsonschema<2.20.0,>=2.18.0
37
+ Requires-Dist: fastjsonschema<2.22.0,>=2.20.0
38
38
  Requires-Dist: stix2-validator<4.0.0,>=3.2.0
39
39
  Requires-Dist: vcrpy<5.2.0,>=4.3.1
40
40
  Requires-Dist: base58<2.2.0,>=2.1.0
41
41
  Requires-Dist: python-bitcoinlib<0.13.0,>=0.11.0
42
- Requires-Dist: pycryptodome<3.22.0,>=3.11.0
42
+ Requires-Dist: pycryptodome<3.23.0,>=3.11.0
43
43
  Requires-Dist: typing-extensions<5.0.0,>=3.7.4
44
44
  Requires-Dist: scalecodec<1.3.0,>=1.0.2
45
45
  Requires-Dist: cbor2<5.7.0,>=5.4.1
46
46
  Requires-Dist: bech32==1.2.0
47
47
  Requires-Dist: oauthlib<4.0.0,>=3.2.1
48
- Requires-Dist: idna<3.8,>=3.6
48
+ Requires-Dist: idna<3.11,>=3.6
49
49
  Requires-Dist: python-dateutil<3.0,>=2.8
50
- Requires-Dist: pytz<2024.1,>=2023.3
50
+ Requires-Dist: pytz<2025.3,>=2023.3
51
51
  Requires-Dist: beautifulsoup4[html5lib]<5.0,>=4.11.1
52
52
  Requires-Dist: orjson<4.0,>=3.10.15
53
53
  Provides-Extra: dev
@@ -4,7 +4,7 @@ build-backend = 'setuptools.build_meta'
4
4
 
5
5
  [project]
6
6
  name = 'synapse'
7
- version = '2.207.0'
7
+ version = '2.208.0'
8
8
  authors = [
9
9
  { name = 'The Vertex Project LLC', email = 'root@vertex.link'},
10
10
  ]
@@ -36,22 +36,22 @@ dependencies = [
36
36
  'aiosmtplib>=3.0.0,<3.1.0',
37
37
  'prompt_toolkit>=3.0.29,<3.1.0',
38
38
  'lark==1.2.2',
39
- 'Pygments>=2.7.4,<2.18.0',
39
+ 'Pygments>=2.7.4,<2.20.0',
40
40
  'packaging>=20.0,<25.0',
41
- 'fastjsonschema>=2.18.0,<2.20.0',
41
+ 'fastjsonschema>=2.20.0,<2.22.0',
42
42
  'stix2-validator>=3.2.0,<4.0.0',
43
43
  'vcrpy>=4.3.1,<5.2.0',
44
44
  'base58>=2.1.0,<2.2.0',
45
45
  'python-bitcoinlib>=0.11.0,<0.13.0',
46
- 'pycryptodome>=3.11.0,<3.22.0',
46
+ 'pycryptodome>=3.11.0,<3.23.0',
47
47
  'typing-extensions>=3.7.4,<5.0.0', # synapse.vendor.xrpl req
48
48
  'scalecodec>=1.0.2,<1.3.0', # synapse.vendor.substrateinterface req
49
49
  'cbor2>=5.4.1,<5.7.0',
50
50
  'bech32==1.2.0',
51
51
  'oauthlib>=3.2.1,<4.0.0',
52
- 'idna>=3.6,<3.8',
52
+ 'idna>=3.6,<3.11',
53
53
  'python-dateutil>=2.8,<3.0',
54
- 'pytz>=2023.3,<2024.1',
54
+ 'pytz>=2023.3,<2025.3',
55
55
  'beautifulsoup4[html5lib]>=4.11.1,<5.0',
56
56
  'orjson>=3.10.15,<4.0'
57
57
  ]
@@ -1581,6 +1581,9 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
1581
1581
  for layer in self.layers.values():
1582
1582
  await layer.initLayerActive()
1583
1583
 
1584
+ for pkgdef in list(self.stormpkgs.values()):
1585
+ self._runStormPkgOnload(pkgdef)
1586
+
1584
1587
  self.runActiveTask(_runMigrations())
1585
1588
 
1586
1589
  await self.initStormPool()
@@ -2638,6 +2641,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
2638
2641
  return
2639
2642
 
2640
2643
  self.loadStormPkg(pkgdef)
2644
+ self._runStormPkgOnload(pkgdef)
2641
2645
  self.pkgdefs.set(name, pkgdef)
2642
2646
 
2643
2647
  self._clearPermDefs()
@@ -2929,9 +2933,13 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
2929
2933
  self._initEasyPerm(gdef)
2930
2934
  self.pkggraphs[gdef['iden']] = gdef
2931
2935
 
2936
+ def _runStormPkgOnload(self, pkgdef):
2937
+ name = pkgdef.get('name')
2932
2938
  onload = pkgdef.get('onload')
2939
+
2933
2940
  if onload is not None and self.isactive:
2934
2941
  async def _onload():
2942
+ await self.fire('core:pkg:onload:start', pkg=name)
2935
2943
  try:
2936
2944
  async for mesg in self.storm(onload):
2937
2945
  if mesg[0] == 'print':
@@ -2943,10 +2951,11 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
2943
2951
  await asyncio.sleep(0)
2944
2952
  except asyncio.CancelledError: # pragma: no cover
2945
2953
  raise
2946
- except Exception: # pragma: no cover
2947
- logger.warning(f'onload failed for package: {name}')
2954
+ except Exception as exc: # pragma: no cover
2955
+ logger.warning(f'onload failed for package: {name}', exc_info=exc)
2948
2956
  await self.fire('core:pkg:onload:complete', pkg=name)
2949
- self.schedCoro(_onload())
2957
+
2958
+ self.runActiveTask(_onload())
2950
2959
 
2951
2960
  # N.B. This function is intentionally not async in order to prevent possible user race conditions for code
2952
2961
  # executing outside of the nexus lock.
@@ -10,6 +10,10 @@ class Boss(s_base.Base):
10
10
 
11
11
  '''
12
12
  An object to track "promoted" async tasks.
13
+
14
+ Promoted tasks are asyncio tasks, wrapped in a synapse task
15
+ (``s_task.Task``), that are visible to storm users via the task tracking
16
+ libs/commands such as ``ps.list`` and ``$lib.ps.list()``.
13
17
  '''
14
18
  async def __anit__(self):
15
19
  await s_base.Base.__anit__(self)
@@ -45,7 +49,7 @@ class Boss(s_base.Base):
45
49
 
46
50
  async def promotetask(self, task, name, user, info=None, taskiden=None):
47
51
 
48
- synt = getattr(task, '_syn_task', None)
52
+ synt = s_task.syntask(task)
49
53
 
50
54
  if synt is not None:
51
55
 
@@ -1466,6 +1466,7 @@ class ModelMigration_0_2_31:
1466
1466
  if (v2_2 := props.get('v2_2')) is not None:
1467
1467
  propvalu, stortype = v2_2
1468
1468
  if not s_infotech.isValidCpe22(propvalu):
1469
+ logger.debug(f'Queueing invalid v2_2 value for deletion iden={s_common.ehex(buid)} valu={propvalu}')
1469
1470
  await self._queueEdit(
1470
1471
  layer.iden,
1471
1472
  (buid, 'it:sec:cpe', (
@@ -1622,10 +1623,25 @@ class ModelMigration_0_2_31:
1622
1623
  if propvalu is not None:
1623
1624
  break
1624
1625
 
1625
- newvalu, _ = form.type.norm(propvalu)
1626
- await self.moveNode(buid, newvalu)
1626
+ if propvalu is None: # pragma: no cover
1627
+ # We didn't find a v2_2 value so remove this node
1628
+ await self.removeNode(buid)
1629
+ removed += 1
1630
+
1631
+ else:
1632
+ # We did find a v2_2 value so try to norm it and use that new value to move the node. If this fails,
1633
+ # remove the node.
1634
+ try:
1635
+ newvalu, _ = form.type.norm(propvalu)
1627
1636
 
1628
- migrated += 1
1637
+ except s_exc.BadTypeValu: # pragma: no cover
1638
+ logger.debug('Unexpectedly encountered invalid v2_2 prop: iden=%s valu=%s', s_common.ehex(buid), propvalu)
1639
+ await self.removeNode(buid)
1640
+ removed += 1
1641
+
1642
+ else:
1643
+ await self.moveNode(buid, newvalu)
1644
+ migrated += 1
1629
1645
 
1630
1646
  elif action == 'remove':
1631
1647
  newvalu = None
@@ -1636,10 +1652,17 @@ class ModelMigration_0_2_31:
1636
1652
  if propvalu is None:
1637
1653
  continue
1638
1654
 
1639
- newvalu, _ = form.type.norm(propvalu)
1640
1655
  # This prop is going to be the new primary value so delete the secondary prop
1641
1656
  await self.editPropDel(layriden, buid, 'it:sec:cpe', 'v2_2', propvalu, stortype)
1642
1657
 
1658
+ # We did find a v2_2 value so try to norm it and use that new value to move the node. If this fails,
1659
+ # remove the node.
1660
+ try:
1661
+ newvalu, _ = form.type.norm(propvalu)
1662
+ except s_exc.BadTypeValu: # pragma: no cover
1663
+ logger.debug('Unexpectedly encountered invalid v2_2 prop: iden=%s valu=%s', s_common.ehex(buid), propvalu)
1664
+ continue
1665
+
1643
1666
  # Oh yeah! Migrate the node instead of removing it
1644
1667
  await self.moveNode(buid, newvalu)
1645
1668
 
@@ -5,7 +5,7 @@
5
5
  %ignore CPPCOMMENT
6
6
  %ignore WS
7
7
 
8
- WS: /[\s]/+
8
+ WS.-1: /[\s]/+
9
9
 
10
10
  // C comment: /* */
11
11
  // From https://stackoverflow.com/a/36328890/6518334
@@ -466,7 +466,7 @@ TRIPLEQUOTEDSTRING: /'''.*?'''/s
466
466
  DOUBLEQUOTEDSTRING: ESCAPED_STRING
467
467
  SINGLEQUOTEDSTRING: /'[^']*'(?!')/
468
468
 
469
- FORMATTEXT: /[^`{].*?(?<!\\)(\\\\)*?(?=[`{])/s
469
+ FORMATTEXT.-1: /((?<!\\)(\\\\)*\\[`{]|[^`{])+/s
470
470
  _formatexpr: "{" expror "}"
471
471
  formatstring: "`" (_formatexpr | FORMATTEXT)* "`"
472
472
 
@@ -507,7 +507,7 @@ stormcmds = (
507
507
  if ( $defv = $lib.null ) {
508
508
  $defv = $lib.false
509
509
  }
510
- $text = `{$lib.str.join('.', $permdef.perm).ljust(32)} : {$permdef.desc} ( default: {$defv} )`
510
+ $text = `{('.').join($permdef.perm).ljust(32)} : {$permdef.desc} ( default: {$defv} )`
511
511
  $lib.print($text)
512
512
  }
513
513
  } else {
@@ -594,7 +594,7 @@ stormcmds = (
594
594
  $ssl = $lib.true
595
595
  if $cmdopts.ssl_noverify { $ssl = $lib.false }
596
596
 
597
- $headers = ({'X-Synapse-Version': $lib.str.join('.', $lib.version.synapse())})
597
+ $headers = ({'X-Synapse-Version': ('.').join($lib.version.synapse())})
598
598
 
599
599
  $resp = $lib.inet.http.get($cmdopts.url, ssl_verify=$ssl, headers=$headers)
600
600
 
@@ -629,7 +629,7 @@ stormcmds = (
629
629
  $synv = $lib.version.synapse()
630
630
 
631
631
  if $synv {
632
- $synv = $lib.str.join('.', $synv)
632
+ $synv = ('.').join($synv)
633
633
  }
634
634
 
635
635
  if $comm {
@@ -1078,8 +1078,8 @@ stormcmds = (
1078
1078
  $lib.print('entries: incunit incval required')
1079
1079
 
1080
1080
  for $rec in $job.recs {
1081
- $incunit = $lib.str.format('{incunit}', incunit=$rec.incunit).ljust(10)
1082
- $incval = $lib.str.format('{incval}', incval=$rec.incval).ljust(6)
1081
+ $incunit = (`{$rec.incunit}`).ljust(10)
1082
+ $incval = (`{$rec.incval}`).ljust(6)
1083
1083
 
1084
1084
  $lib.print(' {incunit} {incval} {reqdict}',
1085
1085
  incunit=$incunit, incval=$incval, reqdict=$rec.reqdict)
@@ -589,7 +589,7 @@ stormcmds = (
589
589
  'storm': '''
590
590
 
591
591
  for $pdef in $lib.auth.getPermDefs() {
592
- $perm = $lib.str.join(".", $pdef.perm)
592
+ $perm = ('.').join($pdef.perm)
593
593
 
594
594
  if $cmdopts.find {
595
595
  $find = $cmdopts.find.lower()
@@ -107,7 +107,7 @@ stormcmds = [
107
107
  if $perms {
108
108
  $lib.print('The following user permissions are required to run this HTTP API endpoint:')
109
109
  for $pdef in $perms {
110
- $perm = $lib.str.join(".", $pdef.perm)
110
+ $perm = ('.').join($pdef.perm)
111
111
  $lib.print($perm)
112
112
  $lib.print(` default: {$pdef.default}`)
113
113
  }
@@ -272,7 +272,7 @@ stormcmds = (
272
272
  $levels.append($key)
273
273
  }
274
274
 
275
- $levels = $lib.str.join(", ", $levels)
275
+ $levels = (', ').join($levels)
276
276
 
277
277
  $lib.exit(`Invalid level specified: {$cmdopts.level}. Level must be one of: {$levels}.`)
278
278
  }
@@ -68,7 +68,7 @@ stormcmds = (
68
68
  if $sname {} else { $sname = 'Unknown' }
69
69
  $svers = $sdef.svcvers
70
70
  if $svers {
71
- $svers = $lib.str.join('.', $svers)
71
+ $svers = ('.').join($svers)
72
72
  } else {
73
73
  $svers = 'Unknown'
74
74
  }
@@ -1308,7 +1308,7 @@ class LibBase(Lib):
1308
1308
  storm> if $lib.false { $lib.print('Is True') } else { $lib.print('Is False') }
1309
1309
  Is False''',
1310
1310
  'type': 'boolean', },
1311
- {'name': 'text', 'desc': 'Get a Storm Text object. This is deprecated; please use a list to append strings to, and then use ``$lib.str.join()`` to join them on demand.',
1311
+ {'name': 'text', 'desc': "Get a Storm Text object. This is deprecated; please use a list to append strings to, and then use ``('.').join($listOfStr)`` to join them on demand.",
1312
1312
  'deprecated': {'eolvers': '3.0.0'},
1313
1313
  'type': {'type': 'function', '_funcname': '_text',
1314
1314
  'args': (
@@ -1691,7 +1691,7 @@ class LibBase(Lib):
1691
1691
  s_common.deprecated('$lib.text()', curv='2.194.0')
1692
1692
  runt = s_scope.get('runt')
1693
1693
  if runt:
1694
- await runt.snap.warnonce('$lib.text() is deprecated. Please use a list to append strings to, and then use ``$lib.str.join()`` to join them on demand.')
1694
+ await runt.snap.warnonce("$lib.text() is deprecated. Please use a list to append strings to, and then use ``('').join($listOfStr)`` to join them on demand.")
1695
1695
  valu = ''.join(args)
1696
1696
  return Text(valu)
1697
1697
 
@@ -2023,15 +2023,8 @@ class LibStr(Lib):
2023
2023
  A Storm Library for interacting with strings.
2024
2024
  '''
2025
2025
  _storm_locals = (
2026
- {'name': 'join', 'desc': '''
2027
- Join items into a string using a separator.
2028
-
2029
- Examples:
2030
- Join together a list of strings with a dot separator::
2031
-
2032
- storm> $foo=$lib.str.join('.', ('rep', 'vtx', 'tag')) $lib.print($foo)
2033
-
2034
- rep.vtx.tag''',
2026
+ {'name': 'join', 'desc': 'Join items into a string using a separator.',
2027
+ # 'deprecated': {'eolvers': 'v3.0.0', 'mesg': 'Use ``('').join($foo, $bar, $baz, ....)`` instead.'},
2035
2028
  'type': {'type': 'function', '_funcname': 'join',
2036
2029
  'args': (
2037
2030
  {'name': 'sepr', 'type': 'str', 'desc': 'The separator used to join strings with.', },
@@ -2039,22 +2032,14 @@ class LibStr(Lib):
2039
2032
  ),
2040
2033
  'returns': {'type': 'str', 'desc': 'The joined string.', }}},
2041
2034
  {'name': 'concat', 'desc': 'Concatenate a set of strings together.',
2035
+ # 'deprecated': {'eolvers': 'v3.0.0', 'mesg': "Use ``('').join($foo, $bar, $baz, ....)`` instead."},
2042
2036
  'type': {'type': 'function', '_funcname': 'concat',
2043
2037
  'args': (
2044
2038
  {'name': '*args', 'type': 'any', 'desc': 'Items to join together.', },
2045
2039
  ),
2046
2040
  'returns': {'type': 'str', 'desc': 'The joined string.', }}},
2047
- {'name': 'format', 'desc': '''
2048
- Format a text string.
2049
-
2050
- Examples:
2051
- Format a string with a fixed argument and a variable::
2052
-
2053
- storm> $list=(1,2,3,4)
2054
- $str=$lib.str.format('Hello {name}, your list is {list}!', name='Reader', list=$list)
2055
- $lib.print($str)
2056
-
2057
- Hello Reader, your list is ['1', '2', '3', '4']!''',
2041
+ {'name': 'format', 'desc': 'Format a text string.',
2042
+ # 'deprecated': {'eolvers': 'v3.0.0', 'mesg': 'Use ``$mystr.format(foo=$bar)`` instead.'},
2058
2043
  'type': {'type': 'function', '_funcname': 'format',
2059
2044
  'args': (
2060
2045
  {'name': 'text', 'type': 'str', 'desc': 'The base text string.', },
@@ -2065,6 +2050,10 @@ class LibStr(Lib):
2065
2050
  )
2066
2051
  _storm_lib_path = ('str',)
2067
2052
 
2053
+ # _lib_str_join_depr_mesg = '$lib.str.join(), use "$sepr.join($items)" instead.'
2054
+ # _lib_str_concat_depr_mesg = "$lib.str.concat(), use ('').join($foo, $bar, $baz, ....) instead."
2055
+ # _lib_str_format_depr_mesg = '$lib.str.format(), use "$mystr.format(foo=$bar)" instead.'
2056
+
2068
2057
  def getObjLocals(self):
2069
2058
  return {
2070
2059
  'join': self.join,
@@ -2074,17 +2063,29 @@ class LibStr(Lib):
2074
2063
 
2075
2064
  @stormfunc(readonly=True)
2076
2065
  async def concat(self, *args):
2066
+ # s_common.deprecated(self._lib_str_concat_depr_mesg)
2067
+ # runt = s_scope.get('runt')
2068
+ # if runt:
2069
+ # await runt.snap.warnonce(self._lib_str_concat_depr_mesg)
2077
2070
  strs = [await tostr(a) for a in args]
2078
2071
  return ''.join(strs)
2079
2072
 
2080
2073
  @stormfunc(readonly=True)
2081
2074
  async def format(self, text, **kwargs):
2075
+ # s_common.deprecated(self._lib_str_format_depr_mesg)
2076
+ # runt = s_scope.get('runt')
2077
+ # if runt:
2078
+ # await runt.snap.warnonce(self._lib_str_format_depr_mesg)
2082
2079
  text = await kwarg_format(text, **kwargs)
2083
2080
 
2084
2081
  return text
2085
2082
 
2086
2083
  @stormfunc(readonly=True)
2087
2084
  async def join(self, sepr, items):
2085
+ # s_common.deprecated(self._lib_str_join_depr_mesg)
2086
+ # runt = s_scope.get('runt')
2087
+ # if runt:
2088
+ # await runt.snap.warnonce(self._lib_str_join_depr_mesg)
2088
2089
  strs = [await tostr(item) async for item in toiter(items)]
2089
2090
  return sepr.join(strs)
2090
2091
 
@@ -132,12 +132,18 @@ def loop():
132
132
  except Exception:
133
133
  return None
134
134
 
135
+ def syntask(task):
136
+ '''
137
+ Return the synapse task associated with the provided asyncio task.
138
+ '''
139
+ return getattr(task, '_syn_task', None)
140
+
135
141
  def current():
136
142
  '''
137
143
  Return the current synapse task.
138
144
  '''
139
145
  task = asyncio.current_task()
140
- return getattr(task, '_syn_task', None)
146
+ return syntask(task)
141
147
 
142
148
  def user():
143
149
  '''
@@ -312,5 +312,11 @@ def toUTC(tick, fromzone):
312
312
  mesg = f'Unknown timezone: {fromzone}'
313
313
  raise s_exc.BadArg(mesg=mesg) from e
314
314
 
315
- base = datetime.datetime(1970, 1, 1, tzinfo=tz) + datetime.timedelta(milliseconds=tick)
316
- return int(base.astimezone(pytz.UTC).timestamp() * 1000)
315
+ base = datetime.datetime(1970, 1, 1) + datetime.timedelta(milliseconds=tick)
316
+ try:
317
+ localized = tz.localize(base, is_dst=None)
318
+ except pytz.exceptions.AmbiguousTimeError as e:
319
+ mesg = f'Ambiguous time: {base} {fromzone}'
320
+ raise s_exc.BadArg(mesg=mesg) from e
321
+
322
+ return int(localized.astimezone(pytz.UTC).timestamp() * 1000)
@@ -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, 207, 0)
226
+ version = (2, 208, 0)
227
227
  verstring = '.'.join([str(x) for x in version])
228
- commit = 'b5307edb2fd8ba01d47f5f38bcd6033237deda7e'
228
+ commit = '2cc5a903edc504ca95e4a6b905fdb468b7e3b361'
@@ -8,6 +8,7 @@ import synapse.common as s_common
8
8
 
9
9
  import synapse.lib.cell as s_cell
10
10
  import synapse.lib.snap as s_snap
11
+ import synapse.lib.task as s_task
11
12
  import synapse.lib.layer as s_layer
12
13
  import synapse.lib.nexus as s_nexus
13
14
  import synapse.lib.scope as s_scope
@@ -1000,7 +1001,11 @@ class View(s_nexus.Pusher): # type: ignore
1000
1001
  keepalive = opts.get('keepalive')
1001
1002
  if keepalive is not None and keepalive <= 0:
1002
1003
  raise s_exc.BadArg(mesg=f'keepalive must be > 0; got {keepalive}')
1003
- synt = await self.core.boss.promote('storm', user=user, info=taskinfo, taskiden=taskiden)
1004
+
1005
+ if (synt := s_task.current()) is None:
1006
+ # we only want to promote if we aren't already a syntask because we're probably a worker task that shouldn't
1007
+ # show up in the main task list
1008
+ synt = await self.core.boss.promote('storm', user=user, info=taskinfo, taskiden=taskiden)
1004
1009
 
1005
1010
  show = opts.get('show', set())
1006
1011
 
@@ -1240,7 +1240,7 @@ class CortexTest(s_t_utils.SynTest):
1240
1240
  $ddef = $lib.dmon.add(${
1241
1241
  $lib.print(hi)
1242
1242
  $lib.warn(omg)
1243
- $s = $lib.str.format('Running {t} {i}', t=$auto.type, i=$auto.iden)
1243
+ $s = `Running {$auto.type} {$auto.iden}`
1244
1244
  $lib.log.info($s, ({"iden": $auto.iden}))
1245
1245
  $que = $lib.queue.get(foo)
1246
1246
  $que.put(done)
@@ -5224,7 +5224,7 @@ class CortexBasicTest(s_t_utils.SynTest):
5224
5224
  self.len(1, nodes)
5225
5225
  self.nn(nodes[0].getTag('bar'))
5226
5226
 
5227
- q = '[test:str=yop +#$lib.str.format("{first}.{last}", first=foo, last=bar)]'
5227
+ q = '$t="{first}.{last}" [test:str=yop +#$t.format(first=foo, last=bar)]'
5228
5228
  nodes = await core.nodes(q)
5229
5229
  self.len(1, nodes)
5230
5230
  self.nn(nodes[0].getTag('foo.bar'))
@@ -5695,7 +5695,7 @@ class CortexBasicTest(s_t_utils.SynTest):
5695
5695
  self.len(1, nodes)
5696
5696
 
5697
5697
  async def test_storm_order(self):
5698
- q = '''[test:str=foo :hehe=bar] $tvar=() $tvar.append(1) $tvar.append(:hehe) $lib.print($lib.str.join('', $tvar)) '''
5698
+ q = '''[test:str=foo :hehe=bar] $tvar=() $tvar.append(1) $tvar.append(:hehe) $lib.print(('').join($tvar)) '''
5699
5699
  async with self.getTestCore() as core:
5700
5700
  mesgs = await core.stormlist(q)
5701
5701
  self.stormIsInPrint('1bar', mesgs)
@@ -7731,7 +7731,7 @@ class CortexBasicTest(s_t_utils.SynTest):
7731
7731
  $ddef = $lib.dmon.add(${
7732
7732
  $lib.print(hi)
7733
7733
  $lib.warn(omg)
7734
- $s = $lib.str.format('Running {t} {i}', t=$auto.type, i=$auto.iden)
7734
+ $s = `Running {$auto.type} {$auto.iden}`
7735
7735
  $lib.log.info($s, ({"iden": $auto.iden}))
7736
7736
  })
7737
7737
  ''')
@@ -299,7 +299,7 @@ class DataModelTest(s_t_utils.SynTest):
299
299
  syn:type:subof=comp $opts=:opts
300
300
  -> syn:form:type $valu=$node.value()
301
301
  for ($name, $thing) in $opts.fields {
302
- $v=$lib.str.format('{v}:{t}', v=$valu, t=$name) syn:prop=$v
302
+ $v=`{$valu}:{$name}` syn:prop=$v
303
303
  }
304
304
  +syn:prop
305
305
  -:ro=1
@@ -74,9 +74,9 @@ foo_stormpkg = {
74
74
  }
75
75
 
76
76
  function outer(arg1, add) {
77
- $strbase = $lib.str.format("(Run: {c}) we got back ", c=$counter)
77
+ $strbase = `(Run: {$counter}) we got back `
78
78
  $reti = $inner($arg1, $add)
79
- $mesg = $lib.str.concat($strbase, $reti)
79
+ $mesg = `{$strbase}{$reti}`
80
80
  $counter = $( $counter + $add )
81
81
  $lib.print("foobar is {foobar}", foobar=$foobar)
82
82
  return ($mesg)
@@ -296,7 +296,7 @@ class AstTest(s_test.SynTest):
296
296
  $newvar=:hehe
297
297
  -.created
298
298
  $s.append("yar {x}", x=$newvar)
299
- $lib.print($lib.str.join('', $s))
299
+ $lib.print(('').join($s))
300
300
  '''
301
301
  mesgs = await core.stormlist(q)
302
302
  prints = [m[1]['mesg'] for m in mesgs if m[0] == 'print']
@@ -2029,7 +2029,7 @@ class AstTest(s_test.SynTest):
2029
2029
  q = '$val=$lib.base64.decode("dmlzaQ==") function x(parm1=$val) { return($parm1) }'
2030
2030
  self.len(0, await core.nodes(q))
2031
2031
 
2032
- self.eq('foo', await core.callStorm('return($lib.str.format("{func}", func=foo))'))
2032
+ self.eq('foo', await core.callStorm('$template="{func}" return($template.format(func=foo))'))
2033
2033
 
2034
2034
  msgs = await core.stormlist('$lib.null()')
2035
2035
  erfo = [m for m in msgs if m[0] == 'err'][0]
@@ -3580,7 +3580,7 @@ class AstTest(s_test.SynTest):
3580
3580
 
3581
3581
  q = '''
3582
3582
  init { $foo = bar }
3583
- init { $baz = $lib.str.format('foo={foo}', foo=$foo) }
3583
+ init { $baz = `foo={$foo}` }
3584
3584
  $lib.print($baz)
3585
3585
  '''
3586
3586
  msgs = await core.stormlist(q)
@@ -56,8 +56,8 @@ class BossTest(s_test.SynTest):
56
56
  iden = s_common.guid()
57
57
 
58
58
  async def double_promote():
59
- await boss.promote(f'double', root, taskiden=iden)
60
- await boss.promote(f'double', root, taskiden=iden + iden)
59
+ await boss.promote('double', root, taskiden=iden)
60
+ await boss.promote('double', root, taskiden=iden + iden)
61
61
 
62
62
  coro = boss.schedCoro(double_promote())
63
63
  self.true(await stream.wait(timeout=6))
@@ -385,19 +385,13 @@ class NexusTest(s_t_utils.SynTest):
385
385
  evnt = asyncio.Event()
386
386
 
387
387
  async with self.getTestCore() as core:
388
- orig = core._nexshands['view:delwithlayer'][0]
389
-
390
- async def holdlock(self, viewiden, layriden, nexsitem, newparent=None):
391
- evnt.set()
392
- await asyncio.sleep(1)
393
- await orig(self, viewiden, layriden, nexsitem, newparent=newparent)
394
-
395
- core._nexshands['view:delwithlayer'] = (holdlock, True)
396
-
397
388
  forkiden = await core.callStorm('return($lib.view.get().fork().iden)')
398
389
 
399
- core.schedCoro(core.delViewWithLayer(forkiden))
400
- await asyncio.wait_for(evnt.wait(), timeout=10)
390
+ # Remove the nexus handler for the fork's write layer to simulate a view delete/edit race
391
+ layriden = core.getView(forkiden).layers[0].iden
392
+ layr = core.nexsroot._nexskids.pop(layriden)
401
393
 
402
394
  with self.raises(s_exc.NoSuchIden):
403
395
  await core.nodes('[ it:dev:str=foo ]', opts={'view': forkiden})
396
+
397
+ core.nexsroot._nexskids[layriden] = layr