synapse 2.166.0__tar.gz → 2.168.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.
- {synapse-2.166.0/synapse.egg-info → synapse-2.168.0}/PKG-INFO +3 -3
- {synapse-2.166.0 → synapse-2.168.0}/pyproject.toml +3 -3
- {synapse-2.166.0 → synapse-2.168.0}/synapse/axon.py +4 -10
- {synapse-2.166.0 → synapse-2.168.0}/synapse/cortex.py +55 -12
- {synapse-2.166.0 → synapse-2.168.0}/synapse/exc.py +1 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/aha.py +4 -1
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/base.py +11 -4
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/cell.py +11 -2
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/hive.py +11 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/layer.py +2 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/modelrev.py +6 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/modules.py +1 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/node.py +4 -2
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/schemas.py +1 -1
- synapse-2.168.0/synapse/lib/stormlib/aha.py +535 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/easyperm.py +8 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/macro.py +11 -18
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/stix.py +1 -1
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormtypes.py +25 -2
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/types.py +2 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/version.py +2 -2
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/view.py +5 -3
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/base.py +8 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/files.py +3 -0
- synapse-2.168.0/synapse/models/planning.py +161 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/telepath.py +1 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/dotstorm/dotstorm.yaml +3 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_cortex.py +40 -3
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_aha.py +8 -4
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_cell.py +6 -2
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_grammar.py +62 -64
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_httpapi.py +1 -1
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_rstorm.py +4 -4
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_storm.py +3 -3
- synapse-2.168.0/synapse/tests/test_lib_stormlib_aha.py +196 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_compression.py +12 -12
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_macro.py +94 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_spooled.py +1 -1
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormtypes.py +44 -33
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_trigger.py +3 -3
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_view.py +50 -3
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_files.py +3 -0
- synapse-2.168.0/synapse/tests/test_model_planning.py +126 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_genpkg.py +26 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_hiveload.py +1 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_hivesave.py +1 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/utils.py +22 -3
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/autodoc.py +1 -1
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/hive/load.py +3 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/hive/save.py +3 -0
- {synapse-2.166.0 → synapse-2.168.0/synapse.egg-info}/PKG-INFO +3 -3
- {synapse-2.166.0 → synapse-2.168.0}/synapse.egg-info/SOURCES.txt +3 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse.egg-info/requires.txt +2 -2
- synapse-2.166.0/synapse/lib/stormlib/aha.py +0 -170
- {synapse-2.166.0 → synapse-2.168.0}/LICENSE +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/README.rst +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/setup.cfg +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/cells.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/cmds/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/cmds/boss.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/cmds/cortex.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/cmds/hive.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/common.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/cryotank.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/daemon.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/attack-flow/LICENSE.txt +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/attack-flow/README.md +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/attack-flow/attack-flow-schema-2.0.0.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/certs/cas/The Vertex Project Intermediate CA 00.crt +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/certs/cas/The Vertex Project ROOT CA.crt +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/certs/crls/The Vertex Project Intermediate CA 00.crl +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/certs/crls/The Vertex Project ROOT CA.crl +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/iana.tlds.mpk +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/README.md +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/LICENSE.txt +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/binary.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/bundle.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/core.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/cyber-observable-core.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/dictionary.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension-definition.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/external-reference.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/granular-marking.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hashes-type.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hex.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/identifier.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/kill-chain-phase.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/language-content.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/marking-definition.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/properties.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/timestamp.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/url-regex.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/artifact.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/autonomous-system.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/directory.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/domain-name.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-addr.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-message.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/file.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv4-addr.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv6-addr.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mac-addr.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mutex.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/network-traffic.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/process.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/software.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/url.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/user-account.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/windows-registry-key.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/x509-certificate.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/attack-pattern.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/campaign.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/course-of-action.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/grouping.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/identity.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/incident.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/indicator.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/infrastructure.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/intrusion-set.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/location.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware-analysis.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/note.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/observed-data.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/opinion.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/report.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/threat-actor.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/tool.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/vulnerability.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/relationship.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/sighting.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/datamodel.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/glob.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/agenda.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/ast.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/autodoc.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/boss.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/cache.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/certdir.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/chop.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/cli.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/cmd.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/cmdr.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/config.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/const.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/coro.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/crypto/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/crypto/coin.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/crypto/ecc.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/crypto/passwd.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/crypto/rsa.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/crypto/tinfoil.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/datfile.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/dyndeps.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/encoding.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/gis.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/grammar.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/hashitem.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/hashset.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/health.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/hiveauth.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/httpapi.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/ingest.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/interval.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/jsonstor.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/jupyter.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/link.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/lmdbslab.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/module.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/msgpack.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/multislabseqn.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/nexus.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/oauth.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/output.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/parser.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/platforms/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/platforms/common.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/platforms/darwin.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/platforms/freebsd.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/platforms/linux.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/platforms/windows.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/queue.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/ratelimit.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/reflect.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/rstorm.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/scope.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/scrape.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/share.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/slaboffs.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/slabseqn.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/snap.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/spooled.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/storm.lark +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/storm.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/storm_format.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormctrl.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormhttp.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/auth.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/backup.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/basex.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/cache.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/cell.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/compression.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/cortex.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/ethereum.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/gen.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/gis.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/graph.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/hashes.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/hex.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/imap.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/infosec.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/ipv6.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/iters.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/json.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/log.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/math.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/mime.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/model.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/modelext.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/notifications.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/oauth.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/pack.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/project.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/random.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/scrape.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/smtp.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/spooled.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/stats.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/storm.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/vault.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/version.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/xml.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormlib/yaml.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormsvc.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/stormwhois.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/structlog.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/task.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/thishost.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/thisplat.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/threads.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/time.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/trigger.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lib/urlhelp.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lookup/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lookup/cvss.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lookup/iana.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lookup/iso3166.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lookup/macho.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lookup/pe.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lookup/phonenum.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/lookup/timezones.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/mindmeld.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/auth.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/belief.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/biz.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/crypto.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/dns.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/economic.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/geopol.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/geospace.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/gov/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/gov/cn.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/gov/intl.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/gov/us.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/inet.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/infotech.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/language.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/material.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/media.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/orgs.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/person.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/proj.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/risk.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/science.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/syn.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/telco.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/models/transport.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/servers/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/servers/aha.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/servers/axon.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/servers/cell.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/servers/cortex.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/servers/cryotank.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/servers/jsonstor.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/servers/stemcell.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/TestUtilsGetrefs.test_basics.yaml +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/attack_flow/CISA AA22-138B VMWare Workspace (Alt).json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/attack_flow/CISA_Iranian_APT.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/certdir/cas/ca.crt +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/certdir/cas/ca.key +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/certdir/hosts/localhost.crt +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/certdir/hosts/localhost.key +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/certdir/users/root.crt +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/certdir/users/root.key +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/certdir/users/user.crt +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/certdir/users/user.key +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/rstorm/httpresp1.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/rstorm/httpresp2.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/rstorm/httpresp3.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/rstorm/httprespmulti.yaml +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/rstorm/testsvc.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stix_export/basic.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stix_export/custom0.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stix_export/risk0.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stix_import/apt1.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stix_import/oasis-example-00.json +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormcov/argvquery.storm +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormcov/dupesubs.storm +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormcov/lookup.storm +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormcov/pivot.storm +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormcov/spin.storm +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormcov/stormctrl.storm +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormmod/common +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/badapidef.yaml +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/badcmdname.yaml +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/badjsonpkg.yaml +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/docs/foobar.md +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/docs/foobar.svg +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/dotstorm/storm/commands/dotstorm.bar.storm +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/dotstorm/storm/modules/dotstorm.foo.storm +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/nocontent.yaml +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/nomime.yaml +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/nopath.yaml +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/nosuchfile.yaml +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/notitle.yaml +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/optic/index.html +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/storm/commands/invalidCMD +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/storm/commands/testpkg.baz +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/storm/commands/testpkgcmd +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/storm/modules/apimod +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/storm/modules/testmod +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/testpkg.yaml +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/workflows/testpkg-bam.newp +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/workflows/testpkg-baz.yaml +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/stormpkg/workflows/testpkg-foo.yaml +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/test.dat +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/files/testcore/cell.yaml +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/nopmod.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_axon.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_cmds_boss.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_cmds_cortex.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_cmds_hive.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_common.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_cryotank.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_daemon.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_data.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_datamodel.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_exc.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_glob.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_init.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_agenda.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_ast.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_autodoc.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_base.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_boss.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_cache.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_certdir.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_chop.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_cli.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_config.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_const.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_coro.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_crypto_coin.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_crypto_ecc.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_crypto_passwd.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_crypto_tinfoil.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_datfile.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_dyndeps.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_encoding.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_gis.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_hashitem.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_hashset.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_health.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_hive.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_hiveauth.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_interval.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_jsonstor.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_jupyter.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_layer.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_link.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_lmdbslab.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_modelrev.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_module.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_msgpack.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_multislabseqn.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_nexus.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_node.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_output.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_platforms_linux.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_queue.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_ratelimit.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_reflect.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_scope.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_scrape.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_slaboffs.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_slabseqn.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_snap.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_spooled.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_storm_format.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormhttp.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_auth.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_backup.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_basex.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_cache.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_cell.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_cortex.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_easyperm.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_ethereum.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_gen.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_gis.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_hashes.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_hex.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_imap.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_infosec.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_ipv6.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_iters.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_json.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_log.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_mime.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_model.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_modelext.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_oauth.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_pack.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_random.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_scrape.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_smtp.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_stats.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_stix.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_storm.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_vault.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_xml.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormlib_yaml.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormsvc.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_stormwhois.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_structlog.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_task.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_thishost.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_time.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_types.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_urlhelp.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lib_version.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lookup_iso3166.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_lookup_phonenum.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_mindmeld.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_auth.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_base.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_belief.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_biz.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_crypto.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_dns.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_economic.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_geopol.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_geospace.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_gov_cn.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_gov_intl.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_gov_us.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_inet.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_infotech.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_language.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_material.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_media.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_orgs.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_person.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_proj.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_risk.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_science.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_syn.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_telco.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_model_transport.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_servers_axon.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_servers_cortex.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_servers_cryotank.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_servers_stemcell.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_servers_univ.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_telepath.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_aha.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_autodoc.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_axon2axon.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_backup.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_cellauth.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_cryo_cat.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_cryo_list.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_csvtool.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_docker_validate.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_easycert.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_feed.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_guid.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_healthcheck.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_json2mpk.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_livebackup.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_modrole.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_moduser.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_pullfile.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_pushfile.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_reload.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_rstorm.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_tools_storm.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_utils.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_utils_getrefs.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tests/test_utils_stormcov.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/aha/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/aha/easycert.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/aha/enroll.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/aha/list.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/aha/provision/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/aha/provision/service.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/aha/provision/user.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/axon2axon.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/backup.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/cellauth.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/cmdr.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/cryo/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/cryo/cat.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/cryo/list.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/csvtool.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/docker/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/docker/validate.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/easycert.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/feed.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/genpkg.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/guid.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/healthcheck.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/hive/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/json2mpk.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/livebackup.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/modrole.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/moduser.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/promote.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/pullfile.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/pushfile.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/reload.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/rstorm.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/tools/storm.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/utils/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/utils/getrefs.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/utils/stormcov/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/utils/stormcov/plugin.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/cashaddress/LICENSE +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/cashaddress/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/cashaddress/base58.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/cashaddress/convert.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/cashaddress/crypto.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/cashaddress/tests/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/cashaddress/tests/test_cashaddress.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/substrateinterface/LICENSE +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/substrateinterface/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/substrateinterface/tests/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/substrateinterface/tests/test_ss58.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/substrateinterface/utils/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/substrateinterface/utils/ss58.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/utils.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/xrpl/LICENSE +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/xrpl/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/xrpl/constants.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/xrpl/core/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/xrpl/core/addresscodec/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/xrpl/core/addresscodec/codec.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/xrpl/core/addresscodec/exceptions.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/xrpl/core/addresscodec/main.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/xrpl/core/addresscodec/utils.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/xrpl/tests/__init__.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/xrpl/tests/test_codec.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/xrpl/tests/test_main.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse/vendor/xrpl/tests/test_main_test_cases.py +0 -0
- {synapse-2.166.0 → synapse-2.168.0}/synapse.egg-info/dependency_links.txt +0 -0
- {synapse-2.166.0 → synapse-2.168.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.
|
|
3
|
+
Version: 2.168.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<
|
|
39
|
+
Requires-Dist: stix2-validator<4.0.0,>=3.2.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
|
|
@@ -46,7 +46,7 @@ Requires-Dist: scalecodec<1.3.0,>=1.0.2
|
|
|
46
46
|
Requires-Dist: cbor2<5.7.0,>=5.4.1
|
|
47
47
|
Requires-Dist: bech32==1.2.0
|
|
48
48
|
Requires-Dist: oauthlib<4.0.0,>=3.2.1
|
|
49
|
-
Requires-Dist: idna<3.
|
|
49
|
+
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
|
|
@@ -4,7 +4,7 @@ build-backend = 'setuptools.build_meta'
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = 'synapse'
|
|
7
|
-
version = '2.
|
|
7
|
+
version = '2.168.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.
|
|
43
|
+
'stix2-validator>=3.2.0,<4.0.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',
|
|
@@ -50,7 +50,7 @@ dependencies = [
|
|
|
50
50
|
'cbor2>=5.4.1,<5.7.0',
|
|
51
51
|
'bech32==1.2.0',
|
|
52
52
|
'oauthlib>=3.2.1,<4.0.0',
|
|
53
|
-
'idna>=3.6,<3.
|
|
53
|
+
'idna>=3.6,<3.8',
|
|
54
54
|
'python-dateutil>=2.8,<3.0',
|
|
55
55
|
'pytz>=2023.3,<2024.1',
|
|
56
56
|
'beautifulsoup4[html5lib]>=4.11.1,<5.0',
|
|
@@ -1509,7 +1509,6 @@ class Axon(s_cell.Cell):
|
|
|
1509
1509
|
atimeout = aiohttp.ClientTimeout(total=timeout)
|
|
1510
1510
|
|
|
1511
1511
|
async with aiohttp.ClientSession(connector=connector, timeout=atimeout) as sess:
|
|
1512
|
-
|
|
1513
1512
|
try:
|
|
1514
1513
|
data = aiohttp.FormData()
|
|
1515
1514
|
data._is_multipart = True
|
|
@@ -1523,7 +1522,9 @@ class Axon(s_cell.Cell):
|
|
|
1523
1522
|
|
|
1524
1523
|
sha256 = field.get('sha256')
|
|
1525
1524
|
if sha256:
|
|
1526
|
-
|
|
1525
|
+
sha256b = s_common.uhex(sha256)
|
|
1526
|
+
await self._reqHas(sha256b)
|
|
1527
|
+
valu = self.get(sha256b)
|
|
1527
1528
|
else:
|
|
1528
1529
|
valu = field.get('value')
|
|
1529
1530
|
if not isinstance(valu, (bytes, str)):
|
|
@@ -1547,9 +1548,6 @@ class Axon(s_cell.Cell):
|
|
|
1547
1548
|
}
|
|
1548
1549
|
return info
|
|
1549
1550
|
|
|
1550
|
-
except asyncio.CancelledError: # pramga: no cover
|
|
1551
|
-
raise
|
|
1552
|
-
|
|
1553
1551
|
except Exception as e:
|
|
1554
1552
|
logger.exception(f'Error POSTing files to [{s_urlhelp.sanitizeUrl(url)}]')
|
|
1555
1553
|
err = s_common.err(e)
|
|
@@ -1586,9 +1584,8 @@ class Axon(s_cell.Cell):
|
|
|
1586
1584
|
atimeout = aiohttp.ClientTimeout(total=timeout)
|
|
1587
1585
|
|
|
1588
1586
|
async with aiohttp.ClientSession(connector=connector, timeout=atimeout) as sess:
|
|
1589
|
-
|
|
1590
1587
|
try:
|
|
1591
|
-
|
|
1588
|
+
await self._reqHas(sha256)
|
|
1592
1589
|
async with sess.request(method, url, headers=headers, params=params,
|
|
1593
1590
|
data=self.get(sha256), ssl=ssl) as resp:
|
|
1594
1591
|
|
|
@@ -1601,9 +1598,6 @@ class Axon(s_cell.Cell):
|
|
|
1601
1598
|
}
|
|
1602
1599
|
return info
|
|
1603
1600
|
|
|
1604
|
-
except asyncio.CancelledError: # pramga: no cover
|
|
1605
|
-
raise
|
|
1606
|
-
|
|
1607
1601
|
except Exception as e:
|
|
1608
1602
|
logger.exception(f'Error streaming [{sha256}] to [{s_urlhelp.sanitizeUrl(url)}]')
|
|
1609
1603
|
err = s_common.err(e)
|
|
@@ -881,7 +881,9 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
881
881
|
|
|
882
882
|
self.maxnodes = self.conf.get('max:nodes')
|
|
883
883
|
self.nodecount = 0
|
|
884
|
+
|
|
884
885
|
self.migration = False
|
|
886
|
+
self._migration_lock = asyncio.Lock()
|
|
885
887
|
|
|
886
888
|
self.stormmods = {} # name: mdef
|
|
887
889
|
self.stormpkgs = {} # name: pkgdef
|
|
@@ -1016,6 +1018,12 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
1016
1018
|
(2, self._storLayrFeedDefaults),
|
|
1017
1019
|
), nexs=False)
|
|
1018
1020
|
|
|
1021
|
+
async def _viewNomergeToProtected(self):
|
|
1022
|
+
for view in self.views.values():
|
|
1023
|
+
nomerge = view.info.get('nomerge', False)
|
|
1024
|
+
await view.setViewInfo('protected', nomerge)
|
|
1025
|
+
await view.setViewInfo('nomerge', None)
|
|
1026
|
+
|
|
1019
1027
|
async def _storUpdateMacros(self):
|
|
1020
1028
|
for name, node in await self.hive.open(('cortex', 'storm', 'macros')):
|
|
1021
1029
|
|
|
@@ -1050,6 +1058,9 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
1050
1058
|
|
|
1051
1059
|
def getStormMacro(self, name, user=None):
|
|
1052
1060
|
|
|
1061
|
+
if not name:
|
|
1062
|
+
raise s_exc.BadArg(mesg=f'Macro names must be at least 1 character long')
|
|
1063
|
+
|
|
1053
1064
|
if len(name) > 491:
|
|
1054
1065
|
raise s_exc.BadArg(mesg='Macro names may only be up to 491 chars.')
|
|
1055
1066
|
|
|
@@ -1140,6 +1151,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
1140
1151
|
raise s_exc.BadArg(mesg=f'Duplicate macro name: {name}')
|
|
1141
1152
|
|
|
1142
1153
|
self.slab.put(name.encode(), s_msgpack.en(mdef), db=self.macrodb)
|
|
1154
|
+
await self.feedBeholder('storm:macro:add', {'macro': mdef})
|
|
1143
1155
|
return mdef
|
|
1144
1156
|
|
|
1145
1157
|
async def delStormMacro(self, name, user=None):
|
|
@@ -1151,9 +1163,15 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
1151
1163
|
|
|
1152
1164
|
@s_nexus.Pusher.onPush('storm:macro:del')
|
|
1153
1165
|
async def _delStormMacro(self, name):
|
|
1166
|
+
if not name:
|
|
1167
|
+
raise s_exc.BadArg(mesg=f'Macro names must be at least 1 character long')
|
|
1168
|
+
|
|
1154
1169
|
byts = self.slab.pop(name.encode(), db=self.macrodb)
|
|
1170
|
+
|
|
1155
1171
|
if byts is not None:
|
|
1156
|
-
|
|
1172
|
+
macro = s_msgpack.un(byts)
|
|
1173
|
+
await self.feedBeholder('storm:macro:del', {'name': name, 'iden': macro.get('iden')})
|
|
1174
|
+
return macro
|
|
1157
1175
|
|
|
1158
1176
|
async def modStormMacro(self, name, info, user=None):
|
|
1159
1177
|
if user is not None:
|
|
@@ -1183,6 +1201,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
1183
1201
|
else:
|
|
1184
1202
|
self.slab.put(name.encode(), s_msgpack.en(mdef), db=self.macrodb)
|
|
1185
1203
|
|
|
1204
|
+
await self.feedBeholder('storm:macro:mod', {'macro': mdef, 'info': info})
|
|
1186
1205
|
return mdef
|
|
1187
1206
|
|
|
1188
1207
|
async def setStormMacroPerm(self, name, scope, iden, level, user=None):
|
|
@@ -1201,6 +1220,14 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
1201
1220
|
reqValidStormMacro(mdef)
|
|
1202
1221
|
|
|
1203
1222
|
self.slab.put(name.encode(), s_msgpack.en(mdef), db=self.macrodb)
|
|
1223
|
+
|
|
1224
|
+
info = {
|
|
1225
|
+
'scope': scope,
|
|
1226
|
+
'iden': iden,
|
|
1227
|
+
'level': level
|
|
1228
|
+
}
|
|
1229
|
+
|
|
1230
|
+
await self.feedBeholder('storm:macro:set:perm', {'macro': mdef, 'info': info})
|
|
1204
1231
|
return mdef
|
|
1205
1232
|
|
|
1206
1233
|
async def getStormMacros(self, user=None):
|
|
@@ -1400,6 +1427,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
1400
1427
|
|
|
1401
1428
|
await self._bumpCellVers('cortex:defaults', (
|
|
1402
1429
|
(1, self._addAllLayrRead),
|
|
1430
|
+
(2, self._viewNomergeToProtected),
|
|
1403
1431
|
))
|
|
1404
1432
|
|
|
1405
1433
|
async def _addAllLayrRead(self):
|
|
@@ -1454,12 +1482,21 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
1454
1482
|
await self.stormdmons.start()
|
|
1455
1483
|
await self.agenda.clearRunningStatus()
|
|
1456
1484
|
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1485
|
+
async def _runMigrations():
|
|
1486
|
+
# Run migrations when this cortex becomes active. This is to prevent
|
|
1487
|
+
# migrations getting skipped in a zero-downtime upgrade path
|
|
1488
|
+
# (upgrade mirror, promote mirror).
|
|
1489
|
+
await self._checkLayerModels()
|
|
1460
1490
|
|
|
1461
|
-
|
|
1462
|
-
|
|
1491
|
+
# Once migrations are complete, start the view and layer tasks.
|
|
1492
|
+
for view in self.views.values():
|
|
1493
|
+
await view.initTrigTask()
|
|
1494
|
+
await view.initMergeTask()
|
|
1495
|
+
|
|
1496
|
+
for layer in self.layers.values():
|
|
1497
|
+
await layer.initLayerActive()
|
|
1498
|
+
|
|
1499
|
+
self.runActiveTask(_runMigrations())
|
|
1463
1500
|
|
|
1464
1501
|
await self.initStormPool()
|
|
1465
1502
|
|
|
@@ -3571,6 +3608,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
3571
3608
|
break
|
|
3572
3609
|
|
|
3573
3610
|
yield ioff, layr.iden, SYNC_NODEEDITS, item, meta
|
|
3611
|
+
await asyncio.sleep(0)
|
|
3574
3612
|
|
|
3575
3613
|
if layr.isdeleted:
|
|
3576
3614
|
yield layr.deloffs, layr.iden, SYNC_LAYR_DEL, (), {}
|
|
@@ -4337,7 +4375,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
4337
4375
|
return ret
|
|
4338
4376
|
|
|
4339
4377
|
async def _checkLayerModels(self):
|
|
4340
|
-
with self.enterMigrationMode():
|
|
4378
|
+
async with self.enterMigrationMode():
|
|
4341
4379
|
mrev = s_modelrev.ModelRev(self)
|
|
4342
4380
|
await mrev.revCoreLayers()
|
|
4343
4381
|
|
|
@@ -4458,6 +4496,10 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
4458
4496
|
if view is None:
|
|
4459
4497
|
raise s_exc.NoSuchView(mesg=f'No such view {iden=}', iden=iden)
|
|
4460
4498
|
|
|
4499
|
+
if view.info.get('protected'):
|
|
4500
|
+
mesg = f'Cannot delete view ({iden}) that has protected set.'
|
|
4501
|
+
raise s_exc.CantDelView(mesg=mesg)
|
|
4502
|
+
|
|
4461
4503
|
return await self._push('view:del', iden)
|
|
4462
4504
|
|
|
4463
4505
|
@s_nexus.Pusher.onPush('view:del')
|
|
@@ -6068,11 +6110,12 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
6068
6110
|
appt = await self.agenda.get(iden)
|
|
6069
6111
|
await appt.edits(edits)
|
|
6070
6112
|
|
|
6071
|
-
@contextlib.
|
|
6072
|
-
def enterMigrationMode(self):
|
|
6073
|
-
self.
|
|
6074
|
-
|
|
6075
|
-
|
|
6113
|
+
@contextlib.asynccontextmanager
|
|
6114
|
+
async def enterMigrationMode(self):
|
|
6115
|
+
async with self._migration_lock:
|
|
6116
|
+
self.migration = True
|
|
6117
|
+
yield
|
|
6118
|
+
self.migration = False
|
|
6076
6119
|
|
|
6077
6120
|
async def iterFormRows(self, layriden, form, stortype=None, startvalu=None):
|
|
6078
6121
|
'''
|
|
@@ -145,6 +145,7 @@ class CantDelForm(SynErr): pass
|
|
|
145
145
|
class CantDelProp(SynErr): pass
|
|
146
146
|
class CantDelType(SynErr): pass
|
|
147
147
|
class CantDelUniv(SynErr): pass
|
|
148
|
+
class CantDelView(SynErr): pass
|
|
148
149
|
class CantMergeView(SynErr): pass
|
|
149
150
|
class CantRevLayer(SynErr): pass
|
|
150
151
|
class CliFini(SynErr):
|
|
@@ -782,6 +782,8 @@ class AhaCell(s_cell.Cell):
|
|
|
782
782
|
|
|
783
783
|
svcname, svcnetw, svcfull = self._nameAndNetwork(name, network)
|
|
784
784
|
|
|
785
|
+
logger.info(f'Deleting service [{svcfull}].', extra=await self.getLogExtra(name=svcname, netw=svcnetw))
|
|
786
|
+
|
|
785
787
|
full = ('aha', 'svcfull', svcfull)
|
|
786
788
|
path = ('aha', 'services', svcnetw, svcname)
|
|
787
789
|
|
|
@@ -805,7 +807,8 @@ class AhaCell(s_cell.Cell):
|
|
|
805
807
|
async def _setAhaSvcDown(self, name, linkiden, network=None):
|
|
806
808
|
svcname, svcnetw, svcfull = self._nameAndNetwork(name, network)
|
|
807
809
|
path = ('aha', 'services', svcnetw, svcname)
|
|
808
|
-
await self.jsonstor.cmpDelPathObjProp(path, 'svcinfo/online', linkiden)
|
|
810
|
+
if await self.jsonstor.cmpDelPathObjProp(path, 'svcinfo/online', linkiden):
|
|
811
|
+
await self.jsonstor.setPathObjProp(path, 'svcinfo/ready', False)
|
|
809
812
|
|
|
810
813
|
# Check if we have any links which may need to be removed
|
|
811
814
|
current_sessions = {s_common.guid(iden): sess for iden, sess in self.dmon.sessions.items()}
|
|
@@ -143,6 +143,7 @@ class Base:
|
|
|
143
143
|
self._fini_atexit = False
|
|
144
144
|
self._active_tasks = None # the set of free running tasks associated with me
|
|
145
145
|
self._context_managers = None # the set of context managers i must fini
|
|
146
|
+
self._syn_signal_tasks = None # initialized as a Set when addSignalHandlers is called.
|
|
146
147
|
|
|
147
148
|
async def postAnit(self):
|
|
148
149
|
'''
|
|
@@ -559,14 +560,20 @@ class Base:
|
|
|
559
560
|
'''
|
|
560
561
|
Register SIGTERM/SIGINT signal handlers with the ioloop to fini this object.
|
|
561
562
|
'''
|
|
563
|
+
if self._syn_signal_tasks is None:
|
|
564
|
+
self._syn_signal_tasks = set()
|
|
562
565
|
|
|
563
566
|
def sigterm():
|
|
564
|
-
|
|
565
|
-
asyncio.create_task(self.fini())
|
|
567
|
+
logger.warning('Caught SIGTERM, shutting down.')
|
|
568
|
+
task = asyncio.create_task(self.fini())
|
|
569
|
+
self._syn_signal_tasks.add(task)
|
|
570
|
+
task.add_done_callback(self._syn_signal_tasks.discard)
|
|
566
571
|
|
|
567
572
|
def sigint():
|
|
568
|
-
|
|
569
|
-
asyncio.create_task(self.fini())
|
|
573
|
+
logger.warning('Caught SIGINT, shutting down.')
|
|
574
|
+
task = asyncio.create_task(self.fini())
|
|
575
|
+
self._syn_signal_tasks.add(task)
|
|
576
|
+
task.add_done_callback(self._syn_signal_tasks.discard)
|
|
570
577
|
|
|
571
578
|
loop = asyncio.get_running_loop()
|
|
572
579
|
loop.add_signal_handler(signal.SIGINT, sigint)
|
|
@@ -668,26 +668,32 @@ class CellApi(s_base.Base):
|
|
|
668
668
|
|
|
669
669
|
@adminapi()
|
|
670
670
|
async def listHiveKey(self, path=None):
|
|
671
|
+
s_common.deprecated('CellApi.listHiveKey', curv='2.167.0')
|
|
671
672
|
return await self.cell.listHiveKey(path=path)
|
|
672
673
|
|
|
673
674
|
@adminapi(log=True)
|
|
674
675
|
async def getHiveKeys(self, path):
|
|
676
|
+
s_common.deprecated('CellApi.getHiveKeys', curv='2.167.0')
|
|
675
677
|
return await self.cell.getHiveKeys(path)
|
|
676
678
|
|
|
677
679
|
@adminapi(log=True)
|
|
678
680
|
async def getHiveKey(self, path):
|
|
681
|
+
s_common.deprecated('CellApi.getHiveKey', curv='2.167.0')
|
|
679
682
|
return await self.cell.getHiveKey(path)
|
|
680
683
|
|
|
681
684
|
@adminapi(log=True)
|
|
682
685
|
async def setHiveKey(self, path, valu):
|
|
686
|
+
s_common.deprecated('CellApi.setHiveKey', curv='2.167.0')
|
|
683
687
|
return await self.cell.setHiveKey(path, valu)
|
|
684
688
|
|
|
685
689
|
@adminapi(log=True)
|
|
686
690
|
async def popHiveKey(self, path):
|
|
691
|
+
s_common.deprecated('CellApi.popHiveKey', curv='2.167.0')
|
|
687
692
|
return await self.cell.popHiveKey(path)
|
|
688
693
|
|
|
689
694
|
@adminapi(log=True)
|
|
690
695
|
async def saveHiveTree(self, path=()):
|
|
696
|
+
s_common.deprecated('CellApi.saveHiveTree', curv='2.167.0')
|
|
691
697
|
return await self.cell.saveHiveTree(path=path)
|
|
692
698
|
|
|
693
699
|
@adminapi()
|
|
@@ -1419,7 +1425,6 @@ class Cell(s_nexus.Pusher, s_telepath.Aware):
|
|
|
1419
1425
|
if ahaurl is not None:
|
|
1420
1426
|
|
|
1421
1427
|
info = await s_telepath.addAhaUrl(ahaurl)
|
|
1422
|
-
self.ahaclient = info.get('client')
|
|
1423
1428
|
if self.ahaclient is None:
|
|
1424
1429
|
self.ahaclient = await s_telepath.Client.anit(info.get('url'))
|
|
1425
1430
|
self.ahaclient._fini_atexit = True
|
|
@@ -2895,6 +2900,7 @@ class Cell(s_nexus.Pusher, s_telepath.Aware):
|
|
|
2895
2900
|
if isnew:
|
|
2896
2901
|
path = os.path.join(self.dirn, 'hiveboot.yaml')
|
|
2897
2902
|
if os.path.isfile(path):
|
|
2903
|
+
s_common.deprdate('Initial hive config from hiveboot.yaml', '2024-05-05')
|
|
2898
2904
|
logger.debug(f'Loading cell hive from {path}')
|
|
2899
2905
|
tree = s_common.yamlload(path)
|
|
2900
2906
|
if tree is not None:
|
|
@@ -4079,7 +4085,10 @@ class Cell(s_nexus.Pusher, s_telepath.Aware):
|
|
|
4079
4085
|
await s_base.Base.addSignalHandlers(self)
|
|
4080
4086
|
|
|
4081
4087
|
def sighup():
|
|
4082
|
-
|
|
4088
|
+
logger.info('Caught SIGHUP, running reloadable subsystems.')
|
|
4089
|
+
task = asyncio.create_task(self.reload())
|
|
4090
|
+
self._syn_signal_tasks.add(task)
|
|
4091
|
+
task.add_done_callback(self._syn_signal_tasks.discard)
|
|
4083
4092
|
|
|
4084
4093
|
loop = asyncio.get_running_loop()
|
|
4085
4094
|
loop.add_signal_handler(signal.SIGHUP, sighup)
|
|
@@ -473,12 +473,15 @@ class HiveApi(s_base.Base):
|
|
|
473
473
|
self.onfini(self._onHapiFini)
|
|
474
474
|
|
|
475
475
|
async def loadHiveTree(self, tree, path=(), trim=False):
|
|
476
|
+
s_common.deprecated('HiveApi.loadHiveTree', curv='2.167.0')
|
|
476
477
|
return await self.hive.loadHiveTree(tree, path=path, trim=trim)
|
|
477
478
|
|
|
478
479
|
async def saveHiveTree(self, path=()):
|
|
480
|
+
s_common.deprecated('HiveApi.saveHiveTree', curv='2.167.0')
|
|
479
481
|
return await self.hive.saveHiveTree(path=path)
|
|
480
482
|
|
|
481
483
|
async def treeAndSync(self, path, iden):
|
|
484
|
+
s_common.deprecated('HiveApi.treeAndSync', curv='2.167.0')
|
|
482
485
|
|
|
483
486
|
node = await self.hive.open(path)
|
|
484
487
|
|
|
@@ -510,16 +513,22 @@ class HiveApi(s_base.Base):
|
|
|
510
513
|
return
|
|
511
514
|
|
|
512
515
|
async def setAndSync(self, path, valu, iden, nexs=False):
|
|
516
|
+
s_common.deprecated('HiveApi.setAndSync', curv='2.167.0')
|
|
517
|
+
|
|
513
518
|
valu = await self.hive.set(path, valu, nexs=nexs)
|
|
514
519
|
await self.msgq.put(('hive:sync', {'iden': iden}))
|
|
515
520
|
return valu
|
|
516
521
|
|
|
517
522
|
async def addAndSync(self, path, valu, iden):
|
|
523
|
+
s_common.deprecated('HiveApi.addAndSync', curv='2.167.0')
|
|
524
|
+
|
|
518
525
|
valu = await self.hive.add(path, valu)
|
|
519
526
|
await self.msgq.put(('hive:sync', {'iden': iden}))
|
|
520
527
|
return valu
|
|
521
528
|
|
|
522
529
|
async def popAndSync(self, path, iden, nexs=False):
|
|
530
|
+
s_common.deprecated('HiveApi.popAndSync', curv='2.167.0')
|
|
531
|
+
|
|
523
532
|
valu = await self.hive.pop(path, nexs=nexs)
|
|
524
533
|
await self.msgq.put(('hive:sync', {'iden': iden}))
|
|
525
534
|
return valu
|
|
@@ -531,9 +540,11 @@ class HiveApi(s_base.Base):
|
|
|
531
540
|
self.msgq.put_nowait(mesg)
|
|
532
541
|
|
|
533
542
|
async def get(self, full):
|
|
543
|
+
s_common.deprecated('HiveApi.get', curv='2.167.0')
|
|
534
544
|
return await self.hive.get(full)
|
|
535
545
|
|
|
536
546
|
async def edits(self):
|
|
547
|
+
s_common.deprecated('HiveApi.edits', curv='2.167.0')
|
|
537
548
|
|
|
538
549
|
while not self.isfini:
|
|
539
550
|
|
|
@@ -165,11 +165,13 @@ class LayerApi(s_cell.CellApi):
|
|
|
165
165
|
await self._reqUserAllowed(self.liftperm)
|
|
166
166
|
async for item in self.layr.syncNodeEdits(offs, wait=wait):
|
|
167
167
|
yield item
|
|
168
|
+
await asyncio.sleep(0)
|
|
168
169
|
|
|
169
170
|
async def syncNodeEdits2(self, offs, wait=True):
|
|
170
171
|
await self._reqUserAllowed(self.liftperm)
|
|
171
172
|
async for item in self.layr.syncNodeEdits2(offs, wait=wait):
|
|
172
173
|
yield item
|
|
174
|
+
await asyncio.sleep(0)
|
|
173
175
|
|
|
174
176
|
async def getEditIndx(self):
|
|
175
177
|
'''
|
|
@@ -768,6 +768,12 @@ class ModelRev:
|
|
|
768
768
|
Returns:
|
|
769
769
|
None
|
|
770
770
|
'''
|
|
771
|
+
if opts is None:
|
|
772
|
+
opts = {}
|
|
773
|
+
|
|
774
|
+
# Migrations only run on leaders
|
|
775
|
+
opts['mirror'] = False
|
|
776
|
+
|
|
771
777
|
async def _runStorm():
|
|
772
778
|
async for mesgtype, mesginfo in self.core.storm(text, opts=opts):
|
|
773
779
|
if mesgtype == 'print':
|
|
@@ -472,10 +472,12 @@ class Node:
|
|
|
472
472
|
form=self.form.full, tag=tag)
|
|
473
473
|
|
|
474
474
|
pref = name + '.'
|
|
475
|
+
exists = self.tags.get(name, s_common.novalu) is not s_common.novalu
|
|
475
476
|
|
|
476
477
|
todel = [(len(t), t) for t in self.tags.keys() if t.startswith(pref)]
|
|
477
478
|
|
|
478
|
-
|
|
479
|
+
# only prune when we're actually deleting a tag
|
|
480
|
+
if len(path) > 1 and exists:
|
|
479
481
|
|
|
480
482
|
parent = '.'.join(path[:-1])
|
|
481
483
|
|
|
@@ -511,7 +513,7 @@ class Node:
|
|
|
511
513
|
edits.append((s_layer.EDIT_TAG_DEL, (subtag, None), ()))
|
|
512
514
|
|
|
513
515
|
edits.extend(self._getTagPropDel(name))
|
|
514
|
-
if
|
|
516
|
+
if exists:
|
|
515
517
|
edits.append((s_layer.EDIT_TAG_DEL, (name, None), ()))
|
|
516
518
|
|
|
517
519
|
return edits
|
|
@@ -172,7 +172,7 @@ reqValidView = s_config.getJsValidator({
|
|
|
172
172
|
'parent': {'type': ['string', 'null'], 'pattern': s_config.re_iden},
|
|
173
173
|
'creator': {'type': 'string', 'pattern': s_config.re_iden},
|
|
174
174
|
'created': {'type': 'integer', 'minimum': 0},
|
|
175
|
-
'
|
|
175
|
+
'protected': {'type': 'boolean', 'default': False},
|
|
176
176
|
'merging': {'type': 'boolean'},
|
|
177
177
|
'layers': {
|
|
178
178
|
'type': 'array',
|