synapse 2.221.0__tar.gz → 2.223.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 (662) hide show
  1. {synapse-2.221.0/synapse.egg-info → synapse-2.223.0}/PKG-INFO +1 -1
  2. {synapse-2.221.0 → synapse-2.223.0}/pyproject.toml +1 -1
  3. {synapse-2.221.0 → synapse-2.223.0}/synapse/cortex.py +143 -44
  4. {synapse-2.221.0 → synapse-2.223.0}/synapse/cryotank.py +1 -1
  5. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/lark/storm.lark +9 -6
  6. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/ast.py +13 -5
  7. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/layer.py +18 -11
  8. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/nexus.py +1 -1
  9. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/parser.py +1 -0
  10. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/rstorm.py +19 -1
  11. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/schemas.py +4 -0
  12. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/snap.py +15 -9
  13. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/storm.py +0 -190
  14. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/auth.py +1 -1
  15. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/cortex.py +1 -1
  16. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/mime.py +15 -5
  17. synapse-2.223.0/synapse/lib/stormlib/pkg.py +598 -0
  18. synapse-2.223.0/synapse/lib/stormlib/task.py +115 -0
  19. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormtypes.py +42 -178
  20. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/trigger.py +16 -14
  21. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/version.py +2 -2
  22. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/view.py +17 -14
  23. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/files.py +1 -1
  24. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/orgs.py +3 -0
  25. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_cortex.py +1 -1
  26. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_aha.py +68 -53
  27. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_ast.py +3 -0
  28. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_cell.py +12 -12
  29. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_grammar.py +4 -4
  30. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_rstorm.py +55 -7
  31. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_storm.py +105 -249
  32. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_auth.py +84 -0
  33. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_cortex.py +1 -0
  34. synapse-2.223.0/synapse/tests/test_lib_stormlib_mime.py +82 -0
  35. synapse-2.223.0/synapse/tests/test_lib_stormlib_pkg.py +456 -0
  36. synapse-2.223.0/synapse/tests/test_lib_stormlib_task.py +98 -0
  37. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormtypes.py +25 -100
  38. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_trigger.py +66 -3
  39. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_view.py +53 -0
  40. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_files.py +11 -0
  41. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_orgs.py +6 -1
  42. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/cryo/cat.py +2 -1
  43. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/cryo/list.py +2 -0
  44. {synapse-2.221.0 → synapse-2.223.0/synapse.egg-info}/PKG-INFO +1 -1
  45. {synapse-2.221.0 → synapse-2.223.0}/synapse.egg-info/SOURCES.txt +4 -0
  46. synapse-2.221.0/synapse/tests/test_lib_stormlib_mime.py +0 -58
  47. {synapse-2.221.0 → synapse-2.223.0}/LICENSE +0 -0
  48. {synapse-2.221.0 → synapse-2.223.0}/README.rst +0 -0
  49. {synapse-2.221.0 → synapse-2.223.0}/setup.cfg +0 -0
  50. {synapse-2.221.0 → synapse-2.223.0}/synapse/__init__.py +0 -0
  51. {synapse-2.221.0 → synapse-2.223.0}/synapse/axon.py +0 -0
  52. {synapse-2.221.0 → synapse-2.223.0}/synapse/cells.py +0 -0
  53. {synapse-2.221.0 → synapse-2.223.0}/synapse/cmds/__init__.py +0 -0
  54. {synapse-2.221.0 → synapse-2.223.0}/synapse/cmds/boss.py +0 -0
  55. {synapse-2.221.0 → synapse-2.223.0}/synapse/cmds/cortex.py +0 -0
  56. {synapse-2.221.0 → synapse-2.223.0}/synapse/cmds/hive.py +0 -0
  57. {synapse-2.221.0 → synapse-2.223.0}/synapse/common.py +0 -0
  58. {synapse-2.221.0 → synapse-2.223.0}/synapse/daemon.py +0 -0
  59. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/__init__.py +0 -0
  60. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/attack-flow/LICENSE.txt +0 -0
  61. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/attack-flow/README.md +0 -0
  62. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/attack-flow/attack-flow-schema-2.0.0.json +0 -0
  63. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/certs/cas/The Vertex Project Intermediate CA 00.crt +0 -0
  64. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/certs/cas/The Vertex Project ROOT CA.crt +0 -0
  65. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/certs/crls/The Vertex Project Intermediate CA 00.crl +0 -0
  66. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/certs/crls/The Vertex Project ROOT CA.crl +0 -0
  67. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/iana.tlds.mpk +0 -0
  68. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/iana.uris.mpk +0 -0
  69. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/README.md +0 -0
  70. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/LICENSE.txt +0 -0
  71. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/binary.json +0 -0
  72. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/bundle.json +0 -0
  73. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/core.json +0 -0
  74. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/cyber-observable-core.json +0 -0
  75. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/dictionary.json +0 -0
  76. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension-definition.json +0 -0
  77. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension.json +0 -0
  78. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/external-reference.json +0 -0
  79. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/granular-marking.json +0 -0
  80. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hashes-type.json +0 -0
  81. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hex.json +0 -0
  82. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/identifier.json +0 -0
  83. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/kill-chain-phase.json +0 -0
  84. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/language-content.json +0 -0
  85. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/marking-definition.json +0 -0
  86. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/properties.json +0 -0
  87. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/timestamp.json +0 -0
  88. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/url-regex.json +0 -0
  89. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/artifact.json +0 -0
  90. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/autonomous-system.json +0 -0
  91. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/directory.json +0 -0
  92. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/domain-name.json +0 -0
  93. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-addr.json +0 -0
  94. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-message.json +0 -0
  95. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/file.json +0 -0
  96. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv4-addr.json +0 -0
  97. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv6-addr.json +0 -0
  98. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mac-addr.json +0 -0
  99. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mutex.json +0 -0
  100. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/network-traffic.json +0 -0
  101. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/process.json +0 -0
  102. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/software.json +0 -0
  103. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/url.json +0 -0
  104. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/user-account.json +0 -0
  105. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/windows-registry-key.json +0 -0
  106. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/x509-certificate.json +0 -0
  107. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/attack-pattern.json +0 -0
  108. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/campaign.json +0 -0
  109. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/course-of-action.json +0 -0
  110. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/grouping.json +0 -0
  111. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/identity.json +0 -0
  112. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/incident.json +0 -0
  113. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/indicator.json +0 -0
  114. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/infrastructure.json +0 -0
  115. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/intrusion-set.json +0 -0
  116. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/location.json +0 -0
  117. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware-analysis.json +0 -0
  118. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware.json +0 -0
  119. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/note.json +0 -0
  120. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/observed-data.json +0 -0
  121. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/opinion.json +0 -0
  122. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/report.json +0 -0
  123. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/threat-actor.json +0 -0
  124. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/tool.json +0 -0
  125. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/vulnerability.json +0 -0
  126. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/relationship.json +0 -0
  127. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/sighting.json +0 -0
  128. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/lark/__init__.py +0 -0
  129. {synapse-2.221.0 → synapse-2.223.0}/synapse/data/lark/imap.lark +0 -0
  130. {synapse-2.221.0 → synapse-2.223.0}/synapse/datamodel.py +0 -0
  131. {synapse-2.221.0 → synapse-2.223.0}/synapse/exc.py +0 -0
  132. {synapse-2.221.0 → synapse-2.223.0}/synapse/glob.py +0 -0
  133. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/__init__.py +0 -0
  134. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/agenda.py +0 -0
  135. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/aha.py +0 -0
  136. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/auth.py +0 -0
  137. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/autodoc.py +0 -0
  138. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/base.py +0 -0
  139. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/boss.py +0 -0
  140. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/cache.py +0 -0
  141. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/cell.py +0 -0
  142. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/certdir.py +0 -0
  143. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/chop.py +0 -0
  144. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/cli.py +0 -0
  145. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/cmd.py +0 -0
  146. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/cmdr.py +0 -0
  147. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/config.py +0 -0
  148. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/const.py +0 -0
  149. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/coro.py +0 -0
  150. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/crypto/__init__.py +0 -0
  151. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/crypto/coin.py +0 -0
  152. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/crypto/ecc.py +0 -0
  153. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/crypto/passwd.py +0 -0
  154. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/crypto/rsa.py +0 -0
  155. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/crypto/tinfoil.py +0 -0
  156. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/datfile.py +0 -0
  157. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/drive.py +0 -0
  158. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/dyndeps.py +0 -0
  159. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/encoding.py +0 -0
  160. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/gis.py +0 -0
  161. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/grammar.py +0 -0
  162. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/hashitem.py +0 -0
  163. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/hashset.py +0 -0
  164. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/health.py +0 -0
  165. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/hive.py +0 -0
  166. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/httpapi.py +0 -0
  167. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/ingest.py +0 -0
  168. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/interval.py +0 -0
  169. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/json.py +0 -0
  170. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/jsonstor.py +0 -0
  171. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/link.py +0 -0
  172. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/lmdbslab.py +0 -0
  173. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/modelrev.py +0 -0
  174. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/module.py +0 -0
  175. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/modules.py +0 -0
  176. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/msgpack.py +0 -0
  177. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/multislabseqn.py +0 -0
  178. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/node.py +0 -0
  179. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/oauth.py +0 -0
  180. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/output.py +0 -0
  181. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/platforms/__init__.py +0 -0
  182. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/platforms/common.py +0 -0
  183. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/platforms/darwin.py +0 -0
  184. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/platforms/freebsd.py +0 -0
  185. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/platforms/linux.py +0 -0
  186. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/platforms/windows.py +0 -0
  187. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/queue.py +0 -0
  188. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/ratelimit.py +0 -0
  189. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/reflect.py +0 -0
  190. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/scope.py +0 -0
  191. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/scrape.py +0 -0
  192. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/share.py +0 -0
  193. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/slaboffs.py +0 -0
  194. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/slabseqn.py +0 -0
  195. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/spooled.py +0 -0
  196. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/storm_format.py +0 -0
  197. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormctrl.py +0 -0
  198. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormhttp.py +0 -0
  199. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/__init__.py +0 -0
  200. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/aha.py +0 -0
  201. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/backup.py +0 -0
  202. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/basex.py +0 -0
  203. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/cache.py +0 -0
  204. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/cell.py +0 -0
  205. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/compression.py +0 -0
  206. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/easyperm.py +0 -0
  207. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/env.py +0 -0
  208. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/ethereum.py +0 -0
  209. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/gen.py +0 -0
  210. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/gis.py +0 -0
  211. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/graph.py +0 -0
  212. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/hashes.py +0 -0
  213. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/hex.py +0 -0
  214. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/imap.py +0 -0
  215. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/index.py +0 -0
  216. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/infosec.py +0 -0
  217. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/ipv6.py +0 -0
  218. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/iters.py +0 -0
  219. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/json.py +0 -0
  220. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/log.py +0 -0
  221. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/macro.py +0 -0
  222. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/math.py +0 -0
  223. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/model.py +0 -0
  224. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/modelext.py +0 -0
  225. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/notifications.py +0 -0
  226. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/oauth.py +0 -0
  227. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/pack.py +0 -0
  228. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/project.py +0 -0
  229. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/random.py +0 -0
  230. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/scrape.py +0 -0
  231. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/smtp.py +0 -0
  232. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/spooled.py +0 -0
  233. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/stats.py +0 -0
  234. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/stix.py +0 -0
  235. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/storm.py +0 -0
  236. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/tabular.py +0 -0
  237. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/utils.py +0 -0
  238. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/vault.py +0 -0
  239. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/version.py +0 -0
  240. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/xml.py +0 -0
  241. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormlib/yaml.py +0 -0
  242. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormsvc.py +0 -0
  243. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/stormwhois.py +0 -0
  244. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/structlog.py +0 -0
  245. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/task.py +0 -0
  246. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/thishost.py +0 -0
  247. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/thisplat.py +0 -0
  248. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/threads.py +0 -0
  249. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/time.py +0 -0
  250. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/types.py +0 -0
  251. {synapse-2.221.0 → synapse-2.223.0}/synapse/lib/urlhelp.py +0 -0
  252. {synapse-2.221.0 → synapse-2.223.0}/synapse/lookup/__init__.py +0 -0
  253. {synapse-2.221.0 → synapse-2.223.0}/synapse/lookup/cvss.py +0 -0
  254. {synapse-2.221.0 → synapse-2.223.0}/synapse/lookup/iana.py +0 -0
  255. {synapse-2.221.0 → synapse-2.223.0}/synapse/lookup/iso3166.py +0 -0
  256. {synapse-2.221.0 → synapse-2.223.0}/synapse/lookup/macho.py +0 -0
  257. {synapse-2.221.0 → synapse-2.223.0}/synapse/lookup/pe.py +0 -0
  258. {synapse-2.221.0 → synapse-2.223.0}/synapse/lookup/phonenum.py +0 -0
  259. {synapse-2.221.0 → synapse-2.223.0}/synapse/lookup/timezones.py +0 -0
  260. {synapse-2.221.0 → synapse-2.223.0}/synapse/mindmeld.py +0 -0
  261. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/__init__.py +0 -0
  262. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/auth.py +0 -0
  263. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/base.py +0 -0
  264. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/belief.py +0 -0
  265. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/biz.py +0 -0
  266. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/crypto.py +0 -0
  267. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/dns.py +0 -0
  268. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/doc.py +0 -0
  269. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/economic.py +0 -0
  270. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/entity.py +0 -0
  271. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/geopol.py +0 -0
  272. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/geospace.py +0 -0
  273. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/gov/__init__.py +0 -0
  274. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/gov/cn.py +0 -0
  275. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/gov/intl.py +0 -0
  276. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/gov/us.py +0 -0
  277. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/inet.py +0 -0
  278. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/infotech.py +0 -0
  279. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/language.py +0 -0
  280. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/material.py +0 -0
  281. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/math.py +0 -0
  282. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/media.py +0 -0
  283. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/person.py +0 -0
  284. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/planning.py +0 -0
  285. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/proj.py +0 -0
  286. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/risk.py +0 -0
  287. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/science.py +0 -0
  288. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/syn.py +0 -0
  289. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/telco.py +0 -0
  290. {synapse-2.221.0 → synapse-2.223.0}/synapse/models/transport.py +0 -0
  291. {synapse-2.221.0 → synapse-2.223.0}/synapse/servers/__init__.py +0 -0
  292. {synapse-2.221.0 → synapse-2.223.0}/synapse/servers/aha.py +0 -0
  293. {synapse-2.221.0 → synapse-2.223.0}/synapse/servers/axon.py +0 -0
  294. {synapse-2.221.0 → synapse-2.223.0}/synapse/servers/cell.py +0 -0
  295. {synapse-2.221.0 → synapse-2.223.0}/synapse/servers/cortex.py +0 -0
  296. {synapse-2.221.0 → synapse-2.223.0}/synapse/servers/cryotank.py +0 -0
  297. {synapse-2.221.0 → synapse-2.223.0}/synapse/servers/jsonstor.py +0 -0
  298. {synapse-2.221.0 → synapse-2.223.0}/synapse/servers/stemcell.py +0 -0
  299. {synapse-2.221.0 → synapse-2.223.0}/synapse/telepath.py +0 -0
  300. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/__init__.py +0 -0
  301. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/TestUtilsGetrefs.test_basics.yaml +0 -0
  302. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/__init__.py +0 -0
  303. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/aha/certs/cas/synapse.crt +0 -0
  304. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/aha/certs/cas/synapse.key +0 -0
  305. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.crt +0 -0
  306. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.key +0 -0
  307. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/aha/certs/users/root@synapse.crt +0 -0
  308. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/aha/certs/users/root@synapse.key +0 -0
  309. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/attack_flow/CISA AA22-138B VMWare Workspace (Alt).json +0 -0
  310. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/attack_flow/CISA_Iranian_APT.json +0 -0
  311. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/certdir/cas/ca.crt +0 -0
  312. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/certdir/cas/ca.key +0 -0
  313. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/certdir/hosts/localhost.crt +0 -0
  314. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/certdir/hosts/localhost.key +0 -0
  315. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/certdir/users/root.crt +0 -0
  316. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/certdir/users/root.key +0 -0
  317. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/certdir/users/user.crt +0 -0
  318. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/certdir/users/user.key +0 -0
  319. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/changelog/model_2.176.0_16ee721a6b7221344eaf946c3ab4602dda546b1a.yaml.gz +0 -0
  320. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/changelog/model_2.176.0_2a25c58bbd344716cd7cbc3f4304d8925b0f4ef2.yaml.gz +0 -0
  321. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/cpedata.json +0 -0
  322. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/rstorm/httpresp1.json +0 -0
  323. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/rstorm/httpresp2.json +0 -0
  324. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/rstorm/httpresp3.json +0 -0
  325. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/rstorm/httprespmulti.yaml +0 -0
  326. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/rstorm/testsvc.py +0 -0
  327. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stix_export/basic.json +0 -0
  328. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stix_export/custom0.json +0 -0
  329. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stix_export/risk0.json +0 -0
  330. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stix_import/apt1.json +0 -0
  331. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stix_import/oasis-example-00.json +0 -0
  332. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormcov/argvquery.storm +0 -0
  333. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormcov/dupesubs.storm +0 -0
  334. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormcov/lookup.storm +0 -0
  335. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormcov/pivot.storm +0 -0
  336. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormcov/pragma-nocov.storm +0 -0
  337. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormcov/spin.storm +0 -0
  338. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormcov/stormctrl.storm +0 -0
  339. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormmod/common +0 -0
  340. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormpkg/badapidef.yaml +0 -0
  341. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormpkg/badcmdname.yaml +0 -0
  342. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormpkg/badendpoints.yaml +0 -0
  343. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormpkg/badinits.yaml +0 -0
  344. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormpkg/badjsonpkg.yaml +0 -0
  345. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormpkg/docs/foobar.md +0 -0
  346. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormpkg/docs/foobar.svg +0 -0
  347. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormpkg/dotstorm/dotstorm.yaml +0 -0
  348. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormpkg/dotstorm/storm/commands/dotstorm.bar.storm +0 -0
  349. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormpkg/dotstorm/storm/modules/dotstorm.foo.storm +0 -0
  350. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormpkg/nocontent.yaml +0 -0
  351. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormpkg/nomime.yaml +0 -0
  352. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormpkg/nopath.yaml +0 -0
  353. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormpkg/nosuchfile.yaml +0 -0
  354. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormpkg/notitle.yaml +0 -0
  355. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormpkg/optic/index.html +0 -0
  356. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormpkg/storm/commands/invalidCMD +0 -0
  357. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormpkg/storm/commands/testpkg.baz +0 -0
  358. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormpkg/storm/commands/testpkgcmd +0 -0
  359. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormpkg/storm/modules/apimod +0 -0
  360. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormpkg/storm/modules/testmod +0 -0
  361. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormpkg/testpkg.yaml +0 -0
  362. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormpkg/workflows/testpkg-bam.newp +0 -0
  363. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormpkg/workflows/testpkg-baz.yaml +0 -0
  364. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/stormpkg/workflows/testpkg-foo.yaml +0 -0
  365. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/test.dat +0 -0
  366. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/testcore/cell.yaml +0 -0
  367. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/testpkg_build_docs/docs/bar.rst +0 -0
  368. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/testpkg_build_docs/docs/foo.rst +0 -0
  369. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/testpkg_build_docs/storm/commands/testcmd.storm +0 -0
  370. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/testpkg_build_docs/storm/modules/apimod.storm +0 -0
  371. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/testpkg_build_docs/storm/modules/testmod.storm +0 -0
  372. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/testpkg_build_docs/storm/testcmd.storm +0 -0
  373. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/files/testpkg_build_docs/testpkg.yaml +0 -0
  374. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/nopmod.py +0 -0
  375. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_axon.py +0 -0
  376. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_cmds_boss.py +0 -0
  377. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_cmds_cortex.py +0 -0
  378. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_cmds_hive.py +0 -0
  379. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_common.py +0 -0
  380. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_cryotank.py +0 -0
  381. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_daemon.py +0 -0
  382. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_data.py +0 -0
  383. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_datamodel.py +0 -0
  384. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_exc.py +0 -0
  385. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_glob.py +0 -0
  386. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_init.py +0 -0
  387. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_agenda.py +0 -0
  388. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_auth.py +0 -0
  389. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_autodoc.py +0 -0
  390. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_base.py +0 -0
  391. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_boss.py +0 -0
  392. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_cache.py +0 -0
  393. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_certdir.py +0 -0
  394. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_chop.py +0 -0
  395. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_cli.py +0 -0
  396. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_config.py +0 -0
  397. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_const.py +0 -0
  398. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_coro.py +0 -0
  399. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_crypto_coin.py +0 -0
  400. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_crypto_ecc.py +0 -0
  401. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_crypto_passwd.py +0 -0
  402. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_crypto_tinfoil.py +0 -0
  403. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_datfile.py +0 -0
  404. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_dyndeps.py +0 -0
  405. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_encoding.py +0 -0
  406. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_gis.py +0 -0
  407. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_hashitem.py +0 -0
  408. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_hashset.py +0 -0
  409. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_health.py +0 -0
  410. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_hive.py +0 -0
  411. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_httpapi.py +0 -0
  412. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_interval.py +0 -0
  413. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_json.py +0 -0
  414. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_jsonstor.py +0 -0
  415. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_layer.py +0 -0
  416. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_link.py +0 -0
  417. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_lmdbslab.py +0 -0
  418. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_modelrev.py +0 -0
  419. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_module.py +0 -0
  420. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_msgpack.py +0 -0
  421. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_multislabseqn.py +0 -0
  422. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_nexus.py +0 -0
  423. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_node.py +0 -0
  424. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_output.py +0 -0
  425. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_platforms_linux.py +0 -0
  426. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_queue.py +0 -0
  427. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_ratelimit.py +0 -0
  428. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_reflect.py +0 -0
  429. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_scope.py +0 -0
  430. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_scrape.py +0 -0
  431. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_slaboffs.py +0 -0
  432. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_slabseqn.py +0 -0
  433. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_snap.py +0 -0
  434. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_spooled.py +0 -0
  435. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_storm_format.py +0 -0
  436. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormctrl.py +0 -0
  437. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormhttp.py +0 -0
  438. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_aha.py +0 -0
  439. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_backup.py +0 -0
  440. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_basex.py +0 -0
  441. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_cache.py +0 -0
  442. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_cell.py +0 -0
  443. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_compression.py +0 -0
  444. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_easyperm.py +0 -0
  445. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_env.py +0 -0
  446. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_ethereum.py +0 -0
  447. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_gen.py +0 -0
  448. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_gis.py +0 -0
  449. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_hashes.py +0 -0
  450. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_hex.py +0 -0
  451. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_imap.py +0 -0
  452. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_index.py +0 -0
  453. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_infosec.py +0 -0
  454. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_ipv6.py +0 -0
  455. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_iters.py +0 -0
  456. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_json.py +0 -0
  457. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_log.py +0 -0
  458. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_macro.py +0 -0
  459. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_model.py +0 -0
  460. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_modelext.py +0 -0
  461. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_oauth.py +0 -0
  462. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_pack.py +0 -0
  463. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_random.py +0 -0
  464. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_scrape.py +0 -0
  465. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_smtp.py +0 -0
  466. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_spooled.py +0 -0
  467. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_stats.py +0 -0
  468. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_stix.py +0 -0
  469. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_storm.py +0 -0
  470. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_tabular.py +0 -0
  471. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_utils.py +0 -0
  472. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_vault.py +0 -0
  473. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_xml.py +0 -0
  474. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormlib_yaml.py +0 -0
  475. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormsvc.py +0 -0
  476. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_stormwhois.py +0 -0
  477. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_structlog.py +0 -0
  478. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_task.py +0 -0
  479. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_thishost.py +0 -0
  480. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_time.py +0 -0
  481. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_types.py +0 -0
  482. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_urlhelp.py +0 -0
  483. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lib_version.py +0 -0
  484. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lookup_iso3166.py +0 -0
  485. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_lookup_phonenum.py +0 -0
  486. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_mindmeld.py +0 -0
  487. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_auth.py +0 -0
  488. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_base.py +0 -0
  489. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_belief.py +0 -0
  490. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_biz.py +0 -0
  491. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_crypto.py +0 -0
  492. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_dns.py +0 -0
  493. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_doc.py +0 -0
  494. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_economic.py +0 -0
  495. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_entity.py +0 -0
  496. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_geopol.py +0 -0
  497. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_geospace.py +0 -0
  498. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_gov_cn.py +0 -0
  499. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_gov_intl.py +0 -0
  500. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_gov_us.py +0 -0
  501. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_inet.py +0 -0
  502. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_infotech.py +0 -0
  503. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_language.py +0 -0
  504. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_material.py +0 -0
  505. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_math.py +0 -0
  506. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_media.py +0 -0
  507. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_person.py +0 -0
  508. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_planning.py +0 -0
  509. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_proj.py +0 -0
  510. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_risk.py +0 -0
  511. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_science.py +0 -0
  512. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_syn.py +0 -0
  513. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_telco.py +0 -0
  514. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_model_transport.py +0 -0
  515. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_servers_axon.py +0 -0
  516. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_servers_cortex.py +0 -0
  517. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_servers_cryotank.py +0 -0
  518. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_servers_stemcell.py +0 -0
  519. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_servers_univ.py +0 -0
  520. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_telepath.py +0 -0
  521. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_aha.py +0 -0
  522. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_apikey.py +0 -0
  523. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_autodoc.py +0 -0
  524. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_axon.py +0 -0
  525. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_axon2axon.py +0 -0
  526. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_backup.py +0 -0
  527. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_cellauth.py +0 -0
  528. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_changelog.py +0 -0
  529. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_cortex_layer.py +0 -0
  530. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_cryo_cat.py +0 -0
  531. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_cryo_list.py +0 -0
  532. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_csvtool.py +0 -0
  533. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_demote.py +0 -0
  534. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_docker_validate.py +0 -0
  535. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_easycert.py +0 -0
  536. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_feed.py +0 -0
  537. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_genpkg.py +0 -0
  538. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_guid.py +0 -0
  539. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_healthcheck.py +0 -0
  540. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_hiveload.py +0 -0
  541. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_hivesave.py +0 -0
  542. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_json2mpk.py +0 -0
  543. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_livebackup.py +0 -0
  544. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_modrole.py +0 -0
  545. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_moduser.py +0 -0
  546. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_pkgs_gendocs.py +0 -0
  547. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_promote.py +0 -0
  548. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_pullfile.py +0 -0
  549. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_pushfile.py +0 -0
  550. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_reload.py +0 -0
  551. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_rstorm.py +0 -0
  552. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_shutdown.py +0 -0
  553. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_snapshot.py +0 -0
  554. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_tools_storm.py +0 -0
  555. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_utils.py +0 -0
  556. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_utils_getrefs.py +0 -0
  557. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/test_utils_stormcov.py +0 -0
  558. {synapse-2.221.0 → synapse-2.223.0}/synapse/tests/utils.py +0 -0
  559. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/__init__.py +0 -0
  560. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/aha/__init__.py +0 -0
  561. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/aha/clone.py +0 -0
  562. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/aha/easycert.py +0 -0
  563. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/aha/enroll.py +0 -0
  564. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/aha/list.py +0 -0
  565. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/aha/mirror.py +0 -0
  566. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/aha/provision/__init__.py +0 -0
  567. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/aha/provision/service.py +0 -0
  568. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/aha/provision/user.py +0 -0
  569. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/apikey.py +0 -0
  570. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/autodoc.py +0 -0
  571. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/axon/__init__.py +0 -0
  572. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/axon/dump.py +0 -0
  573. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/axon/load.py +0 -0
  574. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/axon2axon.py +0 -0
  575. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/backup.py +0 -0
  576. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/cellauth.py +0 -0
  577. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/changelog.py +0 -0
  578. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/cmdr.py +0 -0
  579. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/cortex/__init__.py +0 -0
  580. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/cortex/layer/__init__.py +0 -0
  581. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/cortex/layer/dump.py +0 -0
  582. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/cortex/layer/load.py +0 -0
  583. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/cryo/__init__.py +0 -0
  584. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/csvtool.py +0 -0
  585. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/demote.py +0 -0
  586. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/docker/__init__.py +0 -0
  587. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/docker/validate.py +0 -0
  588. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/easycert.py +0 -0
  589. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/feed.py +0 -0
  590. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/genpkg.py +0 -0
  591. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/guid.py +0 -0
  592. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/healthcheck.py +0 -0
  593. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/hive/__init__.py +0 -0
  594. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/hive/load.py +0 -0
  595. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/hive/save.py +0 -0
  596. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/json2mpk.py +0 -0
  597. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/livebackup.py +0 -0
  598. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/modrole.py +0 -0
  599. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/moduser.py +0 -0
  600. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/pkgs/gendocs.py +0 -0
  601. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/pkgs/pandoc_filter.py +0 -0
  602. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/promote.py +0 -0
  603. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/pullfile.py +0 -0
  604. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/pushfile.py +0 -0
  605. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/reload.py +0 -0
  606. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/rstorm.py +0 -0
  607. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/shutdown.py +0 -0
  608. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/snapshot.py +0 -0
  609. {synapse-2.221.0 → synapse-2.223.0}/synapse/tools/storm.py +0 -0
  610. {synapse-2.221.0 → synapse-2.223.0}/synapse/utils/__init__.py +0 -0
  611. {synapse-2.221.0 → synapse-2.223.0}/synapse/utils/getrefs.py +0 -0
  612. {synapse-2.221.0 → synapse-2.223.0}/synapse/utils/stormcov/__init__.py +0 -0
  613. {synapse-2.221.0 → synapse-2.223.0}/synapse/utils/stormcov/plugin.py +0 -0
  614. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/__init__.py +0 -0
  615. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/cashaddress/LICENSE +0 -0
  616. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/cashaddress/__init__.py +0 -0
  617. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/cashaddress/base58.py +0 -0
  618. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/cashaddress/convert.py +0 -0
  619. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/cashaddress/crypto.py +0 -0
  620. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/cashaddress/tests/__init__.py +0 -0
  621. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/cashaddress/tests/test_cashaddress.py +0 -0
  622. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/cpython/LICENSE +0 -0
  623. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/cpython/__init__.py +0 -0
  624. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/cpython/lib/__init__.py +0 -0
  625. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/cpython/lib/email/__init__.py +0 -0
  626. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/cpython/lib/email/_parseaddr.py +0 -0
  627. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/cpython/lib/email/utils.py +0 -0
  628. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/cpython/lib/http/__init__.py +0 -0
  629. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/cpython/lib/http/cookies.py +0 -0
  630. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/cpython/lib/ipaddress.py +0 -0
  631. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/cpython/lib/json.py +0 -0
  632. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/cpython/lib/test/__init__.py +0 -0
  633. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/cpython/lib/test/support/__init__.py +0 -0
  634. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/cpython/lib/test/test_email/__init__.py +0 -0
  635. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/cpython/lib/test/test_email/test_email.py +0 -0
  636. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/cpython/lib/test/test_email/test_utils.py +0 -0
  637. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/cpython/lib/test/test_http_cookies.py +0 -0
  638. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/cpython/lib/test/test_ipaddress.py +0 -0
  639. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/cpython/lib/test/test_json.py +0 -0
  640. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/substrateinterface/LICENSE +0 -0
  641. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/substrateinterface/__init__.py +0 -0
  642. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/substrateinterface/tests/__init__.py +0 -0
  643. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/substrateinterface/tests/test_ss58.py +0 -0
  644. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/substrateinterface/utils/__init__.py +0 -0
  645. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/substrateinterface/utils/ss58.py +0 -0
  646. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/utils.py +0 -0
  647. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/xrpl/LICENSE +0 -0
  648. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/xrpl/__init__.py +0 -0
  649. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/xrpl/constants.py +0 -0
  650. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/xrpl/core/__init__.py +0 -0
  651. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/xrpl/core/addresscodec/__init__.py +0 -0
  652. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/xrpl/core/addresscodec/codec.py +0 -0
  653. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/xrpl/core/addresscodec/exceptions.py +0 -0
  654. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/xrpl/core/addresscodec/main.py +0 -0
  655. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/xrpl/core/addresscodec/utils.py +0 -0
  656. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/xrpl/tests/__init__.py +0 -0
  657. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/xrpl/tests/test_codec.py +0 -0
  658. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/xrpl/tests/test_main.py +0 -0
  659. {synapse-2.221.0 → synapse-2.223.0}/synapse/vendor/xrpl/tests/test_main_test_cases.py +0 -0
  660. {synapse-2.221.0 → synapse-2.223.0}/synapse.egg-info/dependency_links.txt +0 -0
  661. {synapse-2.221.0 → synapse-2.223.0}/synapse.egg-info/requires.txt +0 -0
  662. {synapse-2.221.0 → synapse-2.223.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.221.0
3
+ Version: 2.223.0
4
4
  Summary: Synapse Intelligence Analysis Framework
5
5
  Author-email: The Vertex Project LLC <root@vertex.link>
6
6
  License-Expression: Apache-2.0
@@ -4,7 +4,7 @@ build-backend = 'setuptools.build_meta'
4
4
 
5
5
  [project]
6
6
  name = 'synapse'
7
- version = '2.221.0'
7
+ version = '2.223.0'
8
8
  authors = [
9
9
  { name = 'The Vertex Project LLC', email = 'root@vertex.link'},
10
10
  ]
@@ -61,6 +61,7 @@ import synapse.lib.stormlib.gen as s_stormlib_gen # NOQA
61
61
  import synapse.lib.stormlib.gis as s_stormlib_gis # NOQA
62
62
  import synapse.lib.stormlib.hex as s_stormlib_hex # NOQA
63
63
  import synapse.lib.stormlib.log as s_stormlib_log # NOQA
64
+ import synapse.lib.stormlib.pkg as s_stormlib_pkg # NOQA
64
65
  import synapse.lib.stormlib.xml as s_stormlib_xml # NOQA
65
66
  import synapse.lib.stormlib.auth as s_stormlib_auth # NOQA
66
67
  import synapse.lib.stormlib.cell as s_stormlib_cell # NOQA
@@ -72,6 +73,7 @@ import synapse.lib.stormlib.mime as s_stormlib_mime # NOQA
72
73
  import synapse.lib.stormlib.pack as s_stormlib_pack # NOQA
73
74
  import synapse.lib.stormlib.smtp as s_stormlib_smtp # NOQA
74
75
  import synapse.lib.stormlib.stix as s_stormlib_stix # NOQA
76
+ import synapse.lib.stormlib.task as s_stormlib_task # NOQA
75
77
  import synapse.lib.stormlib.yaml as s_stormlib_yaml # NOQA
76
78
  import synapse.lib.stormlib.basex as s_stormlib_basex # NOQA
77
79
  import synapse.lib.stormlib.cache as s_stormlib_cache # NOQA
@@ -624,7 +626,8 @@ class CoreApi(s_cell.CellApi):
624
626
  Returns:
625
627
  AsyncIterator[Tuple(buid, valu)]
626
628
  '''
627
- self.user.confirm(('layer', 'lift', layriden))
629
+ if not self.user.allowed(('layer', 'lift', layriden)):
630
+ self.user.confirm(('layer', 'read', layriden))
628
631
  async for item in self.cell.iterFormRows(layriden, form, stortype=stortype, startvalu=startvalu):
629
632
  yield item
630
633
 
@@ -642,7 +645,8 @@ class CoreApi(s_cell.CellApi):
642
645
  Returns:
643
646
  AsyncIterator[Tuple(buid, valu)]
644
647
  '''
645
- self.user.confirm(('layer', 'lift', layriden))
648
+ if not self.user.allowed(('layer', 'lift', layriden)):
649
+ self.user.confirm(('layer', 'read', layriden))
646
650
  async for item in self.cell.iterPropRows(layriden, form, prop, stortype=stortype, startvalu=startvalu):
647
651
  yield item
648
652
 
@@ -659,7 +663,8 @@ class CoreApi(s_cell.CellApi):
659
663
  Returns:
660
664
  AsyncIterator[Tuple(buid, valu)]
661
665
  '''
662
- self.user.confirm(('layer', 'lift', layriden))
666
+ if not self.user.allowed(('layer', 'lift', layriden)):
667
+ self.user.confirm(('layer', 'read', layriden))
663
668
  async for item in self.cell.iterUnivRows(layriden, prop, stortype=stortype, startvalu=startvalu):
664
669
  yield item
665
670
 
@@ -680,7 +685,8 @@ class CoreApi(s_cell.CellApi):
680
685
  This yields (buid, (tagvalu, form)) instead of just buid, valu in order to allow resuming an interrupted
681
686
  call by feeding the last value retrieved into starttupl
682
687
  '''
683
- self.user.confirm(('layer', 'lift', layriden))
688
+ if not self.user.allowed(('layer', 'lift', layriden)):
689
+ self.user.confirm(('layer', 'read', layriden))
684
690
  async for item in self.cell.iterTagRows(layriden, tag, form=form, starttupl=starttupl):
685
691
  yield item
686
692
 
@@ -699,7 +705,8 @@ class CoreApi(s_cell.CellApi):
699
705
  Returns:
700
706
  AsyncIterator[Tuple(buid, valu)]
701
707
  '''
702
- self.user.confirm(('layer', 'lift', layriden))
708
+ if not self.user.allowed(('layer', 'lift', layriden)):
709
+ self.user.confirm(('layer', 'read', layriden))
703
710
  async for item in self.cell.iterTagPropRows(layriden, tag, prop, form=form, stortype=stortype,
704
711
  startvalu=startvalu):
705
712
  yield item
@@ -1366,6 +1373,30 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
1366
1373
 
1367
1374
  def _initCorePerms(self):
1368
1375
  self._cortex_permdefs.extend((
1376
+ {'perm': ('axon', 'upload'), 'gate': 'cortex',
1377
+ 'desc': 'Controls the ability to upload a file to the Axon.'},
1378
+ {'perm': ('axon', 'get'), 'gate': 'cortex',
1379
+ 'desc': 'Controls the ability to retrieve a file from the Axon.'},
1380
+ {'perm': ('axon', 'has'), 'gate': 'cortex',
1381
+ 'desc': 'Controls the ability to check if the Axon contains a file.'},
1382
+ {'perm': ('axon', 'del'), 'gate': 'cortex',
1383
+ 'desc': 'Controls the ability to remove a file from the Axon.'},
1384
+
1385
+ {'perm': ('layer', 'add'), 'gate': 'cortex',
1386
+ 'desc': 'Controls the ability to add Layers to the cortex.'},
1387
+ {'perm': ('layer', 'del'), 'gate': 'cortex',
1388
+ 'desc': 'Controls the ability to remove Layers from the cortex.'},
1389
+ {'perm': ('layer', 'read'), 'gate': 'layer',
1390
+ 'desc': 'Controls the ability to read/lift from a Layer.'},
1391
+ {'perm': ('layer', 'read', '<iden>'), 'gate': 'cortex',
1392
+ 'desc': 'Controls the ability to read/lift from a specific Layer.'},
1393
+ {'perm': ('layer', 'set', '<name>'), 'gate': 'layer',
1394
+ 'desc': 'Controls the ability to configure properties of a Layer.'},
1395
+ {'perm': ('layer', 'write'), 'gate': 'layer',
1396
+ 'desc': 'Controls the ability to write to a Layer.'},
1397
+ {'perm': ('layer', 'write', '<iden>'), 'gate': 'cortex',
1398
+ 'desc': 'Controls the ability to write to a specific Layer.'},
1399
+
1369
1400
  {'perm': ('model', 'form', 'add'), 'gate': 'cortex',
1370
1401
  'desc': 'Controls access to adding extended model forms.'},
1371
1402
  {'perm': ('model', 'form', 'add', '<form>'), 'gate': 'cortex',
@@ -1519,15 +1550,6 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
1519
1550
  {'perm': ('view', 'set', '<setting>'), 'gate': 'view',
1520
1551
  'desc': 'Controls access to change view settings.',
1521
1552
  'ex': 'view.set.name'},
1522
-
1523
- {'perm': ('axon', 'upload'), 'gate': 'cortex',
1524
- 'desc': 'Controls the ability to upload a file to the Axon.'},
1525
- {'perm': ('axon', 'get'), 'gate': 'cortex',
1526
- 'desc': 'Controls the ability to retrieve a file from the Axon.'},
1527
- {'perm': ('axon', 'has'), 'gate': 'cortex',
1528
- 'desc': 'Controls the ability to check if the Axon contains a file.'},
1529
- {'perm': ('axon', 'del'), 'gate': 'cortex',
1530
- 'desc': 'Controls the ability to remove a file from the Axon.'},
1531
1553
  ))
1532
1554
  for pdef in self._cortex_permdefs:
1533
1555
  s_schemas.reqValidPermDef(pdef)
@@ -2242,6 +2264,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
2242
2264
  self.onfini(slab.fini)
2243
2265
 
2244
2266
  self.multiqueue = await slab.getMultiQueue('cortex:queue', nexsroot=self.nexsroot)
2267
+ self.stormpkgqueue = await slab.getMultiQueue('storm:pkg:queue', nexsroot=self.nexsroot)
2245
2268
 
2246
2269
  async def _initStormGraphs(self):
2247
2270
  path = os.path.join(self.dirn, 'slabs', 'graphs.lmdb')
@@ -3042,8 +3065,8 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
3042
3065
  if not ok:
3043
3066
  break
3044
3067
 
3045
- curvers = vers
3046
- await self.setStormPkgVar(name, varname, vers)
3068
+ curvers = max(vers, await self.getStormPkgVar(name, varname, default=-1))
3069
+ await self.setStormPkgVar(name, varname, curvers)
3047
3070
  logger.info(f'{name} finished init vers={vers}: {vname}', extra=logextra)
3048
3071
 
3049
3072
  if onload is not None:
@@ -3328,6 +3351,91 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
3328
3351
  for item in pkgvars.items():
3329
3352
  yield item
3330
3353
 
3354
+ async def addStormPkgQueue(self, pkgname, name):
3355
+ guid = s_common.guid((pkgname, name))
3356
+ if self.stormpkgqueue.exists(guid):
3357
+ mesg = f'Queue named {name} already exists for package {pkgname}!'
3358
+ raise s_exc.DupName(mesg=mesg)
3359
+
3360
+ info = {
3361
+ 'iden': guid,
3362
+ 'name': name,
3363
+ 'pkgname': pkgname,
3364
+ 'created': s_common.now()
3365
+ }
3366
+
3367
+ await self._push('storm:pkg:queue:add', pkgname, name, info)
3368
+
3369
+ @s_nexus.Pusher.onPush('storm:pkg:queue:add')
3370
+ async def _addStormPkgQueue(self, pkgname, name, info):
3371
+ guid = s_common.guid((pkgname, name))
3372
+ if self.stormpkgqueue.exists(guid):
3373
+ return
3374
+ await self.stormpkgqueue.add(guid, info)
3375
+
3376
+ async def listStormPkgQueues(self, pkgname=None):
3377
+ for pkginfo in self.stormpkgqueue.list():
3378
+ if pkgname is None or pkginfo['meta'].get('pkgname') == pkgname:
3379
+ yield pkginfo
3380
+
3381
+ async def getStormPkgQueue(self, pkgname, name):
3382
+ guid = s_common.guid((pkgname, name))
3383
+ return self.stormpkgqueue.status(guid)
3384
+
3385
+ async def delStormPkgQueue(self, pkgname, name):
3386
+ guid = s_common.guid((pkgname, name))
3387
+ if not self.stormpkgqueue.exists(guid):
3388
+ mesg = f'No queue named {name} exists for package {pkgname}!'
3389
+ raise s_exc.NoSuchName(mesg=mesg)
3390
+
3391
+ await self._push('storm:pkg:queue:del', pkgname, name)
3392
+
3393
+ @s_nexus.Pusher.onPush('storm:pkg:queue:del')
3394
+ async def _delStormPkgQueue(self, pkgname, name):
3395
+ guid = s_common.guid((pkgname, name))
3396
+ if not self.stormpkgqueue.exists(guid):
3397
+ return
3398
+ await self.stormpkgqueue.rem(guid)
3399
+
3400
+ async def stormPkgQueueGet(self, pkgname, name, offs=0, wait=False):
3401
+ guid = s_common.guid((pkgname, name))
3402
+ async for item in self.stormpkgqueue.gets(guid, offs, cull=False, wait=wait):
3403
+ return item
3404
+
3405
+ async def stormPkgQueueGets(self, pkgname, name, offs=0, wait=False, size=None):
3406
+ count = 0
3407
+ guid = s_common.guid((pkgname, name))
3408
+ async for item in self.stormpkgqueue.gets(guid, offs, cull=False, wait=wait):
3409
+
3410
+ yield item
3411
+
3412
+ count += 1
3413
+ if size is not None and count >= size:
3414
+ return
3415
+
3416
+ async def stormPkgQueuePuts(self, pkgname, name, items):
3417
+ return await self._push('storm:pkg:queue:puts', pkgname, name, items)
3418
+
3419
+ @s_nexus.Pusher.onPush('storm:pkg:queue:puts', passitem=True)
3420
+ async def _stormPkgQueuePuts(self, pkgname, name, items, nexsitem):
3421
+ nexsoff, nexsmesg = nexsitem
3422
+ guid = s_common.guid((pkgname, name))
3423
+ return await self.stormpkgqueue.puts(guid, items, reqid=nexsoff)
3424
+
3425
+ @s_nexus.Pusher.onPushAuto('storm:pkg:queue:cull')
3426
+ async def stormPkgQueueCull(self, pkgname, name, offs):
3427
+ guid = s_common.guid((pkgname, name))
3428
+ await self.stormpkgqueue.cull(guid, offs)
3429
+
3430
+ @s_nexus.Pusher.onPushAuto('storm:pkg:queue:pop')
3431
+ async def stormPkgQueuePop(self, pkgname, name, offs):
3432
+ guid = s_common.guid((pkgname, name))
3433
+ return await self.stormpkgqueue.pop(guid, offs)
3434
+
3435
+ async def stormPkgQueueSize(self, pkgname, name):
3436
+ guid = s_common.guid((pkgname, name))
3437
+ return self.stormpkgqueue.size(guid)
3438
+
3331
3439
  async def _cortexHealth(self, health):
3332
3440
  health.update('cortex', 'nominal')
3333
3441
 
@@ -4548,34 +4656,25 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
4548
4656
  self.addStormCmd(s_stormlib_cortex.StormPoolGetCmd)
4549
4657
  self.addStormCmd(s_stormlib_cortex.StormPoolSetCmd)
4550
4658
 
4551
- for cdef in s_stormsvc.stormcmds:
4552
- await self._trySetStormCmd(cdef.get('name'), cdef)
4553
-
4554
- for cdef in s_storm.stormcmds:
4555
- await self._trySetStormCmd(cdef.get('name'), cdef)
4556
-
4557
- for cdef in s_stormlib_aha.stormcmds:
4558
- await self._trySetStormCmd(cdef.get('name'), cdef)
4559
-
4560
- for cdef in s_stormlib_gen.stormcmds:
4561
- await self._trySetStormCmd(cdef.get('name'), cdef)
4562
-
4563
- for cdef in s_stormlib_auth.stormcmds:
4564
- await self._trySetStormCmd(cdef.get('name'), cdef)
4565
-
4566
- for cdef in s_stormlib_macro.stormcmds:
4567
- await self._trySetStormCmd(cdef.get('name'), cdef)
4568
-
4569
- for cdef in s_stormlib_model.stormcmds:
4570
- await self._trySetStormCmd(cdef.get('name'), cdef)
4571
-
4572
- for cdef in s_stormlib_cortex.stormcmds:
4573
- await self._trySetStormCmd(cdef.get('name'), cdef)
4574
-
4575
- for cdef in s_stormlib_vault.stormcmds:
4576
- await self._trySetStormCmd(cdef.get('name'), cdef)
4577
-
4578
- for cdef in s_stormlib_index.stormcmds:
4659
+ cmdmods = [
4660
+ s_storm,
4661
+ s_stormsvc,
4662
+ s_stormlib_aha,
4663
+ s_stormlib_auth,
4664
+ s_stormlib_cortex,
4665
+ s_stormlib_gen,
4666
+ s_stormlib_index,
4667
+ s_stormlib_macro,
4668
+ s_stormlib_model,
4669
+ s_stormlib_pkg,
4670
+ s_stormlib_vault,
4671
+ ]
4672
+
4673
+ for cmod in cmdmods:
4674
+ for cdef in cmod.stormcmds:
4675
+ await self._trySetStormCmd(cdef.get('name'), cdef)
4676
+
4677
+ for cdef in s_stormlib_task.stormcmds:
4579
4678
  await self._trySetStormCmd(cdef.get('name'), cdef)
4580
4679
 
4581
4680
  async def _initPureStormCmds(self):
@@ -39,7 +39,7 @@ class CryoTank(s_base.Base):
39
39
  A CryoTank implements a stream of structured data.
40
40
  '''
41
41
  async def __anit__(self, dirn, iden, conf=None):
42
-
42
+ s_common.deprecated('synapse.cryotank.CryoTank', curv='2.223.0')
43
43
  await s_base.Base.__anit__(self)
44
44
 
45
45
  if conf is None:
@@ -238,10 +238,10 @@ liftreverse: _REVERSE "(" (liftformtag | liftpropby | liftprop | liftbyarray | l
238
238
 
239
239
  _DEREF.3: /\*(?=\$)/
240
240
 
241
- liftformtag: ((PROPS | UNIVNAME | WILDPROPS) | _DEREF _varvalu) tagname [_cmpr _valu]
242
- liftpropby: ((PROPS | EMBEDPROPS | UNIVNAME) | _DEREF _varvalu) _cmpr _valu
243
- liftprop: ((PROPS | UNIVNAME | WILDPROPS) | _DEREF _varvalu)
244
- liftbyarray: ((PROPS | EMBEDPROPS | UNIVNAME) | _DEREF _varvalu) "*[" _safe_cmpr _valu "]"
241
+ liftformtag: (PROPS | UNIVNAME | WILDPROPS | derefprops) tagname [_cmpr _valu]
242
+ liftpropby: (PROPS | EMBEDPROPS | UNIVNAME | derefprops) _cmpr _valu
243
+ liftprop: (PROPS | UNIVNAME | WILDPROPS | derefprops)
244
+ liftbyarray: (PROPS | EMBEDPROPS | UNIVNAME | derefprops) "*[" _safe_cmpr _valu "]"
245
245
  lifttagtag: (_HASH | _HASHSPACE) tagname [_cmpr _valu]
246
246
  liftbytag: (tagname | tagnamewithspace) [_cmpr _valu]
247
247
  liftbytagprop: (tagprop | tagpropwithspace) [_cmpr _valu]
@@ -249,7 +249,7 @@ liftbyformtagprop: formtagprop [_cmpr _valu]
249
249
 
250
250
  tagprop: tagname _COLONNOSPACE (BASEPROP | _varvalu)
251
251
  tagpropwithspace: tagnamewithspace _COLONNOSPACE (BASEPROP | _varvalu) -> tagprop
252
- formtagprop: ((PROPS | UNIVNAME | WILDPROPS) | _DEREF _varvalu) tagname _COLONNOSPACE (BASEPROP | _varvalu)
252
+ formtagprop: (PROPS | UNIVNAME | WILDPROPS | derefprops) tagname _COLONNOSPACE (BASEPROP | _varvalu)
253
253
  _COLONNOSPACE.2: /(?<!\s):/
254
254
 
255
255
  _funcarg: (VARTOKN [EQNOSPACE _valu])
@@ -484,7 +484,7 @@ EMBEDPROPS.2: /[a-z_][a-z0-9_]*(:[a-z0-9_]+)+((\:\:|\:|\.)[a-z0-9_]+)*(?![:.a-z0
484
484
  UNIVNAME.2: /(?<=^|[\s\|\{\(\[+=-])\.[a-z_][a-z0-9_]*([:.][a-z0-9_]+)*/
485
485
  univprop: UNIVNAME | "." _varvalu
486
486
  // A full property or a universal property
487
- formname: PROPS | _DEREF _varvalu
487
+ formname: PROPS | derefprops
488
488
  // A relative property
489
489
  relprop: RELNAME | _COLONDOLLAR _varvaluatom
490
490
 
@@ -494,6 +494,9 @@ RELNAME: /(?<!\w):\.?[a-z_][a-z0-9_]*(?:(\:\:|\:|\.)[a-z_][a-z0-9_]*)*/
494
494
  // Similar to PROPS but does not require a colon
495
495
  BASEPROP: /[a-z_][a-z0-9_]*(?:(\:\:|\:|\.)[a-z_][a-z0-9_]*)*/
496
496
 
497
+ // Derefed variable for prop names
498
+ derefprops: _DEREF _varvalu
499
+
497
500
  // The entry point for a $(...) expression. The initial dollar sign is now optional
498
501
  _dollarexprs: "$"? dollaroper
499
502
 
@@ -2,7 +2,6 @@ import types
2
2
  import asyncio
3
3
  import decimal
4
4
  import fnmatch
5
- import hashlib
6
5
  import logging
7
6
  import binascii
8
7
  import itertools
@@ -1833,7 +1832,7 @@ class LiftProp(LiftOper):
1833
1832
 
1834
1833
  assert len(self.kids) == 1
1835
1834
 
1836
- name = await tostr(await self.kids[0].compute(runt, path))
1835
+ name = await self.kids[0].compute(runt, path)
1837
1836
 
1838
1837
  prop = runt.model.props.get(name)
1839
1838
  if prop is not None:
@@ -4029,6 +4028,13 @@ class FormName(Value):
4029
4028
  async def compute(self, runt, path):
4030
4029
  return await self.kids[0].compute(runt, path)
4031
4030
 
4031
+ class DerefProps(Value):
4032
+ async def compute(self, runt, path):
4033
+ valu = await toprim(await self.kids[0].compute(runt, path))
4034
+ if (exc := await s_stormtypes.typeerr(valu, str)) is not None:
4035
+ raise self.kids[0].addExcInfo(exc)
4036
+ return valu
4037
+
4032
4038
  class RelProp(PropName):
4033
4039
  pass
4034
4040
 
@@ -4521,9 +4527,6 @@ class N1Walk(Oper):
4521
4527
 
4522
4528
  def buildfilter(self, runt, destforms, cmpr):
4523
4529
 
4524
- if not isinstance(destforms, (tuple, list)):
4525
- destforms = (destforms,)
4526
-
4527
4530
  if '*' in destforms:
4528
4531
  if cmpr is not None:
4529
4532
  mesg = 'Wild card walk operations do not support comparison.'
@@ -4608,6 +4611,11 @@ class N1Walk(Oper):
4608
4611
  dest = await self.kids[1].compute(runt, path)
4609
4612
  dest = await s_stormtypes.toprim(dest)
4610
4613
 
4614
+ if isinstance(dest, (tuple, list)):
4615
+ dest = [await s_stormtypes.tostr(form) for form in dest]
4616
+ else:
4617
+ dest = (await s_stormtypes.tostr(dest),)
4618
+
4611
4619
  destfilt = self.buildfilter(runt, dest, cmpr)
4612
4620
 
4613
4621
  for verb in verbs:
@@ -119,6 +119,7 @@ class LayerApi(s_cell.CellApi):
119
119
 
120
120
  self.layr = layr
121
121
  self.liftperm = ('layer', 'lift', self.layr.iden)
122
+ self.readperm = ('layer', 'read', self.layr.iden)
122
123
  self.writeperm = ('layer', 'write', self.layr.iden)
123
124
 
124
125
  async def iterLayerNodeEdits(self):
@@ -126,7 +127,8 @@ class LayerApi(s_cell.CellApi):
126
127
  Scan the full layer and yield artificial nodeedit sets.
127
128
  '''
128
129
 
129
- await self._reqUserAllowed(self.liftperm)
130
+ if not self.allowed(self.liftperm):
131
+ await self._reqUserAllowed(self.readperm)
130
132
  async for item in self.layr.iterLayerNodeEdits():
131
133
  yield item
132
134
  await asyncio.sleep(0)
@@ -165,13 +167,15 @@ class LayerApi(s_cell.CellApi):
165
167
 
166
168
  Once caught up with storage, yield them in realtime.
167
169
  '''
168
- await self._reqUserAllowed(self.liftperm)
170
+ if not self.allowed(self.liftperm):
171
+ await self._reqUserAllowed(self.readperm)
169
172
  async for item in self.layr.syncNodeEdits(offs, wait=wait, reverse=reverse):
170
173
  yield item
171
174
  await asyncio.sleep(0)
172
175
 
173
176
  async def syncNodeEdits2(self, offs, wait=True):
174
- await self._reqUserAllowed(self.liftperm)
177
+ if not self.allowed(self.liftperm):
178
+ await self._reqUserAllowed(self.readperm)
175
179
  async for item in self.layr.syncNodeEdits2(offs, wait=wait):
176
180
  yield item
177
181
  await asyncio.sleep(0)
@@ -180,18 +184,21 @@ class LayerApi(s_cell.CellApi):
180
184
  '''
181
185
  Returns what will be the *next* nodeedit log index.
182
186
  '''
183
- await self._reqUserAllowed(self.liftperm)
187
+ if not self.allowed(self.liftperm):
188
+ await self._reqUserAllowed(self.readperm)
184
189
  return await self.layr.getEditIndx()
185
190
 
186
191
  async def getEditSize(self):
187
192
  '''
188
193
  Return the total number of (edits, meta) pairs in the layer changelog.
189
194
  '''
190
- await self._reqUserAllowed(self.liftperm)
195
+ if not self.allowed(self.liftperm):
196
+ await self._reqUserAllowed(self.readperm)
191
197
  return await self.layr.getEditSize()
192
198
 
193
199
  async def getIden(self):
194
- await self._reqUserAllowed(self.liftperm)
200
+ if not self.allowed(self.liftperm):
201
+ await self._reqUserAllowed(self.readperm)
195
202
  return self.layr.iden
196
203
 
197
204
  BUID_CACHE_SIZE = 10000
@@ -3350,7 +3357,7 @@ class Layer(s_nexus.Pusher):
3350
3357
  nodeedits = [(buid, newp_formname, [set_edit])]
3351
3358
 
3352
3359
  _, changes = await self.saveNodeEdits(nodeedits, meta)
3353
- return bool(changes[0][2])
3360
+ return any(c[2] for c in changes)
3354
3361
 
3355
3362
  async def delStorNode(self, buid, meta):
3356
3363
  '''
@@ -3434,7 +3441,7 @@ class Layer(s_nexus.Pusher):
3434
3441
  if changed: # pragma: no cover
3435
3442
  return changed
3436
3443
 
3437
- return bool(changes[0][2])
3444
+ return any(c[2] for c in changes)
3438
3445
 
3439
3446
  for n2iden, edges in n2edges.items():
3440
3447
  edits = [(EDIT_EDGE_DEL, edge, ()) for edge in edges]
@@ -3455,7 +3462,7 @@ class Layer(s_nexus.Pusher):
3455
3462
  nodeedits = [(buid, oldp_formname, [del_edit])]
3456
3463
 
3457
3464
  _, changes = await self.saveNodeEdits(nodeedits, meta)
3458
- return bool(changes[0][2])
3465
+ return any(c[2] for c in changes)
3459
3466
 
3460
3467
  async def delNodeData(self, buid, meta, name=None):
3461
3468
  '''
@@ -3480,7 +3487,7 @@ class Layer(s_nexus.Pusher):
3480
3487
  nodeedits = [(buid, sode.get('form'), edits)]
3481
3488
 
3482
3489
  _, changes = await self.saveNodeEdits(nodeedits, meta)
3483
- return bool(changes[0][2])
3490
+ return any(c[2] for c in changes)
3484
3491
 
3485
3492
  async def delEdge(self, n1buid, verb, n2buid, meta):
3486
3493
  sode = self._getStorNode(n1buid)
@@ -3497,7 +3504,7 @@ class Layer(s_nexus.Pusher):
3497
3504
  nodeedits = [(n1buid, sode.get('form'), edits)]
3498
3505
 
3499
3506
  _, changes = await self.saveNodeEdits(nodeedits, meta)
3500
- return bool(changes[0][2])
3507
+ return any(c[2] for c in changes)
3501
3508
 
3502
3509
  async def storNodeEdits(self, nodeedits, meta):
3503
3510
 
@@ -572,7 +572,7 @@ class NexsRoot(s_base.Base):
572
572
 
573
573
  offs, args = item
574
574
  if offs != self.nexslog.index():
575
- logger.error('Local Nexus offset is out of sync from remote cell! Aborting mirror sync')
575
+ logger.error(f'Local Nexus offset is out of sync from remote cell! Aborting mirror sync. Local offs={self.nexslog.index()}, Remote {offs=}')
576
576
  await self.fini()
577
577
  return
578
578
 
@@ -669,6 +669,7 @@ ruleClassMap = {
669
669
  'condsetoper': s_ast.CondSetOper,
670
670
  'condtrysetoper': lambda astinfo, kids: s_ast.CondSetOper(astinfo, kids, errok=True),
671
671
  'condsubq': s_ast.SubqCond,
672
+ 'derefprops': s_ast.DerefProps,
672
673
  'dollarexpr': s_ast.DollarExpr,
673
674
  'edgeaddn1': s_ast.EditEdgeAdd,
674
675
  'edgedeln1': s_ast.EditEdgeDel,
@@ -344,6 +344,7 @@ class StormRst(s_base.Base):
344
344
  'storm-cortex': self._handleStormCortex,
345
345
  'storm-envvar': self._handleStormEnvVar,
346
346
  'storm-expect': self._handleStormExpect,
347
+ 'storm-python-path': self._handlePythonPath,
347
348
  'storm-multiline': self._handleStormMultiline,
348
349
  'storm-mock-http': self._handleStormMockHttp,
349
350
  'storm-vcr-opts': self._handleStormVcrOpts,
@@ -374,6 +375,22 @@ class StormRst(s_base.Base):
374
375
  raise s_exc.NoSuchName(mesg=f'The {directive} directive is not supported', directive=directive)
375
376
  return handler
376
377
 
378
+ async def _handlePythonPath(self, text):
379
+ '''
380
+ Add the text to sys.path.
381
+
382
+ Args:
383
+ text: The path to add.
384
+ '''
385
+ if not os.path.isdir(text):
386
+ raise s_exc.NoSuchDir(mesg=f'The path {text} is not a directory', path=text)
387
+ if text not in sys.path:
388
+ logger.debug(f'Inserting {text} into sys.path')
389
+ sys.path.insert(0, text)
390
+ def onfini():
391
+ sys.path.remove(text)
392
+ self.onfini(onfini)
393
+
377
394
  async def _handleStorm(self, text):
378
395
  '''
379
396
  Run a Storm command and generate text from the output.
@@ -618,7 +635,8 @@ class StormRst(s_base.Base):
618
635
  query = query.replace('--fail-ok', '')
619
636
  query = query.strip()
620
637
 
621
- env = self.context.get('shell-env')
638
+ env = dict(os.environ)
639
+ env.update(self.context.get('shell-env', {}))
622
640
 
623
641
  stderr = None
624
642
  if opts.include_stderr:
@@ -816,6 +816,10 @@ _reqValidPkgdefSchema = {
816
816
  'items': {'type': 'array',
817
817
  'items': {'type': 'string'}},
818
818
  },
819
+ 'asroot:ondeny:import': {
820
+ 'type': 'string',
821
+ 'enum': ['allow', 'warn', 'deny'],
822
+ },
819
823
  },
820
824
  'additionalProperties': True,
821
825
  'required': ['name', 'storm']
@@ -1305,6 +1305,11 @@ class Snap(s_base.Base):
1305
1305
  mesg = 'The snapshot is in read-only mode.'
1306
1306
  raise s_exc.IsReadOnly(mesg=mesg)
1307
1307
 
1308
+ useriden = meta.get('user')
1309
+ if useriden is None:
1310
+ mesg = 'meta is missing user key. Cannot process edits.'
1311
+ raise s_exc.BadArg(mesg=mesg, name='user')
1312
+
1308
1313
  wlyr = self.wlyr
1309
1314
  nodes = []
1310
1315
  callbacks = []
@@ -1344,12 +1349,12 @@ class Snap(s_base.Base):
1344
1349
  if etyp == s_layer.EDIT_NODE_ADD:
1345
1350
  node.bylayer['ndef'] = wlyr.iden
1346
1351
  callbacks.append((node.form.wasAdded, (node,)))
1347
- callbacks.append((self.view.runNodeAdd, (node,)))
1352
+ callbacks.append((self.view.runNodeAdd, (node, useriden)))
1348
1353
  continue
1349
1354
 
1350
1355
  if etyp == s_layer.EDIT_NODE_DEL:
1351
1356
  callbacks.append((node.form.wasDeleted, (node,)))
1352
- callbacks.append((self.view.runNodeDel, (node,)))
1357
+ callbacks.append((self.view.runNodeDel, (node, useriden)))
1353
1358
  continue
1354
1359
 
1355
1360
  if etyp == s_layer.EDIT_PROP_SET:
@@ -1365,7 +1370,7 @@ class Snap(s_base.Base):
1365
1370
  node.bylayer['props'][name] = wlyr.iden
1366
1371
 
1367
1372
  callbacks.append((prop.wasSet, (node, oldv)))
1368
- callbacks.append((self.view.runPropSet, (node, prop, oldv)))
1373
+ callbacks.append((self.view.runPropSet, (node, prop, oldv, useriden)))
1369
1374
  continue
1370
1375
 
1371
1376
  if etyp == s_layer.EDIT_PROP_DEL:
@@ -1381,7 +1386,7 @@ class Snap(s_base.Base):
1381
1386
  node.bylayer['props'].pop(name, None)
1382
1387
 
1383
1388
  callbacks.append((prop.wasDel, (node, oldv)))
1384
- callbacks.append((self.view.runPropSet, (node, prop, oldv)))
1389
+ callbacks.append((self.view.runPropSet, (node, prop, oldv, useriden)))
1385
1390
  continue
1386
1391
 
1387
1392
  if etyp == s_layer.EDIT_TAG_SET:
@@ -1391,7 +1396,7 @@ class Snap(s_base.Base):
1391
1396
  node.tags[tag] = valu
1392
1397
  node.bylayer['tags'][tag] = wlyr.iden
1393
1398
 
1394
- callbacks.append((self.view.runTagAdd, (node, tag, valu)))
1399
+ callbacks.append((self.view.runTagAdd, (node, tag, valu, useriden,)))
1395
1400
  continue
1396
1401
 
1397
1402
  if etyp == s_layer.EDIT_TAG_DEL:
@@ -1401,7 +1406,7 @@ class Snap(s_base.Base):
1401
1406
  node.tags.pop(tag, None)
1402
1407
  node.bylayer['tags'].pop(tag, None)
1403
1408
 
1404
- callbacks.append((self.view.runTagDel, (node, tag, oldv)))
1409
+ callbacks.append((self.view.runTagDel, (node, tag, oldv, useriden)))
1405
1410
  continue
1406
1411
 
1407
1412
  if etyp == s_layer.EDIT_TAGPROP_SET:
@@ -1436,14 +1441,15 @@ class Snap(s_base.Base):
1436
1441
  if etyp == s_layer.EDIT_EDGE_ADD:
1437
1442
  verb, n2iden = parms
1438
1443
  n2 = await self.getNodeByBuid(s_common.uhex(n2iden))
1439
- callbacks.append((self.view.runEdgeAdd, (node, verb, n2)))
1444
+ callbacks.append((self.view.runEdgeAdd, (node, verb, n2, useriden)))
1440
1445
 
1441
1446
  if etyp == s_layer.EDIT_EDGE_DEL:
1442
1447
  verb, n2iden = parms
1443
1448
  n2 = await self.getNodeByBuid(s_common.uhex(n2iden))
1444
- callbacks.append((self.view.runEdgeDel, (node, verb, n2)))
1449
+ callbacks.append((self.view.runEdgeDel, (node, verb, n2, useriden)))
1445
1450
 
1446
- [await func(*args) for (func, args) in callbacks]
1451
+ for func, args in callbacks:
1452
+ await func(*args)
1447
1453
 
1448
1454
  if actualedits:
1449
1455
  await self.fire('node:edits', edits=actualedits)