synapse 2.202.0__tar.gz → 2.204.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.202.0/synapse.egg-info → synapse-2.204.0}/PKG-INFO +4 -2
  2. {synapse-2.202.0 → synapse-2.204.0}/pyproject.toml +2 -1
  3. {synapse-2.202.0 → synapse-2.204.0}/synapse/axon.py +4 -4
  4. {synapse-2.202.0 → synapse-2.204.0}/synapse/cmds/cortex.py +4 -6
  5. {synapse-2.202.0 → synapse-2.204.0}/synapse/cmds/hive.py +10 -10
  6. {synapse-2.202.0 → synapse-2.204.0}/synapse/common.py +17 -58
  7. {synapse-2.202.0 → synapse-2.204.0}/synapse/cortex.py +6 -6
  8. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/__init__.py +3 -2
  9. synapse-2.204.0/synapse/data/iana.uris.mpk +1 -0
  10. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/auth.py +3 -0
  11. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/autodoc.py +3 -3
  12. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/cell.py +21 -1
  13. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/cli.py +2 -2
  14. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/config.py +2 -2
  15. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/encoding.py +4 -3
  16. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/httpapi.py +7 -11
  17. synapse-2.204.0/synapse/lib/json.py +224 -0
  18. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/lmdbslab.py +1 -1
  19. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/oauth.py +176 -54
  20. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/rstorm.py +18 -14
  21. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/schemas.py +87 -1
  22. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/scrape.py +35 -13
  23. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/snap.py +2 -1
  24. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/storm.lark +2 -2
  25. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/storm.py +11 -6
  26. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormhttp.py +11 -13
  27. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/aha.py +4 -4
  28. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/auth.py +1 -1
  29. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/cache.py +2 -2
  30. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/cortex.py +5 -5
  31. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/graph.py +1 -1
  32. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/imap.py +1 -1
  33. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/json.py +8 -11
  34. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/model.py +1 -1
  35. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/notifications.py +2 -2
  36. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/oauth.py +105 -2
  37. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/stats.py +4 -0
  38. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/stix.py +3 -4
  39. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/vault.py +6 -6
  40. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/xml.py +2 -2
  41. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormtypes.py +19 -28
  42. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/structlog.py +3 -3
  43. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/types.py +2 -1
  44. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/urlhelp.py +28 -4
  45. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/version.py +2 -2
  46. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/view.py +7 -3
  47. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/base.py +51 -2
  48. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/person.py +5 -2
  49. {synapse-2.202.0 → synapse-2.204.0}/synapse/telepath.py +5 -3
  50. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/__init__.py +0 -1
  51. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_axon.py +1 -1
  52. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_cmds_cortex.py +3 -2
  53. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_cmds_hive.py +4 -4
  54. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_common.py +29 -19
  55. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_cortex.py +5 -5
  56. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_ast.py +3 -3
  57. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_autodoc.py +5 -5
  58. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_base.py +1 -1
  59. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_cell.py +16 -10
  60. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_config.py +2 -2
  61. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_encoding.py +2 -2
  62. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_grammar.py +86 -64
  63. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_httpapi.py +56 -13
  64. synapse-2.204.0/synapse/tests/test_lib_json.py +219 -0
  65. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_multislabseqn.py +2 -1
  66. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_node.py +2 -2
  67. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_scrape.py +50 -0
  68. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_storm.py +36 -8
  69. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormhttp.py +4 -4
  70. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_auth.py +3 -2
  71. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_cortex.py +10 -12
  72. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_infosec.py +2 -3
  73. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_json.py +18 -21
  74. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_log.py +1 -1
  75. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_oauth.py +603 -1
  76. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_stats.py +13 -3
  77. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_stix.py +5 -5
  78. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormtypes.py +4 -4
  79. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_structlog.py +5 -6
  80. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_urlhelp.py +7 -0
  81. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_view.py +8 -0
  82. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_base.py +32 -0
  83. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_infotech.py +2 -2
  84. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_person.py +2 -0
  85. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_telepath.py +0 -1
  86. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_cryo_cat.py +4 -3
  87. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_docker_validate.py +4 -2
  88. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_feed.py +30 -2
  89. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_genpkg.py +1 -1
  90. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_healthcheck.py +8 -7
  91. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_utils.py +2 -2
  92. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/utils.py +3 -3
  93. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/autodoc.py +3 -3
  94. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/changelog.py +2 -2
  95. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/cryo/cat.py +3 -3
  96. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/csvtool.py +2 -3
  97. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/docker/validate.py +5 -5
  98. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/feed.py +2 -1
  99. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/genpkg.py +3 -2
  100. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/healthcheck.py +2 -3
  101. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/json2mpk.py +2 -2
  102. {synapse-2.202.0 → synapse-2.204.0}/synapse/utils/getrefs.py +6 -6
  103. synapse-2.204.0/synapse/vendor/cpython/lib/json.py +35 -0
  104. synapse-2.204.0/synapse/vendor/cpython/lib/test/test_json.py +22 -0
  105. {synapse-2.202.0 → synapse-2.204.0/synapse.egg-info}/PKG-INFO +4 -2
  106. {synapse-2.202.0 → synapse-2.204.0}/synapse.egg-info/SOURCES.txt +5 -0
  107. {synapse-2.202.0 → synapse-2.204.0}/synapse.egg-info/requires.txt +1 -0
  108. {synapse-2.202.0 → synapse-2.204.0}/LICENSE +0 -0
  109. {synapse-2.202.0 → synapse-2.204.0}/README.rst +0 -0
  110. {synapse-2.202.0 → synapse-2.204.0}/setup.cfg +0 -0
  111. {synapse-2.202.0 → synapse-2.204.0}/synapse/__init__.py +0 -0
  112. {synapse-2.202.0 → synapse-2.204.0}/synapse/cells.py +0 -0
  113. {synapse-2.202.0 → synapse-2.204.0}/synapse/cmds/__init__.py +0 -0
  114. {synapse-2.202.0 → synapse-2.204.0}/synapse/cmds/boss.py +0 -0
  115. {synapse-2.202.0 → synapse-2.204.0}/synapse/cryotank.py +0 -0
  116. {synapse-2.202.0 → synapse-2.204.0}/synapse/daemon.py +0 -0
  117. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/attack-flow/LICENSE.txt +0 -0
  118. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/attack-flow/README.md +0 -0
  119. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/attack-flow/attack-flow-schema-2.0.0.json +0 -0
  120. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/certs/cas/The Vertex Project Intermediate CA 00.crt +0 -0
  121. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/certs/cas/The Vertex Project ROOT CA.crt +0 -0
  122. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/certs/crls/The Vertex Project Intermediate CA 00.crl +0 -0
  123. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/certs/crls/The Vertex Project ROOT CA.crl +0 -0
  124. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/iana.tlds.mpk +0 -0
  125. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/README.md +0 -0
  126. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/LICENSE.txt +0 -0
  127. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/binary.json +0 -0
  128. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/bundle.json +0 -0
  129. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/core.json +0 -0
  130. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/cyber-observable-core.json +0 -0
  131. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/dictionary.json +0 -0
  132. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension-definition.json +0 -0
  133. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension.json +0 -0
  134. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/external-reference.json +0 -0
  135. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/granular-marking.json +0 -0
  136. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hashes-type.json +0 -0
  137. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hex.json +0 -0
  138. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/identifier.json +0 -0
  139. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/kill-chain-phase.json +0 -0
  140. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/language-content.json +0 -0
  141. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/marking-definition.json +0 -0
  142. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/properties.json +0 -0
  143. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/timestamp.json +0 -0
  144. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/url-regex.json +0 -0
  145. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/artifact.json +0 -0
  146. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/autonomous-system.json +0 -0
  147. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/directory.json +0 -0
  148. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/domain-name.json +0 -0
  149. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-addr.json +0 -0
  150. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-message.json +0 -0
  151. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/file.json +0 -0
  152. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv4-addr.json +0 -0
  153. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv6-addr.json +0 -0
  154. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mac-addr.json +0 -0
  155. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mutex.json +0 -0
  156. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/network-traffic.json +0 -0
  157. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/process.json +0 -0
  158. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/software.json +0 -0
  159. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/url.json +0 -0
  160. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/user-account.json +0 -0
  161. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/windows-registry-key.json +0 -0
  162. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/x509-certificate.json +0 -0
  163. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/attack-pattern.json +0 -0
  164. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/campaign.json +0 -0
  165. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/course-of-action.json +0 -0
  166. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/grouping.json +0 -0
  167. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/identity.json +0 -0
  168. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/incident.json +0 -0
  169. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/indicator.json +0 -0
  170. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/infrastructure.json +0 -0
  171. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/intrusion-set.json +0 -0
  172. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/location.json +0 -0
  173. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware-analysis.json +0 -0
  174. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware.json +0 -0
  175. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/note.json +0 -0
  176. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/observed-data.json +0 -0
  177. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/opinion.json +0 -0
  178. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/report.json +0 -0
  179. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/threat-actor.json +0 -0
  180. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/tool.json +0 -0
  181. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/vulnerability.json +0 -0
  182. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/relationship.json +0 -0
  183. {synapse-2.202.0 → synapse-2.204.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/sighting.json +0 -0
  184. {synapse-2.202.0 → synapse-2.204.0}/synapse/datamodel.py +0 -0
  185. {synapse-2.202.0 → synapse-2.204.0}/synapse/exc.py +0 -0
  186. {synapse-2.202.0 → synapse-2.204.0}/synapse/glob.py +0 -0
  187. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/__init__.py +0 -0
  188. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/agenda.py +0 -0
  189. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/aha.py +0 -0
  190. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/ast.py +0 -0
  191. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/base.py +0 -0
  192. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/boss.py +0 -0
  193. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/cache.py +0 -0
  194. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/certdir.py +0 -0
  195. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/chop.py +0 -0
  196. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/cmd.py +0 -0
  197. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/cmdr.py +0 -0
  198. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/const.py +0 -0
  199. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/coro.py +0 -0
  200. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/crypto/__init__.py +0 -0
  201. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/crypto/coin.py +0 -0
  202. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/crypto/ecc.py +0 -0
  203. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/crypto/passwd.py +0 -0
  204. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/crypto/rsa.py +0 -0
  205. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/crypto/tinfoil.py +0 -0
  206. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/datfile.py +0 -0
  207. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/drive.py +0 -0
  208. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/dyndeps.py +0 -0
  209. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/gis.py +0 -0
  210. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/grammar.py +0 -0
  211. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/hashitem.py +0 -0
  212. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/hashset.py +0 -0
  213. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/health.py +0 -0
  214. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/hive.py +0 -0
  215. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/ingest.py +0 -0
  216. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/interval.py +0 -0
  217. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/jsonstor.py +0 -0
  218. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/layer.py +0 -0
  219. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/link.py +0 -0
  220. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/modelrev.py +0 -0
  221. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/module.py +0 -0
  222. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/modules.py +0 -0
  223. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/msgpack.py +0 -0
  224. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/multislabseqn.py +0 -0
  225. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/nexus.py +0 -0
  226. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/node.py +0 -0
  227. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/output.py +0 -0
  228. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/parser.py +0 -0
  229. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/platforms/__init__.py +0 -0
  230. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/platforms/common.py +0 -0
  231. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/platforms/darwin.py +0 -0
  232. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/platforms/freebsd.py +0 -0
  233. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/platforms/linux.py +0 -0
  234. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/platforms/windows.py +0 -0
  235. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/queue.py +0 -0
  236. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/ratelimit.py +0 -0
  237. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/reflect.py +0 -0
  238. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/scope.py +0 -0
  239. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/share.py +0 -0
  240. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/slaboffs.py +0 -0
  241. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/slabseqn.py +0 -0
  242. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/spooled.py +0 -0
  243. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/storm_format.py +0 -0
  244. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormctrl.py +0 -0
  245. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/__init__.py +0 -0
  246. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/backup.py +0 -0
  247. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/basex.py +0 -0
  248. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/cell.py +0 -0
  249. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/compression.py +0 -0
  250. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/easyperm.py +0 -0
  251. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/env.py +0 -0
  252. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/ethereum.py +0 -0
  253. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/gen.py +0 -0
  254. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/gis.py +0 -0
  255. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/hashes.py +0 -0
  256. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/hex.py +0 -0
  257. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/index.py +0 -0
  258. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/infosec.py +0 -0
  259. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/ipv6.py +0 -0
  260. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/iters.py +0 -0
  261. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/log.py +0 -0
  262. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/macro.py +0 -0
  263. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/math.py +0 -0
  264. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/mime.py +0 -0
  265. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/modelext.py +0 -0
  266. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/pack.py +0 -0
  267. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/project.py +0 -0
  268. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/random.py +0 -0
  269. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/scrape.py +0 -0
  270. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/smtp.py +0 -0
  271. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/spooled.py +0 -0
  272. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/storm.py +0 -0
  273. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/tabular.py +0 -0
  274. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/utils.py +0 -0
  275. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/version.py +0 -0
  276. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormlib/yaml.py +0 -0
  277. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormsvc.py +0 -0
  278. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/stormwhois.py +0 -0
  279. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/task.py +0 -0
  280. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/thishost.py +0 -0
  281. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/thisplat.py +0 -0
  282. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/threads.py +0 -0
  283. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/time.py +0 -0
  284. {synapse-2.202.0 → synapse-2.204.0}/synapse/lib/trigger.py +0 -0
  285. {synapse-2.202.0 → synapse-2.204.0}/synapse/lookup/__init__.py +0 -0
  286. {synapse-2.202.0 → synapse-2.204.0}/synapse/lookup/cvss.py +0 -0
  287. {synapse-2.202.0 → synapse-2.204.0}/synapse/lookup/iana.py +0 -0
  288. {synapse-2.202.0 → synapse-2.204.0}/synapse/lookup/iso3166.py +0 -0
  289. {synapse-2.202.0 → synapse-2.204.0}/synapse/lookup/macho.py +0 -0
  290. {synapse-2.202.0 → synapse-2.204.0}/synapse/lookup/pe.py +0 -0
  291. {synapse-2.202.0 → synapse-2.204.0}/synapse/lookup/phonenum.py +0 -0
  292. {synapse-2.202.0 → synapse-2.204.0}/synapse/lookup/timezones.py +0 -0
  293. {synapse-2.202.0 → synapse-2.204.0}/synapse/mindmeld.py +0 -0
  294. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/__init__.py +0 -0
  295. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/auth.py +0 -0
  296. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/belief.py +0 -0
  297. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/biz.py +0 -0
  298. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/crypto.py +0 -0
  299. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/dns.py +0 -0
  300. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/doc.py +0 -0
  301. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/economic.py +0 -0
  302. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/entity.py +0 -0
  303. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/files.py +0 -0
  304. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/geopol.py +0 -0
  305. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/geospace.py +0 -0
  306. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/gov/__init__.py +0 -0
  307. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/gov/cn.py +0 -0
  308. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/gov/intl.py +0 -0
  309. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/gov/us.py +0 -0
  310. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/inet.py +0 -0
  311. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/infotech.py +0 -0
  312. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/language.py +0 -0
  313. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/material.py +0 -0
  314. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/math.py +0 -0
  315. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/media.py +0 -0
  316. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/orgs.py +0 -0
  317. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/planning.py +0 -0
  318. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/proj.py +0 -0
  319. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/risk.py +0 -0
  320. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/science.py +0 -0
  321. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/syn.py +0 -0
  322. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/telco.py +0 -0
  323. {synapse-2.202.0 → synapse-2.204.0}/synapse/models/transport.py +0 -0
  324. {synapse-2.202.0 → synapse-2.204.0}/synapse/servers/__init__.py +0 -0
  325. {synapse-2.202.0 → synapse-2.204.0}/synapse/servers/aha.py +0 -0
  326. {synapse-2.202.0 → synapse-2.204.0}/synapse/servers/axon.py +0 -0
  327. {synapse-2.202.0 → synapse-2.204.0}/synapse/servers/cell.py +0 -0
  328. {synapse-2.202.0 → synapse-2.204.0}/synapse/servers/cortex.py +0 -0
  329. {synapse-2.202.0 → synapse-2.204.0}/synapse/servers/cryotank.py +0 -0
  330. {synapse-2.202.0 → synapse-2.204.0}/synapse/servers/jsonstor.py +0 -0
  331. {synapse-2.202.0 → synapse-2.204.0}/synapse/servers/stemcell.py +0 -0
  332. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/__init__.py +0 -0
  333. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/TestUtilsGetrefs.test_basics.yaml +0 -0
  334. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/aha/certs/cas/synapse.crt +0 -0
  335. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/aha/certs/cas/synapse.key +0 -0
  336. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.crt +0 -0
  337. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.key +0 -0
  338. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/aha/certs/users/root@synapse.crt +0 -0
  339. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/aha/certs/users/root@synapse.key +0 -0
  340. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/attack_flow/CISA AA22-138B VMWare Workspace (Alt).json +0 -0
  341. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/attack_flow/CISA_Iranian_APT.json +0 -0
  342. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/certdir/cas/ca.crt +0 -0
  343. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/certdir/cas/ca.key +0 -0
  344. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/certdir/hosts/localhost.crt +0 -0
  345. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/certdir/hosts/localhost.key +0 -0
  346. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/certdir/users/root.crt +0 -0
  347. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/certdir/users/root.key +0 -0
  348. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/certdir/users/user.crt +0 -0
  349. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/certdir/users/user.key +0 -0
  350. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/changelog/model_2.176.0_16ee721a6b7221344eaf946c3ab4602dda546b1a.yaml.gz +0 -0
  351. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/changelog/model_2.176.0_2a25c58bbd344716cd7cbc3f4304d8925b0f4ef2.yaml.gz +0 -0
  352. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/cpedata.json +0 -0
  353. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/rstorm/httpresp1.json +0 -0
  354. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/rstorm/httpresp2.json +0 -0
  355. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/rstorm/httpresp3.json +0 -0
  356. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/rstorm/httprespmulti.yaml +0 -0
  357. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/rstorm/testsvc.py +0 -0
  358. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stix_export/basic.json +0 -0
  359. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stix_export/custom0.json +0 -0
  360. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stix_export/risk0.json +0 -0
  361. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stix_import/apt1.json +0 -0
  362. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stix_import/oasis-example-00.json +0 -0
  363. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormcov/argvquery.storm +0 -0
  364. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormcov/dupesubs.storm +0 -0
  365. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormcov/lookup.storm +0 -0
  366. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormcov/pivot.storm +0 -0
  367. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormcov/pragma-nocov.storm +0 -0
  368. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormcov/spin.storm +0 -0
  369. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormcov/stormctrl.storm +0 -0
  370. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormmod/common +0 -0
  371. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormpkg/badapidef.yaml +0 -0
  372. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormpkg/badcmdname.yaml +0 -0
  373. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormpkg/badendpoints.yaml +0 -0
  374. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormpkg/badjsonpkg.yaml +0 -0
  375. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormpkg/docs/foobar.md +0 -0
  376. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormpkg/docs/foobar.svg +0 -0
  377. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormpkg/dotstorm/dotstorm.yaml +0 -0
  378. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormpkg/dotstorm/storm/commands/dotstorm.bar.storm +0 -0
  379. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormpkg/dotstorm/storm/modules/dotstorm.foo.storm +0 -0
  380. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormpkg/nocontent.yaml +0 -0
  381. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormpkg/nomime.yaml +0 -0
  382. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormpkg/nopath.yaml +0 -0
  383. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormpkg/nosuchfile.yaml +0 -0
  384. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormpkg/notitle.yaml +0 -0
  385. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormpkg/optic/index.html +0 -0
  386. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormpkg/storm/commands/invalidCMD +0 -0
  387. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormpkg/storm/commands/testpkg.baz +0 -0
  388. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormpkg/storm/commands/testpkgcmd +0 -0
  389. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormpkg/storm/modules/apimod +0 -0
  390. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormpkg/storm/modules/testmod +0 -0
  391. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormpkg/testpkg.yaml +0 -0
  392. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormpkg/workflows/testpkg-bam.newp +0 -0
  393. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormpkg/workflows/testpkg-baz.yaml +0 -0
  394. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/stormpkg/workflows/testpkg-foo.yaml +0 -0
  395. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/test.dat +0 -0
  396. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/files/testcore/cell.yaml +0 -0
  397. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/nopmod.py +0 -0
  398. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_cmds_boss.py +0 -0
  399. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_cryotank.py +0 -0
  400. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_daemon.py +0 -0
  401. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_data.py +0 -0
  402. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_datamodel.py +0 -0
  403. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_exc.py +0 -0
  404. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_glob.py +0 -0
  405. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_init.py +0 -0
  406. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_agenda.py +0 -0
  407. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_aha.py +0 -0
  408. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_auth.py +0 -0
  409. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_boss.py +0 -0
  410. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_cache.py +0 -0
  411. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_certdir.py +0 -0
  412. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_chop.py +0 -0
  413. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_cli.py +0 -0
  414. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_const.py +0 -0
  415. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_coro.py +0 -0
  416. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_crypto_coin.py +0 -0
  417. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_crypto_ecc.py +0 -0
  418. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_crypto_passwd.py +0 -0
  419. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_crypto_tinfoil.py +0 -0
  420. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_datfile.py +0 -0
  421. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_dyndeps.py +0 -0
  422. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_gis.py +0 -0
  423. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_hashitem.py +0 -0
  424. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_hashset.py +0 -0
  425. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_health.py +0 -0
  426. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_hive.py +0 -0
  427. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_interval.py +0 -0
  428. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_jsonstor.py +0 -0
  429. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_layer.py +0 -0
  430. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_link.py +0 -0
  431. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_lmdbslab.py +0 -0
  432. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_modelrev.py +0 -0
  433. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_module.py +0 -0
  434. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_msgpack.py +0 -0
  435. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_nexus.py +0 -0
  436. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_output.py +0 -0
  437. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_platforms_linux.py +0 -0
  438. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_queue.py +0 -0
  439. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_ratelimit.py +0 -0
  440. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_reflect.py +0 -0
  441. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_rstorm.py +0 -0
  442. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_scope.py +0 -0
  443. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_slaboffs.py +0 -0
  444. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_slabseqn.py +0 -0
  445. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_snap.py +0 -0
  446. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_spooled.py +0 -0
  447. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_storm_format.py +0 -0
  448. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormctrl.py +0 -0
  449. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_aha.py +0 -0
  450. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_backup.py +0 -0
  451. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_basex.py +0 -0
  452. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_cache.py +0 -0
  453. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_cell.py +0 -0
  454. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_compression.py +0 -0
  455. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_easyperm.py +0 -0
  456. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_env.py +0 -0
  457. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_ethereum.py +0 -0
  458. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_gen.py +0 -0
  459. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_gis.py +0 -0
  460. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_hashes.py +0 -0
  461. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_hex.py +0 -0
  462. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_imap.py +0 -0
  463. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_index.py +0 -0
  464. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_ipv6.py +0 -0
  465. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_iters.py +0 -0
  466. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_macro.py +0 -0
  467. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_mime.py +0 -0
  468. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_model.py +0 -0
  469. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_modelext.py +0 -0
  470. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_pack.py +0 -0
  471. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_random.py +0 -0
  472. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_scrape.py +0 -0
  473. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_smtp.py +0 -0
  474. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_spooled.py +0 -0
  475. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_storm.py +0 -0
  476. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_tabular.py +0 -0
  477. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_utils.py +0 -0
  478. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_vault.py +0 -0
  479. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_xml.py +0 -0
  480. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormlib_yaml.py +0 -0
  481. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormsvc.py +0 -0
  482. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_stormwhois.py +0 -0
  483. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_task.py +0 -0
  484. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_thishost.py +0 -0
  485. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_time.py +0 -0
  486. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_trigger.py +0 -0
  487. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_types.py +0 -0
  488. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lib_version.py +0 -0
  489. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lookup_iso3166.py +0 -0
  490. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_lookup_phonenum.py +0 -0
  491. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_mindmeld.py +0 -0
  492. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_auth.py +0 -0
  493. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_belief.py +0 -0
  494. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_biz.py +0 -0
  495. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_crypto.py +0 -0
  496. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_dns.py +0 -0
  497. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_doc.py +0 -0
  498. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_economic.py +0 -0
  499. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_files.py +0 -0
  500. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_geopol.py +0 -0
  501. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_geospace.py +0 -0
  502. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_gov_cn.py +0 -0
  503. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_gov_intl.py +0 -0
  504. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_gov_us.py +0 -0
  505. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_inet.py +0 -0
  506. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_language.py +0 -0
  507. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_material.py +0 -0
  508. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_math.py +0 -0
  509. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_media.py +0 -0
  510. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_orgs.py +0 -0
  511. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_planning.py +0 -0
  512. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_proj.py +0 -0
  513. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_risk.py +0 -0
  514. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_science.py +0 -0
  515. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_syn.py +0 -0
  516. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_telco.py +0 -0
  517. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_model_transport.py +0 -0
  518. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_servers_axon.py +0 -0
  519. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_servers_cortex.py +0 -0
  520. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_servers_cryotank.py +0 -0
  521. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_servers_stemcell.py +0 -0
  522. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_servers_univ.py +0 -0
  523. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_aha.py +0 -0
  524. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_apikey.py +0 -0
  525. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_autodoc.py +0 -0
  526. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_axon2axon.py +0 -0
  527. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_backup.py +0 -0
  528. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_cellauth.py +0 -0
  529. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_changelog.py +0 -0
  530. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_cryo_list.py +0 -0
  531. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_csvtool.py +0 -0
  532. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_easycert.py +0 -0
  533. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_guid.py +0 -0
  534. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_hiveload.py +0 -0
  535. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_hivesave.py +0 -0
  536. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_json2mpk.py +0 -0
  537. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_livebackup.py +0 -0
  538. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_modrole.py +0 -0
  539. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_moduser.py +0 -0
  540. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_promote.py +0 -0
  541. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_pullfile.py +0 -0
  542. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_pushfile.py +0 -0
  543. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_reload.py +0 -0
  544. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_rstorm.py +0 -0
  545. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_snapshot.py +0 -0
  546. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_tools_storm.py +0 -0
  547. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_utils_getrefs.py +0 -0
  548. {synapse-2.202.0 → synapse-2.204.0}/synapse/tests/test_utils_stormcov.py +0 -0
  549. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/__init__.py +0 -0
  550. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/aha/__init__.py +0 -0
  551. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/aha/clone.py +0 -0
  552. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/aha/easycert.py +0 -0
  553. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/aha/enroll.py +0 -0
  554. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/aha/list.py +0 -0
  555. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/aha/mirror.py +0 -0
  556. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/aha/provision/__init__.py +0 -0
  557. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/aha/provision/service.py +0 -0
  558. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/aha/provision/user.py +0 -0
  559. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/apikey.py +0 -0
  560. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/axon2axon.py +0 -0
  561. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/backup.py +0 -0
  562. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/cellauth.py +0 -0
  563. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/cmdr.py +0 -0
  564. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/cryo/__init__.py +0 -0
  565. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/cryo/list.py +0 -0
  566. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/docker/__init__.py +0 -0
  567. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/easycert.py +0 -0
  568. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/guid.py +0 -0
  569. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/hive/__init__.py +0 -0
  570. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/hive/load.py +0 -0
  571. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/hive/save.py +0 -0
  572. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/livebackup.py +0 -0
  573. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/modrole.py +0 -0
  574. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/moduser.py +0 -0
  575. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/promote.py +0 -0
  576. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/pullfile.py +0 -0
  577. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/pushfile.py +0 -0
  578. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/reload.py +0 -0
  579. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/rstorm.py +0 -0
  580. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/snapshot.py +0 -0
  581. {synapse-2.202.0 → synapse-2.204.0}/synapse/tools/storm.py +0 -0
  582. {synapse-2.202.0 → synapse-2.204.0}/synapse/utils/__init__.py +0 -0
  583. {synapse-2.202.0 → synapse-2.204.0}/synapse/utils/stormcov/__init__.py +0 -0
  584. {synapse-2.202.0 → synapse-2.204.0}/synapse/utils/stormcov/plugin.py +0 -0
  585. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/__init__.py +0 -0
  586. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/cashaddress/LICENSE +0 -0
  587. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/cashaddress/__init__.py +0 -0
  588. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/cashaddress/base58.py +0 -0
  589. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/cashaddress/convert.py +0 -0
  590. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/cashaddress/crypto.py +0 -0
  591. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/cashaddress/tests/__init__.py +0 -0
  592. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/cashaddress/tests/test_cashaddress.py +0 -0
  593. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/cpython/LICENSE +0 -0
  594. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/cpython/__init__.py +0 -0
  595. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/cpython/lib/__init__.py +0 -0
  596. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/cpython/lib/email/__init__.py +0 -0
  597. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/cpython/lib/email/_parseaddr.py +0 -0
  598. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/cpython/lib/email/utils.py +0 -0
  599. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/cpython/lib/http/__init__.py +0 -0
  600. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/cpython/lib/http/cookies.py +0 -0
  601. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/cpython/lib/ipaddress.py +0 -0
  602. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/cpython/lib/test/__init__.py +0 -0
  603. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/cpython/lib/test/support/__init__.py +0 -0
  604. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/cpython/lib/test/test_email/__init__.py +0 -0
  605. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/cpython/lib/test/test_email/test_email.py +0 -0
  606. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/cpython/lib/test/test_email/test_utils.py +0 -0
  607. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/cpython/lib/test/test_http_cookies.py +0 -0
  608. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/cpython/lib/test/test_ipaddress.py +0 -0
  609. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/substrateinterface/LICENSE +0 -0
  610. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/substrateinterface/__init__.py +0 -0
  611. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/substrateinterface/tests/__init__.py +0 -0
  612. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/substrateinterface/tests/test_ss58.py +0 -0
  613. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/substrateinterface/utils/__init__.py +0 -0
  614. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/substrateinterface/utils/ss58.py +0 -0
  615. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/utils.py +0 -0
  616. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/xrpl/LICENSE +0 -0
  617. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/xrpl/__init__.py +0 -0
  618. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/xrpl/constants.py +0 -0
  619. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/xrpl/core/__init__.py +0 -0
  620. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/xrpl/core/addresscodec/__init__.py +0 -0
  621. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/xrpl/core/addresscodec/codec.py +0 -0
  622. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/xrpl/core/addresscodec/exceptions.py +0 -0
  623. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/xrpl/core/addresscodec/main.py +0 -0
  624. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/xrpl/core/addresscodec/utils.py +0 -0
  625. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/xrpl/tests/__init__.py +0 -0
  626. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/xrpl/tests/test_codec.py +0 -0
  627. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/xrpl/tests/test_main.py +0 -0
  628. {synapse-2.202.0 → synapse-2.204.0}/synapse/vendor/xrpl/tests/test_main_test_cases.py +0 -0
  629. {synapse-2.202.0 → synapse-2.204.0}/synapse.egg-info/dependency_links.txt +0 -0
  630. {synapse-2.202.0 → synapse-2.204.0}/synapse.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: synapse
3
- Version: 2.202.0
3
+ Version: 2.204.0
4
4
  Summary: Synapse Intelligence Analysis Framework
5
5
  Author-email: The Vertex Project LLC <root@vertex.link>
6
6
  License: Apache License 2.0
@@ -50,6 +50,7 @@ Requires-Dist: idna<3.8,>=3.6
50
50
  Requires-Dist: python-dateutil<3.0,>=2.8
51
51
  Requires-Dist: pytz<2024.1,>=2023.3
52
52
  Requires-Dist: beautifulsoup4[html5lib]<5.0,>=4.11.1
53
+ Requires-Dist: orjson<4.0,>=3.10.15
53
54
  Provides-Extra: dev
54
55
  Requires-Dist: pytest<8.0.0,>=7.2.0; extra == "dev"
55
56
  Requires-Dist: autopep8<3.0.0,>=2.0.4; extra == "dev"
@@ -63,6 +64,7 @@ Requires-Dist: sphinx<9.0.0,>=8.0.0; extra == "docs"
63
64
  Requires-Dist: sphinx-rtd-theme<4.0.0,>=3.0.0; extra == "docs"
64
65
  Requires-Dist: sphinx-notfound-page<2.0.0,>=1.0.4; extra == "docs"
65
66
  Requires-Dist: jinja2<4.0.0,>=3.1.4; extra == "docs"
67
+ Dynamic: license-file
66
68
 
67
69
  Synapse
68
70
  =======
@@ -4,7 +4,7 @@ build-backend = 'setuptools.build_meta'
4
4
 
5
5
  [project]
6
6
  name = 'synapse'
7
- version = '2.202.0'
7
+ version = '2.204.0'
8
8
  authors = [
9
9
  { name = 'The Vertex Project LLC', email = 'root@vertex.link'},
10
10
  ]
@@ -54,6 +54,7 @@ dependencies = [
54
54
  'python-dateutil>=2.8,<3.0',
55
55
  'pytz>=2023.3,<2024.1',
56
56
  'beautifulsoup4[html5lib]>=4.11.1,<5.0',
57
+ 'orjson>=3.10.15,<4.0'
57
58
  ]
58
59
 
59
60
  [project.optional-dependencies]
@@ -1,5 +1,4 @@
1
1
  import csv
2
- import json
3
2
  import struct
4
3
  import asyncio
5
4
  import hashlib
@@ -16,6 +15,7 @@ import synapse.common as s_common
16
15
  import synapse.lib.cell as s_cell
17
16
  import synapse.lib.coro as s_coro
18
17
  import synapse.lib.base as s_base
18
+ import synapse.lib.json as s_json
19
19
  import synapse.lib.link as s_link
20
20
  import synapse.lib.const as s_const
21
21
  import synapse.lib.nexus as s_nexus
@@ -1509,8 +1509,8 @@ class Axon(s_cell.Cell):
1509
1509
  continue
1510
1510
 
1511
1511
  try:
1512
- yield json.loads(line)
1513
- except json.JSONDecodeError as e:
1512
+ yield s_json.loads(line)
1513
+ except s_exc.BadJsonText as e:
1514
1514
  logger.exception(f'Bad json line encountered for {sha256}')
1515
1515
  raise s_exc.BadJsonText(mesg=f'Bad json line encountered while processing {sha256}, ({e})',
1516
1516
  sha256=sha256) from None
@@ -1643,7 +1643,7 @@ class Axon(s_cell.Cell):
1643
1643
  else:
1644
1644
  valu = field.get('value')
1645
1645
  if not isinstance(valu, (bytes, str)):
1646
- valu = json.dumps(valu)
1646
+ valu = s_json.dumps(valu).decode()
1647
1647
 
1648
1648
  data.add_field(name,
1649
1649
  valu,
@@ -1,5 +1,4 @@
1
1
  import os
2
- import json
3
2
  import queue
4
3
  import shlex
5
4
  import pprint
@@ -10,6 +9,7 @@ import synapse.common as s_common
10
9
 
11
10
  import synapse.lib.cli as s_cli
12
11
  import synapse.lib.cmd as s_cmd
12
+ import synapse.lib.json as s_json
13
13
  import synapse.lib.node as s_node
14
14
  import synapse.lib.time as s_time
15
15
  import synapse.lib.msgpack as s_msgpack
@@ -118,9 +118,7 @@ Examples:
118
118
 
119
119
  fmt = self.locs.get('log:fmt')
120
120
  if fmt == 'jsonl':
121
- s = json.dumps(mesg, sort_keys=True) + '\n'
122
- buf = s.encode()
123
- return buf
121
+ return s_json.dumps(mesg, sort_keys=True, newline=True)
124
122
 
125
123
  elif fmt == 'mpk':
126
124
  buf = s_msgpack.en(mesg)
@@ -430,8 +428,8 @@ class StormCmd(s_cli.Cmd):
430
428
  if mesg[0] == 'node':
431
429
 
432
430
  if nodesfd is not None:
433
- byts = json.dumps(mesg[1]).encode()
434
- nodesfd.write(byts + b'\n')
431
+ byts = s_json.dumps(mesg[1], newline=True)
432
+ nodesfd.write(byts)
435
433
 
436
434
  try:
437
435
  func = self.cmdmeths[mesg[0]]
@@ -1,5 +1,4 @@
1
1
  import os
2
- import json
3
2
  import shlex
4
3
  import pprint
5
4
  import asyncio
@@ -12,6 +11,7 @@ import synapse.common as s_common
12
11
 
13
12
  import synapse.lib.cmd as s_cmd
14
13
  import synapse.lib.cli as s_cli
14
+ import synapse.lib.json as s_json
15
15
 
16
16
  ListHelp = '''
17
17
  Lists all the keys underneath a particular key in the hive.
@@ -140,8 +140,8 @@ A Hive is a hierarchy persistent storage mechanism typically used for configurat
140
140
  return
141
141
 
142
142
  if opts.json:
143
- prend = json.dumps(valu, indent=4, sort_keys=True)
144
- rend = prend.encode()
143
+ rend = s_json.dumps(valu, indent=True, sort_keys=True)
144
+ prend = rend.decode()
145
145
  elif isinstance(valu, str):
146
146
  rend = valu.encode()
147
147
  prend = valu
@@ -149,7 +149,7 @@ A Hive is a hierarchy persistent storage mechanism typically used for configurat
149
149
  rend = valu
150
150
  prend = pprint.pformat(valu)
151
151
  else:
152
- rend = json.dumps(valu, indent=4, sort_keys=True).encode()
152
+ rend = s_json.dumps(valu, indent=True, sort_keys=True)
153
153
  prend = pprint.pformat(valu)
154
154
 
155
155
  if opts.file:
@@ -172,7 +172,7 @@ A Hive is a hierarchy persistent storage mechanism typically used for configurat
172
172
  if opts.value[0] not in '([{"':
173
173
  data = opts.value
174
174
  else:
175
- data = json.loads(opts.value)
175
+ data = s_json.loads(opts.value)
176
176
  await core.setHiveKey(path, data)
177
177
  return
178
178
  elif opts.file is not None:
@@ -181,7 +181,7 @@ A Hive is a hierarchy persistent storage mechanism typically used for configurat
181
181
  if len(s) == 0:
182
182
  self.printf('Empty file. Not writing key.')
183
183
  return
184
- data = s if opts.string else json.loads(s)
184
+ data = s if opts.string else s_json.loads(s)
185
185
  await core.setHiveKey(path, data)
186
186
  return
187
187
 
@@ -201,8 +201,8 @@ A Hive is a hierarchy persistent storage mechanism typically used for configurat
201
201
  data = old_valu
202
202
  else:
203
203
  try:
204
- data = json.dumps(old_valu, indent=4, sort_keys=True)
205
- except (ValueError, TypeError):
204
+ data = s_json.dumps(old_valu, indent=True, sort_keys=True).decode()
205
+ except s_exc.MustBeJsonSafe:
206
206
  self.printf('Value is not JSON-encodable, therefore not editable.')
207
207
  return
208
208
  fh.write(data)
@@ -218,8 +218,8 @@ A Hive is a hierarchy persistent storage mechanism typically used for configurat
218
218
  self.printf('Empty file. Not writing key.')
219
219
  return
220
220
  try:
221
- valu = rawval if opts.string else json.loads(rawval)
222
- except json.JSONDecodeError as e: # pragma: no cover
221
+ valu = rawval if opts.string else s_json.loads(rawval)
222
+ except s_exc.BadJsonText as e: # pragma: no cover
223
223
  self.printf(f'JSON decode failure: [{e}]. Reopening.')
224
224
  await asyncio.sleep(1)
225
225
  continue
@@ -3,7 +3,6 @@ import os
3
3
  import ssl
4
4
  import sys
5
5
  import enum
6
- import json
7
6
  import http
8
7
  import stat
9
8
  import time
@@ -30,6 +29,7 @@ import contextlib
30
29
  import collections
31
30
 
32
31
  import http.cookies
32
+ import tornado.escape
33
33
 
34
34
  import yaml
35
35
  import regex
@@ -511,24 +511,6 @@ def getDirSize(*paths):
511
511
 
512
512
  return realsum, apprsum
513
513
 
514
- def jsload(*paths):
515
- with genfile(*paths) as fd:
516
- byts = fd.read()
517
- if not byts:
518
- return None
519
-
520
- return json.loads(byts.decode('utf8'))
521
-
522
- def jslines(*paths):
523
- with genfile(*paths) as fd:
524
- for line in fd:
525
- yield json.loads(line)
526
-
527
- def jssave(js, *paths):
528
- path = genpath(*paths)
529
- with io.open(path, 'wb') as fd:
530
- fd.write(json.dumps(js, sort_keys=True, indent=2).encode('utf8'))
531
-
532
514
  def yamlloads(data):
533
515
  return yaml.load(data, Loader)
534
516
 
@@ -959,16 +941,6 @@ def deprdate(name, date): # pragma: no cover
959
941
  mesg = f'{name} is deprecated and will be removed on {date}.'
960
942
  warnings.warn(mesg, DeprecationWarning)
961
943
 
962
- def reqjsonsafe(item):
963
- '''
964
- Returns None if item is json serializable, otherwise raises an exception.
965
- Uses default type coercion from built-in json.dumps.
966
- '''
967
- try:
968
- json.dumps(item)
969
- except TypeError as e:
970
- raise s_exc.MustBeJsonSafe(mesg=str(e)) from None
971
-
972
944
  def jsonsafe_nodeedits(nodeedits):
973
945
  '''
974
946
  Hexlify the buid of each node:edits
@@ -998,35 +970,6 @@ def reprauthrule(rule):
998
970
  text = '!' + text
999
971
  return text
1000
972
 
1001
- def reqJsonSafeStrict(item):
1002
- '''
1003
- Require the item to be safe to serialize to JSON without type coercion issues.
1004
-
1005
- Args:
1006
- item: The python primitive to check.
1007
-
1008
- Returns:
1009
- None
1010
-
1011
- Raise:
1012
- s_exc.BadArg: If the item contains invalid data.
1013
- '''
1014
- if item is None:
1015
- return
1016
- if isinstance(item, (str, int,)):
1017
- return
1018
- if isinstance(item, (list, tuple)):
1019
- for valu in item:
1020
- reqJsonSafeStrict(valu)
1021
- return
1022
- if isinstance(item, dict):
1023
- for key, valu in item.items():
1024
- if not isinstance(key, str):
1025
- raise s_exc.BadArg(mesg='Non-string keys are not valid json', key=key)
1026
- reqJsonSafeStrict(valu)
1027
- return
1028
- raise s_exc.BadArg(mesg=f'Invalid item type encountered: {item.__class__.__name__}')
1029
-
1030
973
  async def merggenr(genrs, cmprkey):
1031
974
  '''
1032
975
  Iterate multiple sorted async generators and yield their results in order.
@@ -1234,7 +1177,23 @@ def _patch_http_cookies():
1234
1177
  return
1235
1178
  http.cookies._unquote = v_cookies._unquote
1236
1179
 
1180
+ def _patch_tornado_json():
1181
+ import synapse.lib.json as s_json
1182
+
1183
+ if hasattr(tornado.escape, 'json_encode'):
1184
+ # This exists for a specific reason. See the following URL for explanation:
1185
+ # https://github.com/tornadoweb/tornado/blob/d5ac65c1f1453c2aeddd089d8e68c159645c13e1/tornado/escape.py#L83-L96
1186
+ # https://github.com/tornadoweb/tornado/pull/706
1187
+ def _tornado_json_encode(value):
1188
+ return s_json.dumps(value).replace(b'</', br'<\/').decode()
1189
+
1190
+ tornado.escape.json_encode = _tornado_json_encode
1191
+
1192
+ if hasattr(tornado.escape, 'json_decode'):
1193
+ tornado.escape.json_decode = s_json.loads
1194
+
1237
1195
  _patch_http_cookies()
1196
+ _patch_tornado_json()
1238
1197
 
1239
1198
  # TODO: Switch back to using asyncio.wait_for when we are using py 3.12+
1240
1199
  # This is a workaround for a race where asyncio.wait_for can end up
@@ -1265,7 +1265,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
1265
1265
 
1266
1266
  byts = self.slab.get(newname.encode(), db=self.macrodb)
1267
1267
  if byts is not None:
1268
- raise s_exc.DupName('A macro named {newname} already exists!')
1268
+ raise s_exc.DupName(mesg=f'A macro named {newname} already exists!', name=newname)
1269
1269
 
1270
1270
  self.slab.put(newname.encode(), s_msgpack.en(mdef), db=self.macrodb)
1271
1271
  self.slab.pop(name.encode(), db=self.macrodb)
@@ -6535,7 +6535,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
6535
6535
 
6536
6536
  cdef['reqs'] = reqs
6537
6537
  except KeyError:
6538
- raise s_exc.BadConfValu('Unrecognized time unit')
6538
+ raise s_exc.BadConfValu(mesg='Unrecognized time unit')
6539
6539
 
6540
6540
  if not cdef.get('iden'):
6541
6541
  cdef['iden'] = s_common.guid()
@@ -6992,7 +6992,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
6992
6992
 
6993
6993
  vault = self.getVault(iden)
6994
6994
  if vault is None:
6995
- raise s_exc.NoSuchIden(mesg=f'Vault not found for iden: {iden}.')
6995
+ raise s_exc.NoSuchIden(mesg=f'Vault not found for iden: {iden}.', iden=iden)
6996
6996
 
6997
6997
  return vault
6998
6998
 
@@ -7345,7 +7345,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
7345
7345
  scope = 'roles'
7346
7346
  ident = self.auth.role(iden)
7347
7347
  if ident is None:
7348
- raise s_exc.NoSuchIden(mesg=f'Iden {iden} is not a valid user or role.')
7348
+ raise s_exc.NoSuchIden(mesg=f'Iden {iden} is not a valid user or role.', iden=iden)
7349
7349
 
7350
7350
  await self._setEasyPerm(vault, scope, ident.iden, level)
7351
7351
  permissions = vault.get('permissions')
@@ -7366,14 +7366,14 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
7366
7366
  Returns: Updated vault.
7367
7367
  '''
7368
7368
  if self.getVaultByName(name) is not None:
7369
- raise s_exc.DupName(mesg=f'Vault with name {name} already exists.')
7369
+ raise s_exc.DupName(mesg=f'Vault with name {name} already exists.', name=name)
7370
7370
 
7371
7371
  return await self._push(('vault:set'), iden, 'name', name)
7372
7372
 
7373
7373
  @s_nexus.Pusher.onPush('vault:set')
7374
7374
  async def _setVault(self, iden, key, valu):
7375
7375
  if key not in ('name', 'permissions'): # pragma: no cover
7376
- raise s_exc.BadArg('Only vault names and permissions can be changed.')
7376
+ raise s_exc.BadArg(mesg='Only vault names and permissions can be changed.')
7377
7377
 
7378
7378
  vault = self.reqVault(iden)
7379
7379
  oldv = vault.get(key)
@@ -1,8 +1,9 @@
1
1
  import os
2
- import json
3
2
  import logging
4
3
 
5
4
  import synapse.common as s_common
5
+
6
+ import synapse.lib.json as s_json
6
7
  import synapse.lib.datfile as s_datfile
7
8
  import synapse.lib.msgpack as s_msgpack
8
9
 
@@ -26,7 +27,7 @@ def get(name, defval=None):
26
27
 
27
28
  def getJSON(name):
28
29
  with s_datfile.openDatFile(f'synapse.data/{name}.json') as fd:
29
- return json.loads(fd.read())
30
+ return s_json.load(fd)
30
31
 
31
32
  def path(*names):
32
33
  return s_common.genpath(dirname, *names)
@@ -0,0 +1 @@
1
+ ���aaa�aaas�about�acap�acct�acd�acr�adiumxtra�adt�afp�afs�aim�amss�android�appdata�apt�ar�ari�ark�at�attachment�aw�barion�bb�beshare�bitcoin�bitcoincash�blob�bluetooth�bolo�brid�browserext�cabal�calculator�callto�cap�cast�casts�chrome�chrome-extension�cid�coap�coap+tcp�coap+ws�coaps�coaps+tcp�coaps+ws�com-eventbrite-attendee�content�content-type�crid�cstr�cvs�dab�dat�data�dav�dhttp�diaspora�dict�did�dis�dlna-playcontainer�dlna-playsingle�dns�dntp�doi�dpp�drm�drop�dtmi�dtn�dvb�dvx�dweb�ed2k�eid�elsi�embedded�ens�ethereum�example�facetime�fax�feed�feedready�fido�file�filesystem�finger�first-run-pen-experience�fish�fm�ftp�fuchsia-pkg�geo�gg�git�gitoid�gizmoproject�go�gopher�graph�grd�gtalk�h323�ham�hcap�hcp�hs20�http�https�hxxp�hxxps�hydrazone�hyper�iax�icap�icon�ilstring�im�imap�info�iotdisco�ipfs�ipn�ipns�ipp�ipps�irc�irc6�ircs�iris�iris.beep�iris.lwz�iris.xpc�iris.xpcs�isostore�itms�jabber�jar�jms�keyparc�lastfm�lbry�ldap�ldaps�leaptofrogans�lid�lorawan�lpa�lvlt�#machineProvisioningProgressReporter�magnet�mailserver�mailto�maps�market�matrix�message�microsoft.windows.camera�$microsoft.windows.camera.multipicker�microsoft.windows.camera.picker�mid�mms�modem�mongodb�moz�ms-access�ms-appinstaller�ms-browser-extension�ms-calculator�ms-drive-to�ms-enrollment�ms-excel�ms-eyecontrolspeech�ms-gamebarservices�ms-gamingoverlay�ms-getoffice�ms-help�ms-infopath�ms-inputapp�ms-launchremotedesktop�ms-lockscreencomponent-config�ms-media-stream-id�ms-meetnow�ms-mixedrealitycapture�ms-mobileplans�ms-newsandinterests�ms-officeapp�ms-people�ms-personacard�ms-project�ms-powerpoint�ms-publisher�ms-recall�ms-remotedesktop�ms-remotedesktop-launch�ms-restoretabcompanion�ms-screenclip�ms-screensketch�ms-search�ms-search-repair�ms-secondary-screen-controller�ms-secondary-screen-setup�ms-settings�ms-settings-airplanemode�ms-settings-bluetooth�ms-settings-camera�ms-settings-cellular�ms-settings-cloudstorage�ms-settings-connectabledevices�ms-settings-displays-topology�ms-settings-emailandaccounts�ms-settings-language�ms-settings-location�ms-settings-lock�ms-settings-nfctransactions�ms-settings-notifications�ms-settings-power�ms-settings-privacy�ms-settings-proximity�ms-settings-screenrotation�ms-settings-wifi�ms-settings-workplace�ms-spd�ms-stickers�ms-sttoverlay�ms-transit-to�ms-useractivityset�ms-virtualtouchpad�ms-visio�ms-walk-to�ms-whiteboard�ms-whiteboard-cmd�ms-widgetboard�ms-widgets�ms-word�msnim�msrp�msrps�mss�mt�mtqp�mumble�mupdate�mvn�mvrp�mvrps�news�nfs�ni�nih�nntp�notes�num�ocf�oid�onenote�onenote-cmd�opaquelocktoken�openid�openpgp4fpr�otpauth�p1�pack�palm�paparazzi�payment�payto�pkcs11�platform�pop�pres�prospero�proxy�pwid�psyc�pttp�qb�query�quic-transport�redis�rediss�reload�res�resource�rmi�rsync�rtmfp�rtmp�rtsp�rtsps�rtspu�sarif�secondlife�secret-token�service�session�sftp�sgn�shc�shelter�sieve�simpleledger�simplex�sip�sips�skype�smb�smp�sms�smtp�snews�snmp�soap.beep�soap.beeps�soldat�spiffe�spotify�ssb�ssh�starknet�steam�stun�stuns�submit�svn�swh�swid�swidpath�tag�taler�teamspeak�teapot�teapots�tel�teliaeid�telnet�tftp�things�thismessage�thzp�tip�tn3270�tool�turn�turns�tv�udp�unreal�upt�urn�ut2004�uuid-in-package�v-event�vemmi�ventrilo�ves�videotex�vnc�view-source�vscode�vscode-insiders�vsls�w3�wais�web3�wcr�webcal�web+ap�wifi�wpid�ws�wss�wtai�wyciwyg�xcon�xcon-userid�xfire�xmlrpc.beep�xmlrpc.beeps�xmpp�xftp�xrcp�xri�ymsgr�z39.50�z39.50r�z39.50s
@@ -423,6 +423,9 @@ class Auth(s_nexus.Pusher):
423
423
 
424
424
  await self.feedBeholder('user:info', mesg, gateiden=gateiden, logged=logged)
425
425
 
426
+ if name == 'locked':
427
+ await self.fire('user:lock', user=iden, locked=valu)
428
+
426
429
  # since any user info *may* effect auth
427
430
  user.clearAuthCache()
428
431
 
@@ -286,11 +286,11 @@ def genCallsig(rtype):
286
286
  if defv is s_common.novalu:
287
287
  item = name
288
288
  elif defv is None:
289
- item = f'{name}=$lib.null'
289
+ item = f'{name}=(null)'
290
290
  elif defv is True:
291
- item = f'{name}=$lib.true'
291
+ item = f'{name}=(true)'
292
292
  elif defv is False:
293
- item = f'{name}=$lib.false'
293
+ item = f'{name}=(false)'
294
294
  elif isinstance(defv, str):
295
295
  item = f'{name}={defv}'
296
296
  elif isinstance(defv, int):
@@ -3143,8 +3143,11 @@ class Cell(s_nexus.Pusher, s_telepath.Aware):
3143
3143
  self.sessstor.set(iden, name, valu)
3144
3144
  return info
3145
3145
 
3146
- @s_nexus.Pusher.onPushAuto('http:sess:del')
3147
3146
  async def delHttpSess(self, iden):
3147
+ await self._push('http:sess:del', iden)
3148
+
3149
+ @s_nexus.Pusher.onPush('http:sess:del')
3150
+ async def _delHttpSess(self, iden):
3148
3151
  await self.sessstor.del_(iden)
3149
3152
  sess = self.sessions.pop(iden, None)
3150
3153
  if sess:
@@ -3412,6 +3415,7 @@ class Cell(s_nexus.Pusher, s_telepath.Aware):
3412
3415
 
3413
3416
  # Add callbacks
3414
3417
  self.on('user:del', self._onUserDelEvnt)
3418
+ self.on('user:lock', self._onUserLockEvnt)
3415
3419
 
3416
3420
  authctor = self.conf.get('auth:ctor')
3417
3421
  if authctor is not None:
@@ -5013,6 +5017,22 @@ class Cell(s_nexus.Pusher, s_telepath.Aware):
5013
5017
  self.slab.delete(lkey, db=self.usermetadb)
5014
5018
  await asyncio.sleep(0)
5015
5019
 
5020
+ async def _onUserLockEvnt(self, evnt):
5021
+ # Call callback for handling user:lock events
5022
+ useriden = evnt[1].get('user')
5023
+ locked = evnt[1].get('locked')
5024
+
5025
+ if not locked:
5026
+ return
5027
+
5028
+ # Find and delete all HTTP sessions for useriden
5029
+ for iden, sess in list(self.sessions.items()):
5030
+ if sess.info.get('user') == useriden:
5031
+ username = sess.info.get('username', '<unknown>')
5032
+ await self._delHttpSess(iden)
5033
+ logger.info(f'Invalidated HTTP session for locked user {username}',
5034
+ extra=await self.getLogExtra(target_user=useriden))
5035
+
5016
5036
  def _makeCachedSslCtx(self, opts):
5017
5037
 
5018
5038
  opts = dict(opts)
@@ -1,5 +1,4 @@
1
1
  import os
2
- import json
3
2
  import signal
4
3
  import asyncio
5
4
  import logging
@@ -18,6 +17,7 @@ import synapse.common as s_common
18
17
  import synapse.telepath as s_telepath
19
18
 
20
19
  import synapse.lib.base as s_base
20
+ import synapse.lib.json as s_json
21
21
  import synapse.lib.output as s_output
22
22
  import synapse.lib.parser as s_parser
23
23
  import synapse.lib.grammar as s_grammar
@@ -542,5 +542,5 @@ class CmdLocals(Cmd):
542
542
  ret[k] = v
543
543
  else:
544
544
  ret[k] = repr(v)
545
- mesg = json.dumps(ret, indent=2, sort_keys=True)
545
+ mesg = s_json.dumps(ret, indent=True, sort_keys=True).decode()
546
546
  self.printf(mesg)
@@ -1,6 +1,5 @@
1
1
  import os
2
2
  import copy
3
- import json
4
3
  import urllib
5
4
  import logging
6
5
  import argparse
@@ -12,6 +11,7 @@ import synapse.exc as s_exc
12
11
  import synapse.data as s_data
13
12
  import synapse.common as s_common
14
13
 
14
+ import synapse.lib.json as s_json
15
15
  import synapse.lib.hashitem as s_hashitem
16
16
 
17
17
  from fastjsonschema.exceptions import JsonSchemaValueException
@@ -44,7 +44,7 @@ def localSchemaRefHandler(uri):
44
44
  raise s_exc.NoSuchFile(mesg=f'Local JSON schema not found for {uri}.')
45
45
 
46
46
  with open(filename, 'r') as fp:
47
- return json.load(fp)
47
+ return s_json.load(fp)
48
48
 
49
49
  # This handlers dictionary is used by the jsonschema validator to attempt to
50
50
  # resolve schema '$ref' values locally from disk and will raise an exception
@@ -1,11 +1,12 @@
1
1
  import csv
2
- import json
3
2
  import regex
4
3
  import base64
5
4
  import codecs
6
5
  import xml.etree.ElementTree as x_etree
7
6
 
8
7
  import synapse.exc as s_exc
8
+
9
+ import synapse.lib.json as s_json
9
10
  import synapse.lib.msgpack as s_msgpack
10
11
 
11
12
  def _de_base64(item, **opts):
@@ -176,11 +177,11 @@ def _fmt_lines(fd, gest):
176
177
  yield line
177
178
 
178
179
  def _fmt_json(fd, info):
179
- yield json.loads(fd.read())
180
+ yield s_json.load(fd)
180
181
 
181
182
  def _fmt_jsonl(fd, info):
182
183
  for line in fd:
183
- yield json.loads(line)
184
+ yield s_json.loads(line)
184
185
 
185
186
  def _fmt_mpk(fd, info):
186
187
  yield from s_msgpack.iterfd(fd)
@@ -1,4 +1,3 @@
1
- import json
2
1
  import base64
3
2
  import asyncio
4
3
  import logging
@@ -12,6 +11,7 @@ import synapse.exc as s_exc
12
11
  import synapse.common as s_common
13
12
 
14
13
  import synapse.lib.base as s_base
14
+ import synapse.lib.json as s_json
15
15
  import synapse.lib.msgpack as s_msgpack
16
16
 
17
17
  logger = logging.getLogger(__name__)
@@ -132,7 +132,7 @@ class HandlerBase:
132
132
 
133
133
  def loadJsonMesg(self, byts, validator=None):
134
134
  try:
135
- item = json.loads(byts)
135
+ item = s_json.loads(byts)
136
136
  if validator is not None:
137
137
  validator(item)
138
138
  return item
@@ -418,7 +418,7 @@ class HandlerBase:
418
418
  class WebSocket(HandlerBase, t_websocket.WebSocketHandler):
419
419
 
420
420
  async def xmit(self, name, **info):
421
- await self.write_message(json.dumps({'type': name, 'data': info}))
421
+ await self.write_message(s_json.dumps({'type': name, 'data': info}))
422
422
 
423
423
  async def _reqUserAllow(self, perm):
424
424
 
@@ -513,9 +513,7 @@ class StormNodesV1(StormHandler):
513
513
  await self.cell.boss.promote('storm', user=user, info=taskinfo)
514
514
 
515
515
  async for pode in view.iterStormPodes(query, opts=opts):
516
- self.write(json.dumps(pode))
517
- if jsonlines:
518
- self.write("\n")
516
+ self.write(s_json.dumps(pode, newline=jsonlines))
519
517
  await self.flush()
520
518
 
521
519
  class StormV1(StormHandler):
@@ -545,9 +543,7 @@ class StormV1(StormHandler):
545
543
  opts.setdefault('editformat', 'nodeedits')
546
544
 
547
545
  async for mesg in self.getCore().storm(query, opts=opts):
548
- self.write(json.dumps(mesg))
549
- if jsonlines:
550
- self.write("\n")
546
+ self.write(s_json.dumps(mesg, newline=jsonlines))
551
547
  await self.flush()
552
548
 
553
549
  class StormCallV1(StormHandler):
@@ -640,9 +636,9 @@ class BeholdSockV1(WebSocket):
640
636
 
641
637
  async def onInitMessage(self, byts):
642
638
  try:
643
- mesg = json.loads(byts)
639
+ mesg = s_json.loads(byts)
644
640
  if mesg.get('type') != 'call:init':
645
- raise s_exc.BadMesgFormat('Invalid initial message')
641
+ raise s_exc.BadMesgFormat(mesg='Invalid initial message')
646
642
 
647
643
  admin = await self.isUserAdmin()
648
644
  if not admin: