synapse 2.164.0__tar.gz → 2.166.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 (577) hide show
  1. {synapse-2.164.0/synapse.egg-info → synapse-2.166.0}/PKG-INFO +2 -2
  2. {synapse-2.164.0 → synapse-2.166.0}/pyproject.toml +2 -2
  3. {synapse-2.164.0 → synapse-2.166.0}/synapse/axon.py +3 -3
  4. {synapse-2.164.0 → synapse-2.166.0}/synapse/cmds/cortex.py +1 -6
  5. {synapse-2.164.0 → synapse-2.166.0}/synapse/common.py +7 -1
  6. {synapse-2.164.0 → synapse-2.166.0}/synapse/cortex.py +145 -192
  7. {synapse-2.164.0 → synapse-2.166.0}/synapse/datamodel.py +36 -1
  8. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/agenda.py +87 -97
  9. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/aha.py +51 -0
  10. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/ast.py +22 -23
  11. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/base.py +0 -6
  12. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/boss.py +3 -0
  13. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/cell.py +70 -39
  14. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/certdir.py +9 -0
  15. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/hiveauth.py +65 -12
  16. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/httpapi.py +1 -0
  17. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/modelrev.py +121 -33
  18. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/modules.py +1 -0
  19. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/nexus.py +64 -26
  20. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/parser.py +2 -0
  21. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/schemas.py +14 -0
  22. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/snap.py +50 -4
  23. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/storm.lark +4 -3
  24. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/storm.py +96 -22
  25. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/storm_format.py +1 -0
  26. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/aha.py +7 -1
  27. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/auth.py +13 -5
  28. synapse-2.166.0/synapse/lib/stormlib/cache.py +202 -0
  29. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/cortex.py +147 -8
  30. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/gen.py +53 -6
  31. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/math.py +1 -1
  32. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/model.py +11 -1
  33. synapse-2.166.0/synapse/lib/stormlib/spooled.py +109 -0
  34. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/vault.py +1 -1
  35. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormtypes.py +113 -17
  36. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/trigger.py +36 -47
  37. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/types.py +29 -2
  38. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/version.py +2 -2
  39. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/view.py +80 -53
  40. {synapse-2.164.0 → synapse-2.166.0}/synapse/models/economic.py +174 -5
  41. {synapse-2.164.0 → synapse-2.166.0}/synapse/models/files.py +2 -0
  42. {synapse-2.164.0 → synapse-2.166.0}/synapse/models/inet.py +77 -2
  43. {synapse-2.164.0 → synapse-2.166.0}/synapse/models/infotech.py +12 -12
  44. {synapse-2.164.0 → synapse-2.166.0}/synapse/models/orgs.py +72 -21
  45. {synapse-2.164.0 → synapse-2.166.0}/synapse/models/person.py +40 -11
  46. {synapse-2.164.0 → synapse-2.166.0}/synapse/models/risk.py +78 -24
  47. synapse-2.166.0/synapse/models/science.py +102 -0
  48. {synapse-2.164.0 → synapse-2.166.0}/synapse/telepath.py +117 -35
  49. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_cortex.py +84 -158
  50. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_datamodel.py +22 -0
  51. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_agenda.py +52 -96
  52. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_aha.py +126 -4
  53. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_ast.py +412 -6
  54. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_cell.py +24 -8
  55. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_certdir.py +32 -0
  56. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_grammar.py +9 -1
  57. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_httpapi.py +0 -1
  58. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_jupyter.py +0 -1
  59. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_modelrev.py +41 -0
  60. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_nexus.py +38 -0
  61. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_storm.py +95 -5
  62. synapse-2.166.0/synapse/tests/test_lib_stormlib_cache.py +272 -0
  63. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_cortex.py +71 -0
  64. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_gen.py +37 -2
  65. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_model.py +2 -0
  66. synapse-2.166.0/synapse/tests/test_lib_stormlib_spooled.py +190 -0
  67. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_vault.py +12 -3
  68. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormsvc.py +0 -10
  69. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormtypes.py +60 -8
  70. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_trigger.py +20 -2
  71. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_types.py +17 -1
  72. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_model_economic.py +114 -0
  73. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_model_files.py +2 -0
  74. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_model_inet.py +73 -1
  75. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_model_infotech.py +2 -2
  76. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_model_orgs.py +10 -1
  77. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_model_risk.py +30 -2
  78. synapse-2.166.0/synapse/tests/test_model_science.py +59 -0
  79. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_model_syn.py +0 -1
  80. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_telepath.py +30 -7
  81. synapse-2.166.0/synapse/tests/test_tools_modrole.py +142 -0
  82. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_tools_moduser.py +105 -0
  83. synapse-2.166.0/synapse/tools/modrole.py +119 -0
  84. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/moduser.py +78 -10
  85. {synapse-2.164.0 → synapse-2.166.0/synapse.egg-info}/PKG-INFO +2 -2
  86. {synapse-2.164.0 → synapse-2.166.0}/synapse.egg-info/SOURCES.txt +6 -2
  87. {synapse-2.164.0 → synapse-2.166.0}/synapse.egg-info/requires.txt +1 -1
  88. synapse-2.164.0/synapse/lib/provenance.py +0 -111
  89. synapse-2.164.0/synapse/tests/test_lib_provenance.py +0 -37
  90. synapse-2.164.0/synapse/tests/test_tools_modrole.py +0 -61
  91. synapse-2.164.0/synapse/tools/modrole.py +0 -67
  92. {synapse-2.164.0 → synapse-2.166.0}/LICENSE +0 -0
  93. {synapse-2.164.0 → synapse-2.166.0}/README.rst +0 -0
  94. {synapse-2.164.0 → synapse-2.166.0}/setup.cfg +0 -0
  95. {synapse-2.164.0 → synapse-2.166.0}/synapse/__init__.py +0 -0
  96. {synapse-2.164.0 → synapse-2.166.0}/synapse/cells.py +0 -0
  97. {synapse-2.164.0 → synapse-2.166.0}/synapse/cmds/__init__.py +0 -0
  98. {synapse-2.164.0 → synapse-2.166.0}/synapse/cmds/boss.py +0 -0
  99. {synapse-2.164.0 → synapse-2.166.0}/synapse/cmds/hive.py +0 -0
  100. {synapse-2.164.0 → synapse-2.166.0}/synapse/cryotank.py +0 -0
  101. {synapse-2.164.0 → synapse-2.166.0}/synapse/daemon.py +0 -0
  102. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/__init__.py +0 -0
  103. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/attack-flow/LICENSE.txt +0 -0
  104. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/attack-flow/README.md +0 -0
  105. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/attack-flow/attack-flow-schema-2.0.0.json +0 -0
  106. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/certs/cas/The Vertex Project Intermediate CA 00.crt +0 -0
  107. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/certs/cas/The Vertex Project ROOT CA.crt +0 -0
  108. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/certs/crls/The Vertex Project Intermediate CA 00.crl +0 -0
  109. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/certs/crls/The Vertex Project ROOT CA.crl +0 -0
  110. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/iana.tlds.mpk +0 -0
  111. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/README.md +0 -0
  112. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/LICENSE.txt +0 -0
  113. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/binary.json +0 -0
  114. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/bundle.json +0 -0
  115. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/core.json +0 -0
  116. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/cyber-observable-core.json +0 -0
  117. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/dictionary.json +0 -0
  118. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension-definition.json +0 -0
  119. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension.json +0 -0
  120. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/external-reference.json +0 -0
  121. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/granular-marking.json +0 -0
  122. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hashes-type.json +0 -0
  123. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hex.json +0 -0
  124. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/identifier.json +0 -0
  125. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/kill-chain-phase.json +0 -0
  126. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/language-content.json +0 -0
  127. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/marking-definition.json +0 -0
  128. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/properties.json +0 -0
  129. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/timestamp.json +0 -0
  130. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/url-regex.json +0 -0
  131. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/artifact.json +0 -0
  132. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/autonomous-system.json +0 -0
  133. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/directory.json +0 -0
  134. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/domain-name.json +0 -0
  135. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-addr.json +0 -0
  136. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-message.json +0 -0
  137. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/file.json +0 -0
  138. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv4-addr.json +0 -0
  139. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv6-addr.json +0 -0
  140. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mac-addr.json +0 -0
  141. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mutex.json +0 -0
  142. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/network-traffic.json +0 -0
  143. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/process.json +0 -0
  144. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/software.json +0 -0
  145. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/url.json +0 -0
  146. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/user-account.json +0 -0
  147. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/windows-registry-key.json +0 -0
  148. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/x509-certificate.json +0 -0
  149. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/attack-pattern.json +0 -0
  150. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/campaign.json +0 -0
  151. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/course-of-action.json +0 -0
  152. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/grouping.json +0 -0
  153. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/identity.json +0 -0
  154. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/incident.json +0 -0
  155. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/indicator.json +0 -0
  156. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/infrastructure.json +0 -0
  157. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/intrusion-set.json +0 -0
  158. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/location.json +0 -0
  159. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware-analysis.json +0 -0
  160. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware.json +0 -0
  161. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/note.json +0 -0
  162. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/observed-data.json +0 -0
  163. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/opinion.json +0 -0
  164. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/report.json +0 -0
  165. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/threat-actor.json +0 -0
  166. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/tool.json +0 -0
  167. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/vulnerability.json +0 -0
  168. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/relationship.json +0 -0
  169. {synapse-2.164.0 → synapse-2.166.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/sighting.json +0 -0
  170. {synapse-2.164.0 → synapse-2.166.0}/synapse/exc.py +0 -0
  171. {synapse-2.164.0 → synapse-2.166.0}/synapse/glob.py +0 -0
  172. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/__init__.py +0 -0
  173. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/autodoc.py +0 -0
  174. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/cache.py +0 -0
  175. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/chop.py +0 -0
  176. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/cli.py +0 -0
  177. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/cmd.py +0 -0
  178. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/cmdr.py +0 -0
  179. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/config.py +0 -0
  180. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/const.py +0 -0
  181. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/coro.py +0 -0
  182. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/crypto/__init__.py +0 -0
  183. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/crypto/coin.py +0 -0
  184. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/crypto/ecc.py +0 -0
  185. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/crypto/passwd.py +0 -0
  186. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/crypto/rsa.py +0 -0
  187. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/crypto/tinfoil.py +0 -0
  188. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/datfile.py +0 -0
  189. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/dyndeps.py +0 -0
  190. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/encoding.py +0 -0
  191. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/gis.py +0 -0
  192. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/grammar.py +0 -0
  193. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/hashitem.py +0 -0
  194. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/hashset.py +0 -0
  195. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/health.py +0 -0
  196. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/hive.py +0 -0
  197. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/ingest.py +0 -0
  198. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/interval.py +0 -0
  199. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/jsonstor.py +0 -0
  200. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/jupyter.py +0 -0
  201. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/layer.py +0 -0
  202. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/link.py +0 -0
  203. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/lmdbslab.py +0 -0
  204. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/module.py +0 -0
  205. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/msgpack.py +0 -0
  206. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/multislabseqn.py +0 -0
  207. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/node.py +0 -0
  208. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/oauth.py +0 -0
  209. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/output.py +0 -0
  210. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/platforms/__init__.py +0 -0
  211. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/platforms/common.py +0 -0
  212. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/platforms/darwin.py +0 -0
  213. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/platforms/freebsd.py +0 -0
  214. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/platforms/linux.py +0 -0
  215. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/platforms/windows.py +0 -0
  216. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/queue.py +0 -0
  217. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/ratelimit.py +0 -0
  218. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/reflect.py +0 -0
  219. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/rstorm.py +0 -0
  220. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/scope.py +0 -0
  221. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/scrape.py +0 -0
  222. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/share.py +0 -0
  223. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/slaboffs.py +0 -0
  224. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/slabseqn.py +0 -0
  225. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/spooled.py +0 -0
  226. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormctrl.py +0 -0
  227. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormhttp.py +0 -0
  228. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/__init__.py +0 -0
  229. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/backup.py +0 -0
  230. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/basex.py +0 -0
  231. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/cell.py +0 -0
  232. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/compression.py +0 -0
  233. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/easyperm.py +0 -0
  234. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/ethereum.py +0 -0
  235. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/gis.py +0 -0
  236. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/graph.py +0 -0
  237. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/hashes.py +0 -0
  238. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/hex.py +0 -0
  239. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/imap.py +0 -0
  240. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/infosec.py +0 -0
  241. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/ipv6.py +0 -0
  242. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/iters.py +0 -0
  243. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/json.py +0 -0
  244. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/log.py +0 -0
  245. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/macro.py +0 -0
  246. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/mime.py +0 -0
  247. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/modelext.py +0 -0
  248. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/notifications.py +0 -0
  249. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/oauth.py +0 -0
  250. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/pack.py +0 -0
  251. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/project.py +0 -0
  252. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/random.py +0 -0
  253. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/scrape.py +0 -0
  254. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/smtp.py +0 -0
  255. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/stats.py +0 -0
  256. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/stix.py +0 -0
  257. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/storm.py +0 -0
  258. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/version.py +0 -0
  259. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/xml.py +0 -0
  260. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormlib/yaml.py +0 -0
  261. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormsvc.py +0 -0
  262. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/stormwhois.py +0 -0
  263. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/structlog.py +0 -0
  264. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/task.py +0 -0
  265. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/thishost.py +0 -0
  266. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/thisplat.py +0 -0
  267. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/threads.py +0 -0
  268. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/time.py +0 -0
  269. {synapse-2.164.0 → synapse-2.166.0}/synapse/lib/urlhelp.py +0 -0
  270. {synapse-2.164.0 → synapse-2.166.0}/synapse/lookup/__init__.py +0 -0
  271. {synapse-2.164.0 → synapse-2.166.0}/synapse/lookup/cvss.py +0 -0
  272. {synapse-2.164.0 → synapse-2.166.0}/synapse/lookup/iana.py +0 -0
  273. {synapse-2.164.0 → synapse-2.166.0}/synapse/lookup/iso3166.py +0 -0
  274. {synapse-2.164.0 → synapse-2.166.0}/synapse/lookup/macho.py +0 -0
  275. {synapse-2.164.0 → synapse-2.166.0}/synapse/lookup/pe.py +0 -0
  276. {synapse-2.164.0 → synapse-2.166.0}/synapse/lookup/phonenum.py +0 -0
  277. {synapse-2.164.0 → synapse-2.166.0}/synapse/lookup/timezones.py +0 -0
  278. {synapse-2.164.0 → synapse-2.166.0}/synapse/mindmeld.py +0 -0
  279. {synapse-2.164.0 → synapse-2.166.0}/synapse/models/__init__.py +0 -0
  280. {synapse-2.164.0 → synapse-2.166.0}/synapse/models/auth.py +0 -0
  281. {synapse-2.164.0 → synapse-2.166.0}/synapse/models/base.py +0 -0
  282. {synapse-2.164.0 → synapse-2.166.0}/synapse/models/belief.py +0 -0
  283. {synapse-2.164.0 → synapse-2.166.0}/synapse/models/biz.py +0 -0
  284. {synapse-2.164.0 → synapse-2.166.0}/synapse/models/crypto.py +0 -0
  285. {synapse-2.164.0 → synapse-2.166.0}/synapse/models/dns.py +0 -0
  286. {synapse-2.164.0 → synapse-2.166.0}/synapse/models/geopol.py +0 -0
  287. {synapse-2.164.0 → synapse-2.166.0}/synapse/models/geospace.py +0 -0
  288. {synapse-2.164.0 → synapse-2.166.0}/synapse/models/gov/__init__.py +0 -0
  289. {synapse-2.164.0 → synapse-2.166.0}/synapse/models/gov/cn.py +0 -0
  290. {synapse-2.164.0 → synapse-2.166.0}/synapse/models/gov/intl.py +0 -0
  291. {synapse-2.164.0 → synapse-2.166.0}/synapse/models/gov/us.py +0 -0
  292. {synapse-2.164.0 → synapse-2.166.0}/synapse/models/language.py +0 -0
  293. {synapse-2.164.0 → synapse-2.166.0}/synapse/models/material.py +0 -0
  294. {synapse-2.164.0 → synapse-2.166.0}/synapse/models/media.py +0 -0
  295. {synapse-2.164.0 → synapse-2.166.0}/synapse/models/proj.py +0 -0
  296. {synapse-2.164.0 → synapse-2.166.0}/synapse/models/syn.py +0 -0
  297. {synapse-2.164.0 → synapse-2.166.0}/synapse/models/telco.py +0 -0
  298. {synapse-2.164.0 → synapse-2.166.0}/synapse/models/transport.py +0 -0
  299. {synapse-2.164.0 → synapse-2.166.0}/synapse/servers/__init__.py +0 -0
  300. {synapse-2.164.0 → synapse-2.166.0}/synapse/servers/aha.py +0 -0
  301. {synapse-2.164.0 → synapse-2.166.0}/synapse/servers/axon.py +0 -0
  302. {synapse-2.164.0 → synapse-2.166.0}/synapse/servers/cell.py +0 -0
  303. {synapse-2.164.0 → synapse-2.166.0}/synapse/servers/cortex.py +0 -0
  304. {synapse-2.164.0 → synapse-2.166.0}/synapse/servers/cryotank.py +0 -0
  305. {synapse-2.164.0 → synapse-2.166.0}/synapse/servers/jsonstor.py +0 -0
  306. {synapse-2.164.0 → synapse-2.166.0}/synapse/servers/stemcell.py +0 -0
  307. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/__init__.py +0 -0
  308. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/TestUtilsGetrefs.test_basics.yaml +0 -0
  309. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/__init__.py +0 -0
  310. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/attack_flow/CISA AA22-138B VMWare Workspace (Alt).json +0 -0
  311. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/attack_flow/CISA_Iranian_APT.json +0 -0
  312. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/certdir/cas/ca.crt +0 -0
  313. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/certdir/cas/ca.key +0 -0
  314. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/certdir/hosts/localhost.crt +0 -0
  315. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/certdir/hosts/localhost.key +0 -0
  316. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/certdir/users/root.crt +0 -0
  317. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/certdir/users/root.key +0 -0
  318. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/certdir/users/user.crt +0 -0
  319. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/certdir/users/user.key +0 -0
  320. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/rstorm/httpresp1.json +0 -0
  321. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/rstorm/httpresp2.json +0 -0
  322. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/rstorm/httpresp3.json +0 -0
  323. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/rstorm/httprespmulti.yaml +0 -0
  324. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/rstorm/testsvc.py +0 -0
  325. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stix_export/basic.json +0 -0
  326. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stix_export/custom0.json +0 -0
  327. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stix_export/risk0.json +0 -0
  328. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stix_import/apt1.json +0 -0
  329. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stix_import/oasis-example-00.json +0 -0
  330. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormcov/argvquery.storm +0 -0
  331. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormcov/dupesubs.storm +0 -0
  332. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormcov/lookup.storm +0 -0
  333. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormcov/pivot.storm +0 -0
  334. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormcov/spin.storm +0 -0
  335. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormcov/stormctrl.storm +0 -0
  336. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormmod/common +0 -0
  337. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormpkg/badapidef.yaml +0 -0
  338. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormpkg/badcmdname.yaml +0 -0
  339. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormpkg/badjsonpkg.yaml +0 -0
  340. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormpkg/docs/foobar.md +0 -0
  341. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormpkg/docs/foobar.svg +0 -0
  342. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormpkg/dotstorm/dotstorm.yaml +0 -0
  343. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormpkg/dotstorm/storm/commands/dotstorm.bar.storm +0 -0
  344. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormpkg/dotstorm/storm/modules/dotstorm.foo.storm +0 -0
  345. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormpkg/nocontent.yaml +0 -0
  346. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormpkg/nomime.yaml +0 -0
  347. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormpkg/nopath.yaml +0 -0
  348. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormpkg/nosuchfile.yaml +0 -0
  349. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormpkg/notitle.yaml +0 -0
  350. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormpkg/optic/index.html +0 -0
  351. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormpkg/storm/commands/invalidCMD +0 -0
  352. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormpkg/storm/commands/testpkg.baz +0 -0
  353. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormpkg/storm/commands/testpkgcmd +0 -0
  354. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormpkg/storm/modules/apimod +0 -0
  355. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormpkg/storm/modules/testmod +0 -0
  356. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormpkg/testpkg.yaml +0 -0
  357. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormpkg/workflows/testpkg-bam.newp +0 -0
  358. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormpkg/workflows/testpkg-baz.yaml +0 -0
  359. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/stormpkg/workflows/testpkg-foo.yaml +0 -0
  360. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/test.dat +0 -0
  361. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/files/testcore/cell.yaml +0 -0
  362. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/nopmod.py +0 -0
  363. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_axon.py +0 -0
  364. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_cmds_boss.py +0 -0
  365. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_cmds_cortex.py +0 -0
  366. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_cmds_hive.py +0 -0
  367. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_common.py +0 -0
  368. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_cryotank.py +0 -0
  369. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_daemon.py +0 -0
  370. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_data.py +0 -0
  371. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_exc.py +0 -0
  372. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_glob.py +0 -0
  373. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_init.py +0 -0
  374. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_autodoc.py +0 -0
  375. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_base.py +0 -0
  376. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_boss.py +0 -0
  377. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_cache.py +0 -0
  378. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_chop.py +0 -0
  379. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_cli.py +0 -0
  380. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_config.py +0 -0
  381. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_const.py +0 -0
  382. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_coro.py +0 -0
  383. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_crypto_coin.py +0 -0
  384. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_crypto_ecc.py +0 -0
  385. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_crypto_passwd.py +0 -0
  386. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_crypto_tinfoil.py +0 -0
  387. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_datfile.py +0 -0
  388. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_dyndeps.py +0 -0
  389. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_encoding.py +0 -0
  390. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_gis.py +0 -0
  391. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_hashitem.py +0 -0
  392. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_hashset.py +0 -0
  393. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_health.py +0 -0
  394. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_hive.py +0 -0
  395. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_hiveauth.py +0 -0
  396. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_interval.py +0 -0
  397. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_jsonstor.py +0 -0
  398. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_layer.py +0 -0
  399. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_link.py +0 -0
  400. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_lmdbslab.py +0 -0
  401. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_module.py +0 -0
  402. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_msgpack.py +0 -0
  403. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_multislabseqn.py +0 -0
  404. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_node.py +0 -0
  405. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_output.py +0 -0
  406. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_platforms_linux.py +0 -0
  407. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_queue.py +0 -0
  408. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_ratelimit.py +0 -0
  409. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_reflect.py +0 -0
  410. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_rstorm.py +0 -0
  411. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_scope.py +0 -0
  412. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_scrape.py +0 -0
  413. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_slaboffs.py +0 -0
  414. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_slabseqn.py +0 -0
  415. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_snap.py +0 -0
  416. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_spooled.py +0 -0
  417. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_storm_format.py +0 -0
  418. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormhttp.py +0 -0
  419. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_auth.py +0 -0
  420. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_backup.py +0 -0
  421. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_basex.py +0 -0
  422. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_cell.py +0 -0
  423. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_compression.py +0 -0
  424. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_easyperm.py +0 -0
  425. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_ethereum.py +0 -0
  426. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_gis.py +0 -0
  427. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_hashes.py +0 -0
  428. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_hex.py +0 -0
  429. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_imap.py +0 -0
  430. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_infosec.py +0 -0
  431. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_ipv6.py +0 -0
  432. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_iters.py +0 -0
  433. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_json.py +0 -0
  434. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_log.py +0 -0
  435. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_macro.py +0 -0
  436. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_mime.py +0 -0
  437. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_modelext.py +0 -0
  438. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_oauth.py +0 -0
  439. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_pack.py +0 -0
  440. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_random.py +0 -0
  441. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_scrape.py +0 -0
  442. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_smtp.py +0 -0
  443. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_stats.py +0 -0
  444. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_stix.py +0 -0
  445. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_storm.py +0 -0
  446. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_xml.py +0 -0
  447. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormlib_yaml.py +0 -0
  448. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_stormwhois.py +0 -0
  449. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_structlog.py +0 -0
  450. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_task.py +0 -0
  451. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_thishost.py +0 -0
  452. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_time.py +0 -0
  453. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_urlhelp.py +0 -0
  454. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_version.py +0 -0
  455. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lib_view.py +0 -0
  456. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lookup_iso3166.py +0 -0
  457. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_lookup_phonenum.py +0 -0
  458. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_mindmeld.py +0 -0
  459. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_model_auth.py +0 -0
  460. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_model_base.py +0 -0
  461. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_model_belief.py +0 -0
  462. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_model_biz.py +0 -0
  463. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_model_crypto.py +0 -0
  464. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_model_dns.py +0 -0
  465. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_model_geopol.py +0 -0
  466. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_model_geospace.py +0 -0
  467. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_model_gov_cn.py +0 -0
  468. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_model_gov_intl.py +0 -0
  469. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_model_gov_us.py +0 -0
  470. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_model_language.py +0 -0
  471. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_model_material.py +0 -0
  472. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_model_media.py +0 -0
  473. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_model_person.py +0 -0
  474. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_model_proj.py +0 -0
  475. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_model_telco.py +0 -0
  476. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_model_transport.py +0 -0
  477. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_servers_axon.py +0 -0
  478. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_servers_cortex.py +0 -0
  479. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_servers_cryotank.py +0 -0
  480. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_servers_stemcell.py +0 -0
  481. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_servers_univ.py +0 -0
  482. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_tools_aha.py +0 -0
  483. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_tools_autodoc.py +0 -0
  484. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_tools_axon2axon.py +0 -0
  485. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_tools_backup.py +0 -0
  486. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_tools_cellauth.py +0 -0
  487. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_tools_cryo_cat.py +0 -0
  488. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_tools_cryo_list.py +0 -0
  489. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_tools_csvtool.py +0 -0
  490. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_tools_docker_validate.py +0 -0
  491. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_tools_easycert.py +0 -0
  492. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_tools_feed.py +0 -0
  493. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_tools_genpkg.py +0 -0
  494. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_tools_guid.py +0 -0
  495. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_tools_healthcheck.py +0 -0
  496. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_tools_hiveload.py +0 -0
  497. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_tools_hivesave.py +0 -0
  498. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_tools_json2mpk.py +0 -0
  499. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_tools_livebackup.py +0 -0
  500. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_tools_pullfile.py +0 -0
  501. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_tools_pushfile.py +0 -0
  502. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_tools_reload.py +0 -0
  503. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_tools_rstorm.py +0 -0
  504. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_tools_storm.py +0 -0
  505. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_utils.py +0 -0
  506. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_utils_getrefs.py +0 -0
  507. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/test_utils_stormcov.py +0 -0
  508. {synapse-2.164.0 → synapse-2.166.0}/synapse/tests/utils.py +0 -0
  509. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/__init__.py +0 -0
  510. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/aha/__init__.py +0 -0
  511. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/aha/easycert.py +0 -0
  512. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/aha/enroll.py +0 -0
  513. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/aha/list.py +0 -0
  514. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/aha/provision/__init__.py +0 -0
  515. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/aha/provision/service.py +0 -0
  516. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/aha/provision/user.py +0 -0
  517. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/autodoc.py +0 -0
  518. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/axon2axon.py +0 -0
  519. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/backup.py +0 -0
  520. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/cellauth.py +0 -0
  521. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/cmdr.py +0 -0
  522. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/cryo/__init__.py +0 -0
  523. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/cryo/cat.py +0 -0
  524. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/cryo/list.py +0 -0
  525. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/csvtool.py +0 -0
  526. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/docker/__init__.py +0 -0
  527. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/docker/validate.py +0 -0
  528. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/easycert.py +0 -0
  529. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/feed.py +0 -0
  530. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/genpkg.py +0 -0
  531. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/guid.py +0 -0
  532. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/healthcheck.py +0 -0
  533. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/hive/__init__.py +0 -0
  534. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/hive/load.py +0 -0
  535. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/hive/save.py +0 -0
  536. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/json2mpk.py +0 -0
  537. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/livebackup.py +0 -0
  538. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/promote.py +0 -0
  539. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/pullfile.py +0 -0
  540. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/pushfile.py +0 -0
  541. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/reload.py +0 -0
  542. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/rstorm.py +0 -0
  543. {synapse-2.164.0 → synapse-2.166.0}/synapse/tools/storm.py +0 -0
  544. {synapse-2.164.0 → synapse-2.166.0}/synapse/utils/__init__.py +0 -0
  545. {synapse-2.164.0 → synapse-2.166.0}/synapse/utils/getrefs.py +0 -0
  546. {synapse-2.164.0 → synapse-2.166.0}/synapse/utils/stormcov/__init__.py +0 -0
  547. {synapse-2.164.0 → synapse-2.166.0}/synapse/utils/stormcov/plugin.py +0 -0
  548. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/__init__.py +0 -0
  549. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/cashaddress/LICENSE +0 -0
  550. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/cashaddress/__init__.py +0 -0
  551. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/cashaddress/base58.py +0 -0
  552. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/cashaddress/convert.py +0 -0
  553. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/cashaddress/crypto.py +0 -0
  554. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/cashaddress/tests/__init__.py +0 -0
  555. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/cashaddress/tests/test_cashaddress.py +0 -0
  556. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/substrateinterface/LICENSE +0 -0
  557. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/substrateinterface/__init__.py +0 -0
  558. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/substrateinterface/tests/__init__.py +0 -0
  559. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/substrateinterface/tests/test_ss58.py +0 -0
  560. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/substrateinterface/utils/__init__.py +0 -0
  561. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/substrateinterface/utils/ss58.py +0 -0
  562. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/utils.py +0 -0
  563. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/xrpl/LICENSE +0 -0
  564. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/xrpl/__init__.py +0 -0
  565. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/xrpl/constants.py +0 -0
  566. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/xrpl/core/__init__.py +0 -0
  567. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/xrpl/core/addresscodec/__init__.py +0 -0
  568. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/xrpl/core/addresscodec/codec.py +0 -0
  569. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/xrpl/core/addresscodec/exceptions.py +0 -0
  570. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/xrpl/core/addresscodec/main.py +0 -0
  571. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/xrpl/core/addresscodec/utils.py +0 -0
  572. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/xrpl/tests/__init__.py +0 -0
  573. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/xrpl/tests/test_codec.py +0 -0
  574. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/xrpl/tests/test_main.py +0 -0
  575. {synapse-2.164.0 → synapse-2.166.0}/synapse/vendor/xrpl/tests/test_main_test_cases.py +0 -0
  576. {synapse-2.164.0 → synapse-2.166.0}/synapse.egg-info/dependency_links.txt +0 -0
  577. {synapse-2.164.0 → synapse-2.166.0}/synapse.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: synapse
3
- Version: 2.164.0
3
+ Version: 2.166.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
@@ -36,7 +36,7 @@ Requires-Dist: lark==1.1.9
36
36
  Requires-Dist: Pygments<2.18.0,>=2.7.4
37
37
  Requires-Dist: packaging<24.0,>=20.0
38
38
  Requires-Dist: fastjsonschema<2.20.0,>=2.18.0
39
- Requires-Dist: stix2-validator<4.0.0,>=3.0.0
39
+ Requires-Dist: stix2-validator<3.2.0,>=3.0.0
40
40
  Requires-Dist: vcrpy<5.2.0,>=4.3.1
41
41
  Requires-Dist: base58<2.2.0,>=2.1.0
42
42
  Requires-Dist: python-bitcoinlib<0.13.0,>=0.11.0
@@ -4,7 +4,7 @@ build-backend = 'setuptools.build_meta'
4
4
 
5
5
  [project]
6
6
  name = 'synapse'
7
- version = '2.164.0'
7
+ version = '2.166.0'
8
8
  authors = [
9
9
  { name = 'The Vertex Project LLC', email = 'root@vertex.link'},
10
10
  ]
@@ -40,7 +40,7 @@ dependencies = [
40
40
  'Pygments>=2.7.4,<2.18.0',
41
41
  'packaging>=20.0,<24.0',
42
42
  'fastjsonschema>=2.18.0,<2.20.0',
43
- 'stix2-validator>=3.0.0,<4.0.0',
43
+ 'stix2-validator>=3.0.0,<3.2.0',
44
44
  'vcrpy>=4.3.1,<5.2.0',
45
45
  'base58>=2.1.0,<2.2.0',
46
46
  'python-bitcoinlib>=0.11.0,<0.13.0',
@@ -407,7 +407,7 @@ class AxonApi(s_cell.CellApi, s_share.Share): # type: ignore
407
407
 
408
408
  buf = b''
409
409
  async for bytz in axon.get(sha256):
410
- buf =+ bytz
410
+ buf += bytz
411
411
 
412
412
  await dostuff(buf)
413
413
 
@@ -610,7 +610,7 @@ class AxonApi(s_cell.CellApi, s_share.Share): # type: ignore
610
610
  ssl_opts (dict): Additional SSL/TLS options.
611
611
 
612
612
  Notes:
613
- The response body will be stored, regardless of the response code. The ``ok`` value in the reponse does not
613
+ The response body will be stored, regardless of the response code. The ``ok`` value in the response does not
614
614
  reflect that a status code, such as a 404, was encountered when retrieving the URL.
615
615
 
616
616
  The ssl_opts dictionary may contain the following values::
@@ -1662,7 +1662,7 @@ class Axon(s_cell.Cell):
1662
1662
  ssl_opts (dict): Additional SSL/TLS options.
1663
1663
 
1664
1664
  Notes:
1665
- The response body will be stored, regardless of the response code. The ``ok`` value in the reponse does not
1665
+ The response body will be stored, regardless of the response code. The ``ok`` value in the response does not
1666
1666
  reflect that a status code, such as a 404, was encountered when retrieving the URL.
1667
1667
 
1668
1668
  The ssl_opts dictionary may contain the following values::
@@ -212,7 +212,7 @@ class StormCmd(s_cli.Cmd):
212
212
  * nodeedits (default),
213
213
  * count (just counts of nodeedits), or
214
214
  * none (no such messages emitted).
215
- --show-prov: Show provenance messages.
215
+ --show-prov: Deprecated. This no longer does anything.
216
216
  --raw: Print the nodes in their raw format. This overrides --hide-tags and --hide-props.
217
217
  --debug: Display cmd debug information along with nodes in raw format. This overrides other display arguments.
218
218
  --path: Get path information about returned nodes.
@@ -256,7 +256,6 @@ class StormCmd(s_cli.Cmd):
256
256
  'err': self._onErr,
257
257
  'node:edits': self._onNodeEdits,
258
258
  'node:edits:count': self._onNodeEditsCount,
259
- 'prov:new': self._onProvNew, # TODO remove in 3.0.0
260
259
  }
261
260
  self._indented = False
262
261
 
@@ -281,10 +280,6 @@ class StormCmd(s_cli.Cmd):
281
280
  s_cli.Cmd.printf(self, '.' * count, addnl=False, color=NODEEDIT_COLOR)
282
281
  self._indented = True
283
282
 
284
- def _onProvNew(self, mesg, opts):
285
- if opts.get('show-prov'):
286
- self.printf(repr(mesg), color=PROVNEW_COLOR)
287
-
288
283
  def _printNodeProp(self, name, valu):
289
284
  self.printf(f' {name} = {valu}')
290
285
 
@@ -659,7 +659,7 @@ def iterfd(fd, size=10000000):
659
659
  Notes:
660
660
  If the first read call on the file descriptor is a empty bytestring,
661
661
  that zero length bytestring will be yielded and the generator will
662
- then be exhuasted. This behavior is intended to allow the yielding of
662
+ then be exhausted. This behavior is intended to allow the yielding of
663
663
  contents of a zero byte file.
664
664
 
665
665
  Yields:
@@ -973,6 +973,12 @@ def unjsonsafe_nodeedits(nodeedits):
973
973
 
974
974
  return retn
975
975
 
976
+ def reprauthrule(rule):
977
+ text = '.'.join(rule[1])
978
+ if not rule[0]:
979
+ text = '!' + text
980
+ return text
981
+
976
982
  def reqJsonSafeStrict(item):
977
983
  '''
978
984
  Require the item to be safe to serialize to JSON without type coercion issues.
@@ -53,7 +53,6 @@ import synapse.lib.crypto.rsa as s_rsa
53
53
  import synapse.lib.stormhttp as s_stormhttp # NOQA
54
54
  import synapse.lib.stormwhois as s_stormwhois # NOQA
55
55
 
56
- import synapse.lib.provenance as s_provenance
57
56
  import synapse.lib.stormtypes as s_stormtypes
58
57
 
59
58
  import synapse.lib.stormlib.aha as s_stormlib_aha # NOQA
@@ -74,6 +73,7 @@ import synapse.lib.stormlib.smtp as s_stormlib_smtp # NOQA
74
73
  import synapse.lib.stormlib.stix as s_stormlib_stix # NOQA
75
74
  import synapse.lib.stormlib.yaml as s_stormlib_yaml # NOQA
76
75
  import synapse.lib.stormlib.basex as s_stormlib_basex # NOQA
76
+ import synapse.lib.stormlib.cache as s_stormlib_cache # NOQA
77
77
  import synapse.lib.stormlib.graph as s_stormlib_graph # NOQA
78
78
  import synapse.lib.stormlib.iters as s_stormlib_iters # NOQA
79
79
  import synapse.lib.stormlib.macro as s_stormlib_macro
@@ -89,6 +89,7 @@ import synapse.lib.stormlib.random as s_stormlib_random # NOQA
89
89
  import synapse.lib.stormlib.scrape as s_stormlib_scrape # NOQA
90
90
  import synapse.lib.stormlib.infosec as s_stormlib_infosec # NOQA
91
91
  import synapse.lib.stormlib.project as s_stormlib_project # NOQA
92
+ import synapse.lib.stormlib.spooled as s_stormlib_spooled # NOQA
92
93
  import synapse.lib.stormlib.version as s_stormlib_version # NOQA
93
94
  import synapse.lib.stormlib.easyperm as s_stormlib_easyperm # NOQA
94
95
  import synapse.lib.stormlib.ethereum as s_stormlib_ethereum # NOQA
@@ -286,10 +287,8 @@ class CoreApi(s_cell.CellApi):
286
287
  s_common.deprecated('CoreApi.addNode')
287
288
  async with await self.cell.snap(user=self.user) as snap:
288
289
  self.user.confirm(('node', 'add', form), gateiden=snap.wlyr.iden)
289
- with s_provenance.claim('coreapi', meth='node:add', user=snap.user.iden):
290
-
291
- node = await snap.addNode(form, valu, props=props)
292
- return node.pack()
290
+ node = await snap.addNode(form, valu, props=props)
291
+ return node.pack()
293
292
 
294
293
  async def addNodes(self, nodes):
295
294
  '''
@@ -317,16 +316,14 @@ class CoreApi(s_cell.CellApi):
317
316
  done[formname] = True
318
317
 
319
318
  async with await self.cell.snap(user=self.user) as snap:
320
- with s_provenance.claim('coreapi', meth='node:add', user=snap.user.iden):
321
-
322
- snap.strict = False
323
319
 
324
- async for node in snap.addNodes(nodes):
320
+ snap.strict = False
321
+ async for node in snap.addNodes(nodes):
325
322
 
326
- if node is not None:
327
- node = node.pack()
323
+ if node is not None:
324
+ node = node.pack()
328
325
 
329
- yield node
326
+ yield node
330
327
 
331
328
  async def getFeedFuncs(self):
332
329
  '''
@@ -361,9 +358,8 @@ class CoreApi(s_cell.CellApi):
361
358
  })
362
359
 
363
360
  async with await self.cell.snap(user=self.user, view=view) as snap:
364
- with s_provenance.claim('feed:data', name=name, user=snap.user.iden):
365
- snap.strict = False
366
- await snap.addFeedData(name, items)
361
+ snap.strict = False
362
+ await snap.addFeedData(name, items)
367
363
 
368
364
  async def count(self, text, opts=None):
369
365
  '''
@@ -578,12 +574,12 @@ class CoreApi(s_cell.CellApi):
578
574
  return await self.cell.delStormDmon(iden)
579
575
 
580
576
  @s_cell.adminapi(log=True)
581
- async def enableMigrationMode(self):
582
- await self.cell._enableMigrationMode()
577
+ async def enableMigrationMode(self): # pragma: no cover
578
+ s_common.deprdate('CoreApi.enableMigrationMode', '2024-05-05')
583
579
 
584
580
  @s_cell.adminapi(log=True)
585
- async def disableMigrationMode(self):
586
- await self.cell._disableMigrationMode()
581
+ async def disableMigrationMode(self): # pragma: no cover
582
+ s_common.deprdate('CoreApi.disableMigrationMode', '2024-05-05')
587
583
 
588
584
  @s_cell.adminapi()
589
585
  async def cloneLayer(self, iden, ldef=None):
@@ -773,12 +769,12 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
773
769
  },
774
770
  'cron:enable': {
775
771
  'default': True,
776
- 'description': 'Enable cron jobs running.',
772
+ 'description': 'Deprecated. This option no longer controls cron execution and will be removed in Synapse 3.0.',
777
773
  'type': 'boolean'
778
774
  },
779
775
  'trigger:enable': {
780
776
  'default': True,
781
- 'description': 'Enable triggers running.',
777
+ 'description': 'Deprecated. This option no longer controls trigger execution and will be removed in Synapse 3.0.',
782
778
  'type': 'boolean'
783
779
  },
784
780
  'layer:lmdb:map_async': {
@@ -841,20 +837,6 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
841
837
  'description': 'Enable Storm scrape interfaces when using $lib.scrape APIs.',
842
838
  'type': 'boolean',
843
839
  },
844
- 'storm:pool': {
845
- 'description': 'EXPERIMENTAL: Telepath URL for a Cortex mirror or AHA pool to offload Storm queries to.',
846
- 'type': 'string',
847
- },
848
- 'storm:pool:timeout:sync': {
849
- 'description': 'The maximum time (in seconds) to wait for the mirror to be in sync with the leader.',
850
- 'type': 'integer',
851
- 'default': 1
852
- },
853
- 'storm:pool:timeout:connection': {
854
- 'description': 'The maximum time (in seconds) to wait for a mirror connection.',
855
- 'type': 'integer',
856
- 'default': 1
857
- },
858
840
  'http:proxy': {
859
841
  'description': 'An aiohttp-socks compatible proxy URL to use storm HTTP API.',
860
842
  'type': 'string',
@@ -914,23 +896,14 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
914
896
  self._runtPropSetFuncs = {}
915
897
  self._runtPropDelFuncs = {}
916
898
 
917
- self.ontagadds = collections.defaultdict(list)
918
- self.ontagdels = collections.defaultdict(list)
919
- self.ontagaddglobs = s_cache.TagGlobs()
920
- self.ontagdelglobs = s_cache.TagGlobs()
921
-
922
899
  self.tagvalid = s_cache.FixedCache(self._isTagValid, size=1000)
923
900
  self.tagprune = s_cache.FixedCache(self._getTagPrune, size=1000)
924
901
 
925
902
  self.querycache = s_cache.FixedCache(self._getStormQuery, size=10000)
926
903
 
927
904
  self.stormpool = None
928
- self.stormpoolurl = self.conf.get('storm:pool')
929
- if self.stormpoolurl is not None:
930
- self.stormpoolopts = {
931
- 'nexstimeout': self.conf.get('storm:pool:timeout:sync'),
932
- 'conntimeout': self.conf.get('storm:pool:timeout:connection')
933
- }
905
+ self.stormpoolurl = None
906
+ self.stormpoolopts = None
934
907
 
935
908
  self.libroot = (None, {}, {})
936
909
  self.stormlibs = []
@@ -1001,8 +974,6 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
1001
974
 
1002
975
  await self._initStormGraphs()
1003
976
 
1004
- self.trigson = self.conf.get('trigger:enable')
1005
-
1006
977
  await self._initRuntFuncs()
1007
978
 
1008
979
  taghive = await self.hive.open(('cortex', 'tagmeta'))
@@ -1027,7 +998,16 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
1027
998
  'multiqueue': self.multiqueue,
1028
999
  })
1029
1000
 
1030
- await self.auth.addAuthGate('cortex', 'cortex')
1001
+ # TODO - Remove this in 3.0.0
1002
+ ag = await self.auth.addAuthGate('cortex', 'cortex')
1003
+ for (useriden, user) in ag.gateusers.items():
1004
+ mesg = f'User {useriden} ({user.name}) has a rule on the "cortex" authgate. This authgate is not used ' \
1005
+ f'for permission checks and will be removed in Synapse v3.0.0.'
1006
+ logger.warning(mesg, extra=await self.getLogExtra(user=useriden, username=user.name))
1007
+ for (roleiden, role) in ag.gateroles.items():
1008
+ mesg = f'Role {roleiden} ({role.name}) has a rule on the "cortex" authgate. This authgate is not used ' \
1009
+ f'for permission checks and will be removed in Synapse v3.0.0.'
1010
+ logger.warning(mesg, extra=await self.getLogExtra(role=roleiden, rolename=role.name))
1031
1011
 
1032
1012
  self._initVaults()
1033
1013
 
@@ -1460,6 +1440,8 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
1460
1440
  if self.isactive:
1461
1441
  await self._checkLayerModels()
1462
1442
 
1443
+ self.addActiveCoro(self.agenda.runloop)
1444
+
1463
1445
  await self._initStormDmons()
1464
1446
  await self._initStormSvcs()
1465
1447
 
@@ -1468,9 +1450,9 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
1468
1450
  self.dmon.share('cortex', self)
1469
1451
 
1470
1452
  async def initServiceActive(self):
1471
- if self.conf.get('cron:enable'):
1472
- await self.agenda.start()
1453
+
1473
1454
  await self.stormdmons.start()
1455
+ await self.agenda.clearRunningStatus()
1474
1456
 
1475
1457
  for view in self.views.values():
1476
1458
  await view.initTrigTask()
@@ -1479,11 +1461,10 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
1479
1461
  for layer in self.layers.values():
1480
1462
  await layer.initLayerActive()
1481
1463
 
1482
- await self.initQueryMirror()
1464
+ await self.initStormPool()
1483
1465
 
1484
1466
  async def initServicePassive(self):
1485
1467
 
1486
- await self.agenda.stop()
1487
1468
  await self.stormdmons.stop()
1488
1469
 
1489
1470
  for view in self.views.values():
@@ -1493,14 +1474,64 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
1493
1474
  for layer in self.layers.values():
1494
1475
  await layer.initLayerPassive()
1495
1476
 
1477
+ await self.finiStormPool()
1478
+
1479
+ async def initStormPool(self):
1480
+
1481
+ try:
1482
+
1483
+ byts = self.slab.get(b'storm:pool', db='cell:conf')
1484
+ if byts is None:
1485
+ return
1486
+
1487
+ url, opts = s_msgpack.un(byts)
1488
+
1489
+ self.stormpoolurl = url
1490
+ self.stormpoolopts = opts
1491
+
1492
+ async def onlink(proxy, urlinfo):
1493
+ _url = s_urlhelp.sanitizeUrl(s_telepath.zipurl(urlinfo))
1494
+ logger.debug(f'Stormpool client connected to {_url}')
1495
+
1496
+ self.stormpool = await s_telepath.open(url, onlink=onlink)
1497
+
1498
+ # make this one a fini weakref vs the fini() handler
1499
+ self.onfini(self.stormpool)
1500
+
1501
+ except Exception as e: # pragma: no cover
1502
+ logger.exception(f'Error starting stormpool, it will not be available: {e}')
1503
+
1504
+ async def finiStormPool(self):
1505
+
1496
1506
  if self.stormpool is not None:
1497
1507
  await self.stormpool.fini()
1498
1508
  self.stormpool = None
1499
1509
 
1500
- async def initQueryMirror(self):
1501
- if self.stormpoolurl is not None:
1502
- self.stormpool = await s_telepath.open(self.stormpoolurl)
1503
- self.onfini(self.stormpool.fini)
1510
+ async def getStormPool(self):
1511
+ byts = self.slab.get(b'storm:pool', db='cell:conf')
1512
+ if byts is None:
1513
+ return None
1514
+ return s_msgpack.un(byts)
1515
+
1516
+ @s_nexus.Pusher.onPushAuto('storm:pool:set')
1517
+ async def setStormPool(self, url, opts):
1518
+
1519
+ s_schemas.reqValidStormPoolOpts(opts)
1520
+
1521
+ info = (url, opts)
1522
+ self.slab.put(b'storm:pool', s_msgpack.en(info), db='cell:conf')
1523
+
1524
+ if self.isactive:
1525
+ await self.finiStormPool()
1526
+ await self.initStormPool()
1527
+
1528
+ @s_nexus.Pusher.onPushAuto('storm:pool:del')
1529
+ async def delStormPool(self):
1530
+
1531
+ self.slab.pop(b'storm:pool', db='cell:conf')
1532
+
1533
+ if self.isactive:
1534
+ await self.finiStormPool()
1504
1535
 
1505
1536
  @s_nexus.Pusher.onPushAuto('model:depr:lock')
1506
1537
  async def setDeprLock(self, name, locked):
@@ -2669,13 +2700,6 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
2669
2700
 
2670
2701
  pkgname = pkgdef.get('name')
2671
2702
 
2672
- # Check minimum synapse version
2673
- minversion = pkgdef.get('synapse_minversion')
2674
- if minversion is not None and tuple(minversion) > s_version.version:
2675
- mesg = f'Storm package {pkgname} requires Synapse {minversion} but ' \
2676
- f'Cortex is running {s_version.version}'
2677
- raise s_exc.BadVersion(mesg=mesg)
2678
-
2679
2703
  # Check synapse version requirement
2680
2704
  reqversion = pkgdef.get('synapse_version')
2681
2705
  if reqversion is not None:
@@ -2683,6 +2707,15 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
2683
2707
  f'Cortex is running {s_version.version}'
2684
2708
  s_version.reqVersion(s_version.version, reqversion, mesg=mesg)
2685
2709
 
2710
+ elif (minversion := pkgdef.get('synapse_minversion')) is not None:
2711
+ # This is for older packages that might not have the
2712
+ # `synapse_version` field.
2713
+ # TODO: Remove this whole else block after Synapse 3.0.0.
2714
+ if tuple(minversion) > s_version.version:
2715
+ mesg = f'Storm package {pkgname} requires Synapse {minversion} but ' \
2716
+ f'Cortex is running {s_version.version}'
2717
+ raise s_exc.BadVersion(mesg=mesg)
2718
+
2686
2719
  # Validate storm contents from modules and commands
2687
2720
  mods = pkgdef.get('modules', ())
2688
2721
  cmds = pkgdef.get('commands', ())
@@ -3460,14 +3493,12 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
3460
3493
  buid = s_common.uhex(iden)
3461
3494
  async with await self.snap(user=user) as snap:
3462
3495
 
3463
- with s_provenance.claim('coreapi', meth='tag:add', user=snap.user.iden):
3496
+ node = await snap.getNodeByBuid(buid)
3497
+ if node is None:
3498
+ raise s_exc.NoSuchIden(iden=iden)
3464
3499
 
3465
- node = await snap.getNodeByBuid(buid)
3466
- if node is None:
3467
- raise s_exc.NoSuchIden(iden=iden)
3468
-
3469
- await node.addTag(tag, valu=valu)
3470
- return node.pack()
3500
+ await node.addTag(tag, valu=valu)
3501
+ return node.pack()
3471
3502
 
3472
3503
  async def addNode(self, user, form, valu, props=None):
3473
3504
 
@@ -3487,14 +3518,12 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
3487
3518
 
3488
3519
  async with await self.snap(user=user) as snap:
3489
3520
 
3490
- with s_provenance.claim('coreapi', meth='tag:del', user=snap.user.iden):
3491
-
3492
- node = await snap.getNodeByBuid(buid)
3493
- if node is None:
3494
- raise s_exc.NoSuchIden(iden=iden)
3521
+ node = await snap.getNodeByBuid(buid)
3522
+ if node is None:
3523
+ raise s_exc.NoSuchIden(iden=iden)
3495
3524
 
3496
- await node.delTag(tag)
3497
- return node.pack()
3525
+ await node.delTag(tag)
3526
+ return node.pack()
3498
3527
 
3499
3528
  async def _onCoreFini(self):
3500
3529
  '''
@@ -3942,6 +3971,9 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
3942
3971
  self.addStormCmd(s_storm.BackgroundCmd)
3943
3972
  self.addStormCmd(s_stormlib_macro.MacroExecCmd)
3944
3973
  self.addStormCmd(s_stormlib_stats.StatsCountByCmd)
3974
+ self.addStormCmd(s_stormlib_cortex.StormPoolDelCmd)
3975
+ self.addStormCmd(s_stormlib_cortex.StormPoolGetCmd)
3976
+ self.addStormCmd(s_stormlib_cortex.StormPoolSetCmd)
3945
3977
 
3946
3978
  for cdef in s_stormsvc.stormcmds:
3947
3979
  await self._trySetStormCmd(cdef.get('name'), cdef)
@@ -4109,7 +4141,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
4109
4141
  @s_nexus.Pusher.onPushAuto('http:api:mod')
4110
4142
  async def modHttpExtApi(self, iden, name, valu):
4111
4143
  # Created, Creator, Updated are not mutable
4112
- if name in ('name', 'desc', 'runas', 'methods', 'authenticated', 'perms', 'readonly', 'vars'):
4144
+ if name in ('name', 'desc', 'runas', 'methods', 'authenticated', 'pool', 'perms', 'readonly', 'vars'):
4113
4145
  # Schema takes care of these values
4114
4146
  pass
4115
4147
  elif name == 'owner':
@@ -4244,77 +4276,6 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
4244
4276
  counts[name] += valu
4245
4277
  return dict(counts)
4246
4278
 
4247
- def onTagAdd(self, name, func):
4248
- '''
4249
- Register a callback for tag addition.
4250
-
4251
- Args:
4252
- name (str): The name of the tag or tag glob.
4253
- func (function): The callback func(node, tagname, tagval).
4254
-
4255
- '''
4256
- # TODO allow name wild cards
4257
- if '*' in name:
4258
- self.ontagaddglobs.add(name, func)
4259
- else:
4260
- self.ontagadds[name].append(func)
4261
-
4262
- def offTagAdd(self, name, func):
4263
- '''
4264
- Unregister a callback for tag addition.
4265
-
4266
- Args:
4267
- name (str): The name of the tag or tag glob.
4268
- func (function): The callback func(node, tagname, tagval).
4269
-
4270
- '''
4271
- if '*' in name:
4272
- self.ontagaddglobs.rem(name, func)
4273
- return
4274
-
4275
- cblist = self.ontagadds.get(name)
4276
- if cblist is None:
4277
- return
4278
- try:
4279
- cblist.remove(func)
4280
- except ValueError:
4281
- pass
4282
-
4283
- def onTagDel(self, name, func):
4284
- '''
4285
- Register a callback for tag deletion.
4286
-
4287
- Args:
4288
- name (str): The name of the tag or tag glob.
4289
- func (function): The callback func(node, tagname, tagval).
4290
-
4291
- '''
4292
- if '*' in name:
4293
- self.ontagdelglobs.add(name, func)
4294
- else:
4295
- self.ontagdels[name].append(func)
4296
-
4297
- def offTagDel(self, name, func):
4298
- '''
4299
- Unregister a callback for tag deletion.
4300
-
4301
- Args:
4302
- name (str): The name of the tag or tag glob.
4303
- func (function): The callback func(node, tagname, tagval).
4304
-
4305
- '''
4306
- if '*' in name:
4307
- self.ontagdelglobs.rem(name, func)
4308
- return
4309
-
4310
- cblist = self.ontagdels.get(name)
4311
- if cblist is None:
4312
- return
4313
- try:
4314
- cblist.remove(func)
4315
- except ValueError:
4316
- pass
4317
-
4318
4279
  def addRuntLift(self, prop, func):
4319
4280
  '''
4320
4281
  Register a runt lift helper for a given prop.
@@ -4376,8 +4337,9 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
4376
4337
  return ret
4377
4338
 
4378
4339
  async def _checkLayerModels(self):
4379
- mrev = s_modelrev.ModelRev(self)
4380
- await mrev.revCoreLayers()
4340
+ with self.enterMigrationMode():
4341
+ mrev = s_modelrev.ModelRev(self)
4342
+ await mrev.revCoreLayers()
4381
4343
 
4382
4344
  async def _loadView(self, node):
4383
4345
 
@@ -5325,23 +5287,31 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
5325
5287
  mirropts = s_msgpack.deepcopy(opts)
5326
5288
  mirropts['mirror'] = False
5327
5289
  mirropts['nexsoffs'] = (await self.getNexsIndx() - 1)
5328
- mirropts['nexstimeout'] = self.stormpoolopts.get('nexstimeout')
5290
+ mirropts['nexstimeout'] = self.stormpoolopts.get('timeout:sync')
5329
5291
  return mirropts
5330
5292
 
5331
5293
  async def _getMirrorProxy(self):
5332
- if isinstance(self.stormpool, s_telepath.Pool) and self.stormpool.size() == 0:
5333
- mesg = 'Storm query mirror pool is empty, running locally instead.'
5334
- logger.warning(mesg)
5294
+
5295
+ if self.stormpool is None: # pragma: no cover
5296
+ return None
5297
+
5298
+ if self.stormpool.size() == 0:
5299
+ logger.warning('Storm query mirror pool is empty, running query locally.')
5335
5300
  return None
5336
5301
 
5337
- proxy = None
5338
5302
  try:
5339
- timeout = self.stormpoolopts.get('conntimeout')
5303
+ timeout = self.stormpoolopts.get('timeout:connection')
5340
5304
  proxy = await self.stormpool.proxy(timeout=timeout)
5305
+ proxyname = proxy._ahainfo.get('name')
5306
+ if proxyname is not None and proxyname == self.ahasvcname:
5307
+ # we are part of the pool and were selected. Convert to local use.
5308
+ return None
5309
+
5310
+ return proxy
5311
+
5341
5312
  except (TimeoutError, s_exc.IsFini):
5342
- mesg = 'Unable to get proxy for query mirror, running locally instead.'
5343
- logger.warning(mesg)
5344
- return proxy
5313
+ logger.warning('Timeout waiting for pool mirror, running query locally.')
5314
+ return None
5345
5315
 
5346
5316
  async def storm(self, text, opts=None):
5347
5317
 
@@ -5812,16 +5782,15 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
5812
5782
 
5813
5783
  async def _initCoreMods(self):
5814
5784
 
5815
- with s_provenance.claim('init', meth='_initCoreMods'):
5816
- for ctor, modu in list(self.modules.items()):
5785
+ for ctor, modu in list(self.modules.items()):
5817
5786
 
5818
- try:
5819
- await s_coro.ornot(modu.initCoreModule)
5820
- except asyncio.CancelledError: # pragma: no cover TODO: remove once >= py 3.8 only
5821
- raise
5822
- except Exception:
5823
- logger.exception(f'module initCoreModule failed: {ctor}')
5824
- self.modules.pop(ctor, None)
5787
+ try:
5788
+ await s_coro.ornot(modu.initCoreModule)
5789
+ except asyncio.CancelledError: # pragma: no cover TODO: remove once >= py 3.8 only
5790
+ raise
5791
+ except Exception:
5792
+ logger.exception(f'module initCoreModule failed: {ctor}')
5793
+ self.modules.pop(ctor, None)
5825
5794
 
5826
5795
  def _loadCoreModule(self, ctor, conf=None):
5827
5796
 
@@ -6078,6 +6047,9 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
6078
6047
  elif name == 'doc':
6079
6048
  appt.doc = str(valu)
6080
6049
 
6050
+ elif name == 'pool':
6051
+ appt.pool = bool(valu)
6052
+
6081
6053
  else:
6082
6054
  mesg = f'editCronJob name {name} is not supported for editing.'
6083
6055
  raise s_exc.BadArg(mesg=mesg)
@@ -6096,30 +6068,11 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
6096
6068
  appt = await self.agenda.get(iden)
6097
6069
  await appt.edits(edits)
6098
6070
 
6099
- @contextlib.asynccontextmanager
6100
- async def enterMigrationMode(self):
6101
- await self._enableMigrationMode()
6102
- yield
6103
- await self._disableMigrationMode()
6104
-
6105
- async def _enableMigrationMode(self):
6106
- '''
6107
- Prevents cron jobs and triggers from running
6108
- '''
6071
+ @contextlib.contextmanager
6072
+ def enterMigrationMode(self):
6109
6073
  self.migration = True
6110
- self.agenda.enabled = False
6111
- self.trigson = False
6112
-
6113
- async def _disableMigrationMode(self):
6114
- '''
6115
- Allows cron jobs and triggers to run
6116
- '''
6074
+ yield
6117
6075
  self.migration = False
6118
- if self.conf.get('cron:enable'):
6119
- self.agenda.enabled = True
6120
-
6121
- if self.conf.get('trigger:enable'):
6122
- self.trigson = True
6123
6076
 
6124
6077
  async def iterFormRows(self, layriden, form, stortype=None, startvalu=None):
6125
6078
  '''