synapse 2.198.0__tar.gz → 2.200.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.198.0/synapse.egg-info → synapse-2.200.0}/PKG-INFO +2 -2
- {synapse-2.198.0 → synapse-2.200.0}/pyproject.toml +2 -2
- {synapse-2.198.0 → synapse-2.200.0}/synapse/cortex.py +0 -6
- {synapse-2.198.0 → synapse-2.200.0}/synapse/datamodel.py +8 -1
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/hive.py +1 -265
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/snap.py +56 -28
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/storm.py +28 -10
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/version.py +2 -2
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/view.py +2 -1
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_cortex.py +0 -6
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_datamodel.py +29 -5
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_aha.py +11 -11
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_cell.py +4 -4
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_hive.py +0 -38
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_storm.py +14 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_hiveload.py +19 -23
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_hivesave.py +5 -7
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/utils.py +17 -19
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/hive/load.py +3 -9
- {synapse-2.198.0 → synapse-2.200.0/synapse.egg-info}/PKG-INFO +2 -2
- {synapse-2.198.0 → synapse-2.200.0}/synapse.egg-info/SOURCES.txt +0 -1
- {synapse-2.198.0 → synapse-2.200.0}/synapse.egg-info/requires.txt +1 -1
- synapse-2.198.0/synapse/lib/hiveauth.py +0 -1336
- {synapse-2.198.0 → synapse-2.200.0}/LICENSE +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/README.rst +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/setup.cfg +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/axon.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/cells.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/cmds/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/cmds/boss.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/cmds/cortex.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/cmds/hive.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/common.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/cryotank.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/daemon.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/attack-flow/LICENSE.txt +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/attack-flow/README.md +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/attack-flow/attack-flow-schema-2.0.0.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/certs/cas/The Vertex Project Intermediate CA 00.crt +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/certs/cas/The Vertex Project ROOT CA.crt +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/certs/crls/The Vertex Project Intermediate CA 00.crl +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/certs/crls/The Vertex Project ROOT CA.crl +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/iana.tlds.mpk +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/README.md +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/LICENSE.txt +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/binary.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/bundle.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/core.json +0 -0
- {synapse-2.198.0 → synapse-2.200.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.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/dictionary.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension-definition.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/external-reference.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/granular-marking.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hashes-type.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hex.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/identifier.json +0 -0
- {synapse-2.198.0 → synapse-2.200.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.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/language-content.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/marking-definition.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/properties.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/timestamp.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/url-regex.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/artifact.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/autonomous-system.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/directory.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/domain-name.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-addr.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-message.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/file.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv4-addr.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv6-addr.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mac-addr.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mutex.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/network-traffic.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/process.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/software.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/url.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/user-account.json +0 -0
- {synapse-2.198.0 → synapse-2.200.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.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/x509-certificate.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/attack-pattern.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/campaign.json +0 -0
- {synapse-2.198.0 → synapse-2.200.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.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/grouping.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/identity.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/incident.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/indicator.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/infrastructure.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/intrusion-set.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/location.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware-analysis.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/note.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/observed-data.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/opinion.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/report.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/threat-actor.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/tool.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/vulnerability.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/relationship.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/sighting.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/exc.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/glob.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/agenda.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/aha.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/ast.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/auth.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/autodoc.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/base.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/boss.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/cache.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/cell.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/certdir.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/chop.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/cli.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/cmd.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/cmdr.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/config.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/const.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/coro.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/crypto/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/crypto/coin.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/crypto/ecc.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/crypto/passwd.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/crypto/rsa.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/crypto/tinfoil.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/datfile.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/drive.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/dyndeps.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/encoding.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/gis.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/grammar.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/hashitem.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/hashset.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/health.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/httpapi.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/ingest.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/interval.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/jsonstor.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/layer.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/link.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/lmdbslab.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/modelrev.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/module.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/modules.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/msgpack.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/multislabseqn.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/nexus.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/node.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/oauth.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/output.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/parser.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/platforms/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/platforms/common.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/platforms/darwin.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/platforms/freebsd.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/platforms/linux.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/platforms/windows.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/queue.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/ratelimit.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/reflect.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/rstorm.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/schemas.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/scope.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/scrape.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/share.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/slaboffs.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/slabseqn.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/spooled.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/storm.lark +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/storm_format.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormctrl.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormhttp.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/aha.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/auth.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/backup.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/basex.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/cache.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/cell.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/compression.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/cortex.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/easyperm.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/env.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/ethereum.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/gen.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/gis.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/graph.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/hashes.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/hex.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/imap.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/index.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/infosec.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/ipv6.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/iters.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/json.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/log.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/macro.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/math.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/mime.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/model.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/modelext.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/notifications.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/oauth.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/pack.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/project.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/random.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/scrape.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/smtp.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/spooled.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/stats.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/stix.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/storm.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/tabular.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/utils.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/vault.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/version.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/xml.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormlib/yaml.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormsvc.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormtypes.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/stormwhois.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/structlog.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/task.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/thishost.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/thisplat.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/threads.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/time.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/trigger.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/types.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lib/urlhelp.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lookup/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lookup/cvss.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lookup/iana.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lookup/iso3166.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lookup/macho.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lookup/pe.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lookup/phonenum.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/lookup/timezones.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/mindmeld.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/auth.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/base.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/belief.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/biz.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/crypto.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/dns.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/doc.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/economic.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/entity.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/files.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/geopol.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/geospace.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/gov/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/gov/cn.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/gov/intl.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/gov/us.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/inet.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/infotech.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/language.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/material.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/math.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/media.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/orgs.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/person.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/planning.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/proj.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/risk.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/science.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/syn.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/telco.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/models/transport.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/servers/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/servers/aha.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/servers/axon.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/servers/cell.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/servers/cortex.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/servers/cryotank.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/servers/jsonstor.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/servers/stemcell.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/telepath.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/TestUtilsGetrefs.test_basics.yaml +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/aha/certs/cas/synapse.crt +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/aha/certs/cas/synapse.key +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.crt +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.key +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/aha/certs/users/root@synapse.crt +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/aha/certs/users/root@synapse.key +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/attack_flow/CISA AA22-138B VMWare Workspace (Alt).json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/attack_flow/CISA_Iranian_APT.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/certdir/cas/ca.crt +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/certdir/cas/ca.key +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/certdir/hosts/localhost.crt +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/certdir/hosts/localhost.key +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/certdir/users/root.crt +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/certdir/users/root.key +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/certdir/users/user.crt +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/certdir/users/user.key +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/changelog/model_2.176.0_16ee721a6b7221344eaf946c3ab4602dda546b1a.yaml.gz +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/changelog/model_2.176.0_2a25c58bbd344716cd7cbc3f4304d8925b0f4ef2.yaml.gz +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/cpedata.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/rstorm/httpresp1.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/rstorm/httpresp2.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/rstorm/httpresp3.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/rstorm/httprespmulti.yaml +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/rstorm/testsvc.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stix_export/basic.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stix_export/custom0.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stix_export/risk0.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stix_import/apt1.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stix_import/oasis-example-00.json +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormcov/argvquery.storm +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormcov/dupesubs.storm +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormcov/lookup.storm +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormcov/pivot.storm +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormcov/pragma-nocov.storm +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormcov/spin.storm +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormcov/stormctrl.storm +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormmod/common +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormpkg/badapidef.yaml +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormpkg/badcmdname.yaml +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormpkg/badendpoints.yaml +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormpkg/badjsonpkg.yaml +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormpkg/docs/foobar.md +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormpkg/docs/foobar.svg +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormpkg/dotstorm/dotstorm.yaml +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormpkg/dotstorm/storm/commands/dotstorm.bar.storm +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormpkg/dotstorm/storm/modules/dotstorm.foo.storm +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormpkg/nocontent.yaml +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormpkg/nomime.yaml +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormpkg/nopath.yaml +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormpkg/nosuchfile.yaml +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormpkg/notitle.yaml +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormpkg/optic/index.html +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormpkg/storm/commands/invalidCMD +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormpkg/storm/commands/testpkg.baz +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormpkg/storm/commands/testpkgcmd +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormpkg/storm/modules/apimod +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormpkg/storm/modules/testmod +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormpkg/testpkg.yaml +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormpkg/workflows/testpkg-bam.newp +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormpkg/workflows/testpkg-baz.yaml +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/stormpkg/workflows/testpkg-foo.yaml +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/test.dat +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/files/testcore/cell.yaml +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/nopmod.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_axon.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_cmds_boss.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_cmds_cortex.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_cmds_hive.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_common.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_cryotank.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_daemon.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_data.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_exc.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_glob.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_init.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_agenda.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_ast.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_auth.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_autodoc.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_base.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_boss.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_cache.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_certdir.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_chop.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_cli.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_config.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_const.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_coro.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_crypto_coin.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_crypto_ecc.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_crypto_passwd.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_crypto_tinfoil.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_datfile.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_dyndeps.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_encoding.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_gis.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_grammar.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_hashitem.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_hashset.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_health.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_httpapi.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_interval.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_jsonstor.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_layer.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_link.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_lmdbslab.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_modelrev.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_module.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_msgpack.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_multislabseqn.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_nexus.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_node.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_output.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_platforms_linux.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_queue.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_ratelimit.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_reflect.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_rstorm.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_scope.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_scrape.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_slaboffs.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_slabseqn.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_snap.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_spooled.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_storm_format.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormctrl.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormhttp.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_aha.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_auth.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_backup.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_basex.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_cache.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_cell.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_compression.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_cortex.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_easyperm.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_env.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_ethereum.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_gen.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_gis.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_hashes.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_hex.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_imap.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_index.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_infosec.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_ipv6.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_iters.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_json.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_log.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_macro.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_mime.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_model.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_modelext.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_oauth.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_pack.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_random.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_scrape.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_smtp.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_spooled.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_stats.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_stix.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_storm.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_tabular.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_utils.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_vault.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_xml.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormlib_yaml.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormsvc.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormtypes.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_stormwhois.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_structlog.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_task.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_thishost.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_time.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_trigger.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_types.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_urlhelp.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_version.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lib_view.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lookup_iso3166.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_lookup_phonenum.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_mindmeld.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_auth.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_base.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_belief.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_biz.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_crypto.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_dns.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_doc.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_economic.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_files.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_geopol.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_geospace.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_gov_cn.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_gov_intl.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_gov_us.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_inet.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_infotech.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_language.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_material.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_math.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_media.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_orgs.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_person.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_planning.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_proj.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_risk.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_science.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_syn.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_telco.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_model_transport.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_servers_axon.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_servers_cortex.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_servers_cryotank.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_servers_stemcell.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_servers_univ.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_telepath.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_aha.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_apikey.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_autodoc.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_axon2axon.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_backup.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_cellauth.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_changelog.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_cryo_cat.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_cryo_list.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_csvtool.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_docker_validate.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_easycert.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_feed.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_genpkg.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_guid.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_healthcheck.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_json2mpk.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_livebackup.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_modrole.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_moduser.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_promote.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_pullfile.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_pushfile.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_reload.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_rstorm.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_snapshot.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_tools_storm.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_utils.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_utils_getrefs.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tests/test_utils_stormcov.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/aha/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/aha/clone.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/aha/easycert.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/aha/enroll.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/aha/list.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/aha/mirror.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/aha/provision/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/aha/provision/service.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/aha/provision/user.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/apikey.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/autodoc.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/axon2axon.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/backup.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/cellauth.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/changelog.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/cmdr.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/cryo/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/cryo/cat.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/cryo/list.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/csvtool.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/docker/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/docker/validate.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/easycert.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/feed.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/genpkg.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/guid.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/healthcheck.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/hive/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/hive/save.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/json2mpk.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/livebackup.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/modrole.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/moduser.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/promote.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/pullfile.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/pushfile.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/reload.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/rstorm.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/snapshot.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/tools/storm.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/utils/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/utils/getrefs.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/utils/stormcov/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/utils/stormcov/plugin.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/cashaddress/LICENSE +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/cashaddress/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/cashaddress/base58.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/cashaddress/convert.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/cashaddress/crypto.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/cashaddress/tests/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/cashaddress/tests/test_cashaddress.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/cpython/LICENSE +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/cpython/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/cpython/lib/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/cpython/lib/email/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/cpython/lib/email/_parseaddr.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/cpython/lib/email/utils.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/cpython/lib/http/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/cpython/lib/http/cookies.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/cpython/lib/ipaddress.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/cpython/lib/test/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/cpython/lib/test/support/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/cpython/lib/test/test_email/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/cpython/lib/test/test_email/test_email.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/cpython/lib/test/test_email/test_utils.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/cpython/lib/test/test_http_cookies.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/cpython/lib/test/test_ipaddress.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/substrateinterface/LICENSE +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/substrateinterface/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/substrateinterface/tests/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/substrateinterface/tests/test_ss58.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/substrateinterface/utils/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/substrateinterface/utils/ss58.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/utils.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/xrpl/LICENSE +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/xrpl/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/xrpl/constants.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/xrpl/core/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/xrpl/core/addresscodec/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/xrpl/core/addresscodec/codec.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/xrpl/core/addresscodec/exceptions.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/xrpl/core/addresscodec/main.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/xrpl/core/addresscodec/utils.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/xrpl/tests/__init__.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/xrpl/tests/test_codec.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/xrpl/tests/test_main.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse/vendor/xrpl/tests/test_main_test_cases.py +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse.egg-info/dependency_links.txt +0 -0
- {synapse-2.198.0 → synapse-2.200.0}/synapse.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: synapse
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.200.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
|
|
@@ -23,7 +23,7 @@ Requires-Dist: pyOpenSSL<24.3.0,>=24.0.0
|
|
|
23
23
|
Requires-Dist: cryptography<44.0.0,>=43.0.1
|
|
24
24
|
Requires-Dist: msgpack<1.2.0,>=1.0.5
|
|
25
25
|
Requires-Dist: xxhash<3.6.0,>=1.4.4
|
|
26
|
-
Requires-Dist: lmdb<1.
|
|
26
|
+
Requires-Dist: lmdb<1.7.0,>=1.2.1
|
|
27
27
|
Requires-Dist: tornado<7.0.0,>=6.2.0
|
|
28
28
|
Requires-Dist: regex>=2022.9.11
|
|
29
29
|
Requires-Dist: PyYAML<6.1.0,>=5.4
|
|
@@ -4,7 +4,7 @@ build-backend = 'setuptools.build_meta'
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = 'synapse'
|
|
7
|
-
version = '2.
|
|
7
|
+
version = '2.200.0'
|
|
8
8
|
authors = [
|
|
9
9
|
{ name = 'The Vertex Project LLC', email = 'root@vertex.link'},
|
|
10
10
|
]
|
|
@@ -27,7 +27,7 @@ dependencies = [
|
|
|
27
27
|
'cryptography>=43.0.1,<44.0.0',
|
|
28
28
|
'msgpack>=1.0.5,<1.2.0',
|
|
29
29
|
'xxhash>=1.4.4,<3.6.0',
|
|
30
|
-
'lmdb>=1.2.1,<1.
|
|
30
|
+
'lmdb>=1.2.1,<1.7.0',
|
|
31
31
|
'tornado>=6.2.0,<7.0.0',
|
|
32
32
|
'regex>=2022.9.11',
|
|
33
33
|
'PyYAML>=5.4,<6.1.0',
|
|
@@ -20,7 +20,6 @@ import synapse.lib.base as s_base
|
|
|
20
20
|
import synapse.lib.cell as s_cell
|
|
21
21
|
import synapse.lib.chop as s_chop
|
|
22
22
|
import synapse.lib.coro as s_coro
|
|
23
|
-
import synapse.lib.hive as s_hive
|
|
24
23
|
import synapse.lib.view as s_view
|
|
25
24
|
import synapse.lib.cache as s_cache
|
|
26
25
|
import synapse.lib.const as s_const
|
|
@@ -855,7 +854,6 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
855
854
|
cellapi = CoreApi
|
|
856
855
|
viewapi = s_view.ViewApi
|
|
857
856
|
layerapi = s_layer.LayerApi
|
|
858
|
-
hiveapi = s_hive.HiveApi
|
|
859
857
|
|
|
860
858
|
viewctor = s_view.View.anit
|
|
861
859
|
layrctor = s_layer.Layer.anit
|
|
@@ -4656,10 +4654,6 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
4656
4654
|
if not path:
|
|
4657
4655
|
return await self.cellapi.anit(self, link, user)
|
|
4658
4656
|
|
|
4659
|
-
if path[0] == 'hive' and user.isAdmin():
|
|
4660
|
-
s_common.deprecated('Cortex /hive telepath path', curv='2.198.0', eolv='2.199.0')
|
|
4661
|
-
return await self.hiveapi.anit(self.hive, user)
|
|
4662
|
-
|
|
4663
4657
|
if path[0] == 'layer':
|
|
4664
4658
|
|
|
4665
4659
|
if len(path) == 1:
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'''
|
|
2
2
|
An API to assist with the creation and enforcement of cortex data models.
|
|
3
3
|
'''
|
|
4
|
+
import sys
|
|
4
5
|
import asyncio
|
|
5
6
|
import logging
|
|
6
7
|
import collections
|
|
@@ -15,6 +16,7 @@ import synapse.lib.cache as s_cache
|
|
|
15
16
|
import synapse.lib.types as s_types
|
|
16
17
|
import synapse.lib.dyndeps as s_dyndeps
|
|
17
18
|
import synapse.lib.grammar as s_grammar
|
|
19
|
+
import synapse.lib.msgpack as s_msgpack
|
|
18
20
|
|
|
19
21
|
logger = logging.getLogger(__name__)
|
|
20
22
|
|
|
@@ -142,6 +144,9 @@ class Prop:
|
|
|
142
144
|
async def depfunc(node, oldv):
|
|
143
145
|
mesg = f'The property {self.full} is deprecated or using a deprecated type and will be removed in 3.0.0'
|
|
144
146
|
await node.snap.warnonce(mesg)
|
|
147
|
+
if __debug__:
|
|
148
|
+
sys.audit('synapse.datamodel.Prop.deprecated', mesg, self.full)
|
|
149
|
+
|
|
145
150
|
self.onSet(depfunc)
|
|
146
151
|
|
|
147
152
|
def __repr__(self):
|
|
@@ -306,6 +311,8 @@ class Form:
|
|
|
306
311
|
async def depfunc(node):
|
|
307
312
|
mesg = f'The form {self.full} is deprecated or using a deprecated type and will be removed in 3.0.0'
|
|
308
313
|
await node.snap.warnonce(mesg)
|
|
314
|
+
if __debug__:
|
|
315
|
+
sys.audit('synapse.datamodel.Form.deprecated', mesg, self.full)
|
|
309
316
|
self.onAdd(depfunc)
|
|
310
317
|
|
|
311
318
|
def getStorNode(self, form):
|
|
@@ -1107,7 +1114,7 @@ class Model:
|
|
|
1107
1114
|
|
|
1108
1115
|
def _prepFormIface(self, form, iface):
|
|
1109
1116
|
|
|
1110
|
-
template = iface.get('template', {})
|
|
1117
|
+
template = s_msgpack.deepcopy(iface.get('template', {}))
|
|
1111
1118
|
template.update(form.type.info.get('template', {}))
|
|
1112
1119
|
|
|
1113
1120
|
def convert(item):
|
|
@@ -86,7 +86,7 @@ class Node(s_base.Base):
|
|
|
86
86
|
for name, node in self.kids.items():
|
|
87
87
|
yield name, node
|
|
88
88
|
|
|
89
|
-
class Hive(s_nexus.Pusher
|
|
89
|
+
class Hive(s_nexus.Pusher):
|
|
90
90
|
'''
|
|
91
91
|
An optionally persistent atomically accessed tree which implements
|
|
92
92
|
primitives for use in making distributed/clustered services.
|
|
@@ -95,8 +95,6 @@ class Hive(s_nexus.Pusher, s_telepath.Aware):
|
|
|
95
95
|
|
|
96
96
|
await s_nexus.Pusher.__anit__(self, 'hive', nexsroot=nexsroot)
|
|
97
97
|
|
|
98
|
-
s_telepath.Aware.__init__(self)
|
|
99
|
-
|
|
100
98
|
if conf is None:
|
|
101
99
|
conf = {}
|
|
102
100
|
|
|
@@ -161,24 +159,6 @@ class Hive(s_nexus.Pusher, s_telepath.Aware):
|
|
|
161
159
|
for cullname in culls:
|
|
162
160
|
await node.pop((cullname,))
|
|
163
161
|
|
|
164
|
-
async def getHiveAuth(self):
|
|
165
|
-
'''
|
|
166
|
-
Retrieve a HiveAuth for hive standalone or non-cell uses.
|
|
167
|
-
|
|
168
|
-
Note:
|
|
169
|
-
This is for the hive's own auth, or for non-cell auth. It isn't the same auth as for a cell
|
|
170
|
-
'''
|
|
171
|
-
import synapse.lib.hiveauth as s_hiveauth
|
|
172
|
-
if self.auth is None:
|
|
173
|
-
|
|
174
|
-
path = tuple(self.conf.get('auth:path').split('/'))
|
|
175
|
-
|
|
176
|
-
node = await self.open(path)
|
|
177
|
-
self.auth = await s_hiveauth.Auth.anit(node, nexsroot=self.nexsroot)
|
|
178
|
-
self.onfini(self.auth.fini)
|
|
179
|
-
|
|
180
|
-
return self.auth
|
|
181
|
-
|
|
182
162
|
async def _onHiveFini(self):
|
|
183
163
|
await self.root.fini()
|
|
184
164
|
|
|
@@ -423,27 +403,6 @@ class Hive(s_nexus.Pusher, s_telepath.Aware):
|
|
|
423
403
|
|
|
424
404
|
return node.valu
|
|
425
405
|
|
|
426
|
-
async def getTeleApi(self, link, mesg, path):
|
|
427
|
-
s_common.deprecated('Hive.getTeleApi', curv='2.198.0', eolv='2.199.0')
|
|
428
|
-
auth = await self.getHiveAuth()
|
|
429
|
-
|
|
430
|
-
if not self.conf.get('auth:en'):
|
|
431
|
-
user = await auth.getUserByName('root')
|
|
432
|
-
return await HiveApi.anit(self, user)
|
|
433
|
-
|
|
434
|
-
name, info = mesg[1].get('auth')
|
|
435
|
-
|
|
436
|
-
user = await auth.getUserByName(name)
|
|
437
|
-
if user is None:
|
|
438
|
-
raise s_exc.NoSuchUser(name=name)
|
|
439
|
-
|
|
440
|
-
# passwd None always fails...
|
|
441
|
-
passwd = info.get('passwd')
|
|
442
|
-
if not await user.tryPasswd(passwd):
|
|
443
|
-
raise s_exc.AuthDeny(mesg='Invalid password', user=user.iden, username=user.name)
|
|
444
|
-
|
|
445
|
-
return await HiveApi.anit(self, user)
|
|
446
|
-
|
|
447
406
|
async def _storLoadHive(self):
|
|
448
407
|
pass
|
|
449
408
|
|
|
@@ -480,224 +439,6 @@ class SlabHive(Hive):
|
|
|
480
439
|
lkey = '\x00'.join(full).encode('utf8')
|
|
481
440
|
self.slab.pop(lkey, db=self.db)
|
|
482
441
|
|
|
483
|
-
class HiveApi(s_base.Base):
|
|
484
|
-
|
|
485
|
-
async def __anit__(self, hive, user):
|
|
486
|
-
|
|
487
|
-
await s_base.Base.__anit__(self)
|
|
488
|
-
|
|
489
|
-
self.hive = hive
|
|
490
|
-
self.user = user
|
|
491
|
-
|
|
492
|
-
self.msgq = asyncio.Queue(maxsize=10000)
|
|
493
|
-
|
|
494
|
-
self.onfini(self._onHapiFini)
|
|
495
|
-
|
|
496
|
-
async def loadHiveTree(self, tree, path=(), trim=False):
|
|
497
|
-
s_common.deprecated('HiveApi.loadHiveTree', curv='2.167.0')
|
|
498
|
-
return await self.hive.loadHiveTree(tree, path=path, trim=trim)
|
|
499
|
-
|
|
500
|
-
async def saveHiveTree(self, path=()):
|
|
501
|
-
s_common.deprecated('HiveApi.saveHiveTree', curv='2.167.0')
|
|
502
|
-
return await self.hive.saveHiveTree(path=path)
|
|
503
|
-
|
|
504
|
-
async def treeAndSync(self, path, iden):
|
|
505
|
-
s_common.deprecated('HiveApi.treeAndSync', curv='2.167.0')
|
|
506
|
-
|
|
507
|
-
node = await self.hive.open(path)
|
|
508
|
-
|
|
509
|
-
# register handlers...
|
|
510
|
-
node.on('hive:add', self._onHiveEdit, base=self)
|
|
511
|
-
node.on('hive:set', self._onHiveEdit, base=self)
|
|
512
|
-
node.on('hive:pop', self._onHiveEdit, base=self)
|
|
513
|
-
|
|
514
|
-
# serialize the subtree into a message and return
|
|
515
|
-
# via the mesg queue so there is no get/update race
|
|
516
|
-
root = (node.valu, {})
|
|
517
|
-
|
|
518
|
-
todo = collections.deque([(node, root)])
|
|
519
|
-
|
|
520
|
-
# breadth first generator
|
|
521
|
-
while todo:
|
|
522
|
-
|
|
523
|
-
node, pode = todo.popleft()
|
|
524
|
-
|
|
525
|
-
for name, kidn in node.kids.items():
|
|
526
|
-
|
|
527
|
-
kidp = (kidn.valu, {})
|
|
528
|
-
pode[1][name] = kidp
|
|
529
|
-
|
|
530
|
-
todo.append((kidn, kidp))
|
|
531
|
-
|
|
532
|
-
await self.msgq.put(('hive:tree', {'path': path, 'tree': root}))
|
|
533
|
-
await self.msgq.put(('hive:sync', {'iden': iden}))
|
|
534
|
-
return
|
|
535
|
-
|
|
536
|
-
async def setAndSync(self, path, valu, iden, nexs=False):
|
|
537
|
-
s_common.deprecated('HiveApi.setAndSync', curv='2.167.0')
|
|
538
|
-
|
|
539
|
-
valu = await self.hive.set(path, valu, nexs=nexs)
|
|
540
|
-
await self.msgq.put(('hive:sync', {'iden': iden}))
|
|
541
|
-
return valu
|
|
542
|
-
|
|
543
|
-
async def addAndSync(self, path, valu, iden):
|
|
544
|
-
s_common.deprecated('HiveApi.addAndSync', curv='2.167.0')
|
|
545
|
-
|
|
546
|
-
valu = await self.hive.add(path, valu)
|
|
547
|
-
await self.msgq.put(('hive:sync', {'iden': iden}))
|
|
548
|
-
return valu
|
|
549
|
-
|
|
550
|
-
async def popAndSync(self, path, iden, nexs=False):
|
|
551
|
-
s_common.deprecated('HiveApi.popAndSync', curv='2.167.0')
|
|
552
|
-
|
|
553
|
-
valu = await self.hive.pop(path, nexs=nexs)
|
|
554
|
-
await self.msgq.put(('hive:sync', {'iden': iden}))
|
|
555
|
-
return valu
|
|
556
|
-
|
|
557
|
-
async def _onHapiFini(self):
|
|
558
|
-
await self.msgq.put(None)
|
|
559
|
-
|
|
560
|
-
async def _onHiveEdit(self, mesg):
|
|
561
|
-
self.msgq.put_nowait(mesg)
|
|
562
|
-
|
|
563
|
-
async def get(self, full):
|
|
564
|
-
s_common.deprecated('HiveApi.get', curv='2.167.0')
|
|
565
|
-
return await self.hive.get(full)
|
|
566
|
-
|
|
567
|
-
async def edits(self):
|
|
568
|
-
s_common.deprecated('HiveApi.edits', curv='2.167.0')
|
|
569
|
-
|
|
570
|
-
while not self.isfini:
|
|
571
|
-
|
|
572
|
-
item = await self.msgq.get()
|
|
573
|
-
if item is None:
|
|
574
|
-
return
|
|
575
|
-
|
|
576
|
-
yield item
|
|
577
|
-
|
|
578
|
-
class TeleHive(Hive):
|
|
579
|
-
'''
|
|
580
|
-
A Hive that acts as a consistent read cache for a telepath proxy Hive
|
|
581
|
-
'''
|
|
582
|
-
|
|
583
|
-
async def __anit__(self, proxy):
|
|
584
|
-
|
|
585
|
-
self.proxy = proxy
|
|
586
|
-
|
|
587
|
-
await Hive.__anit__(self)
|
|
588
|
-
|
|
589
|
-
self.lock = asyncio.Lock()
|
|
590
|
-
|
|
591
|
-
self.syncevents = {} # iden: asyncio.Event()
|
|
592
|
-
|
|
593
|
-
# fire a task to sync the sections of the tree we open
|
|
594
|
-
self.schedCoro(self._runHiveLoop())
|
|
595
|
-
|
|
596
|
-
self.mesgbus = await s_base.Base.anit()
|
|
597
|
-
self.mesgbus.on('hive:set', self._onHiveSet)
|
|
598
|
-
self.mesgbus.on('hive:pop', self._onHivePop)
|
|
599
|
-
self.mesgbus.on('hive:tree', self._onHiveTree)
|
|
600
|
-
self.mesgbus.on('hive:sync', self._onHiveSync)
|
|
601
|
-
|
|
602
|
-
self.onfini(self.mesgbus.fini)
|
|
603
|
-
|
|
604
|
-
self.onfini(proxy.fini)
|
|
605
|
-
|
|
606
|
-
async def _onHiveSync(self, mesg):
|
|
607
|
-
|
|
608
|
-
iden = mesg[1].get('iden')
|
|
609
|
-
evnt = self.syncevents.pop(iden, None)
|
|
610
|
-
if evnt is None:
|
|
611
|
-
return
|
|
612
|
-
|
|
613
|
-
evnt.set()
|
|
614
|
-
|
|
615
|
-
def _getSyncIden(self):
|
|
616
|
-
iden = s_common.guid()
|
|
617
|
-
evnt = asyncio.Event()
|
|
618
|
-
self.syncevents[iden] = evnt
|
|
619
|
-
return iden, evnt
|
|
620
|
-
|
|
621
|
-
async def _runHiveLoop(self):
|
|
622
|
-
while not self.isfini:
|
|
623
|
-
async for mesg in self.proxy.edits():
|
|
624
|
-
await self.mesgbus.dist(mesg)
|
|
625
|
-
|
|
626
|
-
async def _onHiveSet(self, mesg):
|
|
627
|
-
path = mesg[1].get('path')
|
|
628
|
-
valu = mesg[1].get('valu')
|
|
629
|
-
await Hive.set(self, path, valu)
|
|
630
|
-
|
|
631
|
-
async def _onHivePop(self, mesg):
|
|
632
|
-
path = mesg[1].get('path')
|
|
633
|
-
await Hive.pop(self, path)
|
|
634
|
-
|
|
635
|
-
async def _onHiveTree(self, mesg):
|
|
636
|
-
|
|
637
|
-
# get an entire tree update at once
|
|
638
|
-
path = mesg[1].get('path')
|
|
639
|
-
tree = mesg[1].get('tree')
|
|
640
|
-
|
|
641
|
-
node = await Hive.open(self, path)
|
|
642
|
-
|
|
643
|
-
todo = collections.deque([(node, path, tree)])
|
|
644
|
-
|
|
645
|
-
while todo:
|
|
646
|
-
|
|
647
|
-
node, path, (valu, kids) = todo.popleft()
|
|
648
|
-
|
|
649
|
-
# do *not* go through the set() API
|
|
650
|
-
node.valu = valu
|
|
651
|
-
for name, kidt in kids.items():
|
|
652
|
-
|
|
653
|
-
kidp = path + (name,)
|
|
654
|
-
kidn = await Hive.open(self, kidp)
|
|
655
|
-
|
|
656
|
-
todo.append((kidn, kidp, kidt))
|
|
657
|
-
|
|
658
|
-
async def set(self, path, valu, nexs=False):
|
|
659
|
-
iden, evnt = self._getSyncIden()
|
|
660
|
-
valu = await self.proxy.setAndSync(path, valu, iden, nexs=nexs)
|
|
661
|
-
await evnt.wait()
|
|
662
|
-
return valu
|
|
663
|
-
|
|
664
|
-
async def add(self, path, valu):
|
|
665
|
-
iden, evnt = self._getSyncIden()
|
|
666
|
-
valu = await self.proxy.addAndSync(path, valu, iden)
|
|
667
|
-
await evnt.wait()
|
|
668
|
-
return valu
|
|
669
|
-
|
|
670
|
-
async def pop(self, path, nexs=False):
|
|
671
|
-
iden, evnt = self._getSyncIden()
|
|
672
|
-
valu = await self.proxy.popAndSync(path, iden, nexs=nexs)
|
|
673
|
-
await evnt.wait()
|
|
674
|
-
return valu
|
|
675
|
-
|
|
676
|
-
async def get(self, path):
|
|
677
|
-
return await self.proxy.get(path)
|
|
678
|
-
|
|
679
|
-
async def open(self, path):
|
|
680
|
-
|
|
681
|
-
# try once pre-lock for speed
|
|
682
|
-
node = self.nodes.get(path)
|
|
683
|
-
if node is not None:
|
|
684
|
-
return node
|
|
685
|
-
|
|
686
|
-
async with self.lock:
|
|
687
|
-
|
|
688
|
-
# try again with lock to avoid race
|
|
689
|
-
node = self.nodes.get(path)
|
|
690
|
-
if node is not None:
|
|
691
|
-
return node
|
|
692
|
-
|
|
693
|
-
iden, evnt = self._getSyncIden()
|
|
694
|
-
|
|
695
|
-
await self.proxy.treeAndSync(path, iden)
|
|
696
|
-
|
|
697
|
-
await evnt.wait()
|
|
698
|
-
|
|
699
|
-
return self.nodes.get(path)
|
|
700
|
-
|
|
701
442
|
class HiveDict(s_base.Base):
|
|
702
443
|
'''
|
|
703
444
|
'''
|
|
@@ -758,11 +499,6 @@ def iterpath(path):
|
|
|
758
499
|
for i in range(len(path)):
|
|
759
500
|
yield path[:i + 1]
|
|
760
501
|
|
|
761
|
-
async def openurl(url, **opts):
|
|
762
|
-
s_common.deprecated('synapse.lib.hive.openurl()', curv='2.198.0', eolv='2.199.0')
|
|
763
|
-
prox = await s_telepath.openurl(url, **opts)
|
|
764
|
-
return await TeleHive.anit(prox)
|
|
765
|
-
|
|
766
502
|
async def opendir(dirn, conf=None):
|
|
767
503
|
slab = await s_slab.Slab.anit(dirn, map_size=s_const.gibibyte)
|
|
768
504
|
db = slab.initdb('hive')
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
import sys
|
|
4
3
|
import types
|
|
5
4
|
import asyncio
|
|
6
5
|
import logging
|
|
@@ -12,14 +11,12 @@ import synapse.exc as s_exc
|
|
|
12
11
|
import synapse.common as s_common
|
|
13
12
|
|
|
14
13
|
import synapse.lib.base as s_base
|
|
15
|
-
import synapse.lib.coro as s_coro
|
|
16
14
|
import synapse.lib.node as s_node
|
|
17
15
|
import synapse.lib.time as s_time
|
|
18
16
|
import synapse.lib.cache as s_cache
|
|
19
17
|
import synapse.lib.layer as s_layer
|
|
20
18
|
import synapse.lib.storm as s_storm
|
|
21
19
|
import synapse.lib.types as s_types
|
|
22
|
-
import synapse.lib.spooled as s_spooled
|
|
23
20
|
|
|
24
21
|
logger = logging.getLogger(__name__)
|
|
25
22
|
|
|
@@ -138,16 +135,30 @@ class ProtoNode:
|
|
|
138
135
|
|
|
139
136
|
if not await self.ctx.snap.hasNodeEdge(self.buid, verb, s_common.uhex(n2iden)):
|
|
140
137
|
self.edges.add(tupl)
|
|
141
|
-
|
|
142
138
|
if len(self.edges) >= 1000:
|
|
143
|
-
|
|
144
|
-
await self.ctx.snap.applyNodeEdits(nodeedits)
|
|
145
|
-
self.edges.clear()
|
|
146
|
-
|
|
139
|
+
await self.flushEdits()
|
|
147
140
|
return True
|
|
148
141
|
|
|
149
142
|
return False
|
|
150
143
|
|
|
144
|
+
async def flushEdits(self):
|
|
145
|
+
if (nodeedit := self.getNodeEdit()) is not None:
|
|
146
|
+
nodecache = {self.buid: self.node}
|
|
147
|
+
nodes = await self.ctx.snap.applyNodeEdits((nodeedit,), nodecache=nodecache, meta=self.ctx.meta)
|
|
148
|
+
|
|
149
|
+
if self.node is None:
|
|
150
|
+
if nodes and nodes[0].buid == self.buid:
|
|
151
|
+
self.node = nodes[0]
|
|
152
|
+
else: # pragma: no cover
|
|
153
|
+
self.node = await self.ctx.snap.getNodeByBuid(self.buid)
|
|
154
|
+
|
|
155
|
+
self.tags.clear()
|
|
156
|
+
self.props.clear()
|
|
157
|
+
self.tagprops.clear()
|
|
158
|
+
self.edges.clear()
|
|
159
|
+
self.edgedels.clear()
|
|
160
|
+
self.nodedata.clear()
|
|
161
|
+
|
|
151
162
|
async def delEdge(self, verb, n2iden):
|
|
152
163
|
|
|
153
164
|
if not isinstance(verb, str):
|
|
@@ -175,12 +186,8 @@ class ProtoNode:
|
|
|
175
186
|
|
|
176
187
|
if await self.ctx.snap.layers[-1].hasNodeEdge(self.buid, verb, s_common.uhex(n2iden)):
|
|
177
188
|
self.edgedels.add(tupl)
|
|
178
|
-
|
|
179
189
|
if len(self.edgedels) >= 1000:
|
|
180
|
-
|
|
181
|
-
await self.ctx.snap.applyNodeEdits(nodeedits)
|
|
182
|
-
self.edgedels.clear()
|
|
183
|
-
|
|
190
|
+
await self.flushEdits()
|
|
184
191
|
return True
|
|
185
192
|
|
|
186
193
|
return False
|
|
@@ -429,6 +436,9 @@ class ProtoNode:
|
|
|
429
436
|
full = f'{prop.name}:{subname}'
|
|
430
437
|
subprop = self.form.props.get(full)
|
|
431
438
|
if subprop is not None and not subprop.locked:
|
|
439
|
+
if subprop.deprecated:
|
|
440
|
+
self.ctx.snap._skipPropDeprWarn(subprop.full)
|
|
441
|
+
|
|
432
442
|
await self.set(full, subvalu)
|
|
433
443
|
|
|
434
444
|
propadds = norminfo.get('adds')
|
|
@@ -438,11 +448,14 @@ class ProtoNode:
|
|
|
438
448
|
|
|
439
449
|
return True
|
|
440
450
|
|
|
441
|
-
async def
|
|
451
|
+
async def getSetSubOps(self, name, valu, norminfo=None):
|
|
442
452
|
prop = self.form.props.get(name)
|
|
443
|
-
if prop is None:
|
|
453
|
+
if prop is None or prop.locked:
|
|
444
454
|
return ()
|
|
445
455
|
|
|
456
|
+
if prop.deprecated:
|
|
457
|
+
self.ctx.snap._skipPropDeprWarn(prop.full)
|
|
458
|
+
|
|
446
459
|
retn = await self._set(prop, valu, norminfo=norminfo)
|
|
447
460
|
if retn is False:
|
|
448
461
|
return ()
|
|
@@ -459,9 +472,7 @@ class ProtoNode:
|
|
|
459
472
|
if propsubs is not None:
|
|
460
473
|
for subname, subvalu in propsubs.items():
|
|
461
474
|
full = f'{prop.name}:{subname}'
|
|
462
|
-
|
|
463
|
-
if subprop is not None and not subprop.locked:
|
|
464
|
-
ops.append(self.getSetOps(full, subvalu))
|
|
475
|
+
ops.append(self.getSetSubOps(full, subvalu))
|
|
465
476
|
|
|
466
477
|
propadds = norminfo.get('adds')
|
|
467
478
|
if propadds is not None:
|
|
@@ -474,7 +485,8 @@ class SnapEditor:
|
|
|
474
485
|
'''
|
|
475
486
|
A SnapEditor allows tracking node edits with subs/deps as a transaction.
|
|
476
487
|
'''
|
|
477
|
-
def __init__(self, snap):
|
|
488
|
+
def __init__(self, snap, meta=None):
|
|
489
|
+
self.meta = meta
|
|
478
490
|
self.snap = snap
|
|
479
491
|
self.protonodes = {}
|
|
480
492
|
self.maxnodes = snap.core.maxnodes
|
|
@@ -492,6 +504,19 @@ class SnapEditor:
|
|
|
492
504
|
nodeedits.append(nodeedit)
|
|
493
505
|
return nodeedits
|
|
494
506
|
|
|
507
|
+
async def flushEdits(self):
|
|
508
|
+
nodecache = {}
|
|
509
|
+
nodeedits = []
|
|
510
|
+
for protonode in self.protonodes.values():
|
|
511
|
+
if (nodeedit := protonode.getNodeEdit()) is not None:
|
|
512
|
+
nodeedits.append(nodeedit)
|
|
513
|
+
nodecache[protonode.buid] = protonode.node
|
|
514
|
+
|
|
515
|
+
if nodeedits:
|
|
516
|
+
await self.snap.applyNodeEdits(nodeedits, nodecache=nodecache, meta=self.meta)
|
|
517
|
+
|
|
518
|
+
self.protonodes.clear()
|
|
519
|
+
|
|
495
520
|
async def _addNode(self, form, valu, props=None, norminfo=None):
|
|
496
521
|
|
|
497
522
|
self.snap.core._checkMaxNodes()
|
|
@@ -568,7 +593,7 @@ class SnapEditor:
|
|
|
568
593
|
subs = norminfo.get('subs')
|
|
569
594
|
if subs is not None:
|
|
570
595
|
for prop, valu in subs.items():
|
|
571
|
-
ops.append(protonode.
|
|
596
|
+
ops.append(protonode.getSetSubOps(prop, valu))
|
|
572
597
|
|
|
573
598
|
adds = norminfo.get('adds')
|
|
574
599
|
if adds is not None:
|
|
@@ -604,7 +629,7 @@ class SnapEditor:
|
|
|
604
629
|
subs = norminfo.get('subs')
|
|
605
630
|
if subs is not None:
|
|
606
631
|
for prop, valu in subs.items():
|
|
607
|
-
ops.append(protonode.
|
|
632
|
+
ops.append(protonode.getSetSubOps(prop, valu))
|
|
608
633
|
|
|
609
634
|
while ops:
|
|
610
635
|
oset = ops.popleft()
|
|
@@ -861,6 +886,10 @@ class Snap(s_base.Base):
|
|
|
861
886
|
self._warnonce_keys.add(mesg)
|
|
862
887
|
await self.warn(mesg, log, **info)
|
|
863
888
|
|
|
889
|
+
def _skipPropDeprWarn(self, name):
|
|
890
|
+
mesg = f'The property {name} is deprecated or using a deprecated type and will be removed in 3.0.0'
|
|
891
|
+
self._warnonce_keys.add(mesg)
|
|
892
|
+
|
|
864
893
|
async def getNodeByBuid(self, buid):
|
|
865
894
|
'''
|
|
866
895
|
Retrieve a node tuple by binary id.
|
|
@@ -1218,11 +1247,13 @@ class Snap(s_base.Base):
|
|
|
1218
1247
|
if nodes:
|
|
1219
1248
|
return nodes[0]
|
|
1220
1249
|
|
|
1221
|
-
async def applyNodeEdits(self, edits, nodecache=None):
|
|
1250
|
+
async def applyNodeEdits(self, edits, nodecache=None, meta=None):
|
|
1222
1251
|
'''
|
|
1223
1252
|
Sends edits to the write layer and evaluates the consequences (triggers, node object updates)
|
|
1224
1253
|
'''
|
|
1225
|
-
meta
|
|
1254
|
+
if meta is None:
|
|
1255
|
+
meta = await self.getSnapMeta()
|
|
1256
|
+
|
|
1226
1257
|
saveoff, changes, nodes = await self._applyNodeEdits(edits, meta, nodecache=nodecache)
|
|
1227
1258
|
return nodes
|
|
1228
1259
|
|
|
@@ -1572,7 +1603,8 @@ class Snap(s_base.Base):
|
|
|
1572
1603
|
proptype = prop.type
|
|
1573
1604
|
for prop in prop.getAlts():
|
|
1574
1605
|
if prop.type.isarray and prop.type.arraytype == proptype:
|
|
1575
|
-
|
|
1606
|
+
arryvalu = node.get(prop.name)
|
|
1607
|
+
if arryvalu is not None and valu in arryvalu:
|
|
1576
1608
|
return True
|
|
1577
1609
|
else:
|
|
1578
1610
|
if node.get(prop.name) == valu:
|
|
@@ -1660,10 +1692,6 @@ class Snap(s_base.Base):
|
|
|
1660
1692
|
return tagnode
|
|
1661
1693
|
|
|
1662
1694
|
async def _raiseOnStrict(self, ctor, mesg, **info):
|
|
1663
|
-
if __debug__:
|
|
1664
|
-
if issubclass(ctor, s_exc.IsDeprLocked):
|
|
1665
|
-
sys.audit('synapse.exc.IsDeprLocked', (mesg, info))
|
|
1666
|
-
|
|
1667
1695
|
if self.strict:
|
|
1668
1696
|
raise ctor(mesg=mesg, **info)
|
|
1669
1697
|
await self.warn(mesg)
|