synapse 2.210.0__tar.gz → 2.212.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.210.0/synapse.egg-info → synapse-2.212.0}/PKG-INFO +1 -1
- {synapse-2.210.0 → synapse-2.212.0}/pyproject.toml +1 -1
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/base.py +2 -3
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/node.py +8 -3
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/schemas.py +10 -1
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/share.py +0 -3
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/snap.py +11 -2
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/json.py +1 -1
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormtypes.py +2 -2
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/version.py +2 -2
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/inet.py +110 -3
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/orgs.py +0 -1
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_base.py +5 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_config.py +8 -2
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_layer.py +2 -2
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_storm.py +31 -2
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormhttp.py +6 -6
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_json.py +4 -1
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormtypes.py +16 -18
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_view.py +14 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_inet.py +57 -4
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_orgs.py +18 -2
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_genpkg.py +9 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/utils.py +4 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/autodoc.py +8 -2
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/genpkg.py +9 -2
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/rstorm.py +8 -2
- {synapse-2.210.0 → synapse-2.212.0/synapse.egg-info}/PKG-INFO +1 -1
- {synapse-2.210.0 → synapse-2.212.0}/LICENSE +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/README.rst +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/setup.cfg +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/axon.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/cells.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/cmds/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/cmds/boss.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/cmds/cortex.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/cmds/hive.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/common.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/cortex.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/cryotank.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/daemon.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/attack-flow/LICENSE.txt +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/attack-flow/README.md +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/attack-flow/attack-flow-schema-2.0.0.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/certs/cas/The Vertex Project Intermediate CA 00.crt +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/certs/cas/The Vertex Project ROOT CA.crt +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/certs/crls/The Vertex Project Intermediate CA 00.crl +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/certs/crls/The Vertex Project ROOT CA.crl +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/iana.tlds.mpk +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/iana.uris.mpk +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/README.md +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/LICENSE.txt +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/binary.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/bundle.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/core.json +0 -0
- {synapse-2.210.0 → synapse-2.212.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.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/dictionary.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension-definition.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/external-reference.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/granular-marking.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hashes-type.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hex.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/identifier.json +0 -0
- {synapse-2.210.0 → synapse-2.212.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.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/language-content.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/marking-definition.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/properties.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/timestamp.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/url-regex.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/artifact.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/autonomous-system.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/directory.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/domain-name.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-addr.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-message.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/file.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv4-addr.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv6-addr.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mac-addr.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mutex.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/network-traffic.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/process.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/software.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/url.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/user-account.json +0 -0
- {synapse-2.210.0 → synapse-2.212.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.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/x509-certificate.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/attack-pattern.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/campaign.json +0 -0
- {synapse-2.210.0 → synapse-2.212.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.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/grouping.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/identity.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/incident.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/indicator.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/infrastructure.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/intrusion-set.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/location.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware-analysis.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/note.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/observed-data.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/opinion.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/report.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/threat-actor.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/tool.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/vulnerability.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/relationship.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/sighting.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/datamodel.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/exc.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/glob.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/agenda.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/aha.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/ast.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/auth.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/autodoc.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/boss.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/cache.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/cell.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/certdir.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/chop.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/cli.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/cmd.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/cmdr.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/config.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/const.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/coro.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/crypto/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/crypto/coin.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/crypto/ecc.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/crypto/passwd.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/crypto/rsa.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/crypto/tinfoil.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/datfile.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/drive.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/dyndeps.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/encoding.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/gis.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/grammar.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/hashitem.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/hashset.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/health.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/hive.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/httpapi.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/ingest.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/interval.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/json.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/jsonstor.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/layer.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/link.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/lmdbslab.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/modelrev.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/module.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/modules.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/msgpack.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/multislabseqn.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/nexus.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/oauth.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/output.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/parser.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/platforms/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/platforms/common.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/platforms/darwin.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/platforms/freebsd.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/platforms/linux.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/platforms/windows.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/queue.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/ratelimit.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/reflect.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/rstorm.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/scope.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/scrape.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/slaboffs.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/slabseqn.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/spooled.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/storm.lark +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/storm.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/storm_format.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormctrl.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormhttp.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/aha.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/auth.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/backup.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/basex.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/cache.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/cell.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/compression.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/cortex.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/easyperm.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/env.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/ethereum.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/gen.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/gis.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/graph.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/hashes.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/hex.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/imap.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/index.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/infosec.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/ipv6.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/iters.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/log.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/macro.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/math.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/mime.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/model.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/modelext.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/notifications.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/oauth.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/pack.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/project.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/random.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/scrape.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/smtp.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/spooled.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/stats.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/stix.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/storm.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/tabular.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/utils.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/vault.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/version.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/xml.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormlib/yaml.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormsvc.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/stormwhois.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/structlog.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/task.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/thishost.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/thisplat.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/threads.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/time.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/trigger.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/types.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/urlhelp.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lib/view.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lookup/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lookup/cvss.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lookup/iana.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lookup/iso3166.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lookup/macho.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lookup/pe.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lookup/phonenum.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/lookup/timezones.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/mindmeld.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/auth.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/base.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/belief.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/biz.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/crypto.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/dns.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/doc.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/economic.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/entity.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/files.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/geopol.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/geospace.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/gov/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/gov/cn.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/gov/intl.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/gov/us.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/infotech.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/language.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/material.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/math.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/media.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/person.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/planning.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/proj.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/risk.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/science.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/syn.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/telco.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/models/transport.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/servers/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/servers/aha.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/servers/axon.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/servers/cell.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/servers/cortex.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/servers/cryotank.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/servers/jsonstor.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/servers/stemcell.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/telepath.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/TestUtilsGetrefs.test_basics.yaml +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/aha/certs/cas/synapse.crt +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/aha/certs/cas/synapse.key +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.crt +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.key +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/aha/certs/users/root@synapse.crt +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/aha/certs/users/root@synapse.key +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/attack_flow/CISA AA22-138B VMWare Workspace (Alt).json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/attack_flow/CISA_Iranian_APT.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/certdir/cas/ca.crt +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/certdir/cas/ca.key +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/certdir/hosts/localhost.crt +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/certdir/hosts/localhost.key +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/certdir/users/root.crt +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/certdir/users/root.key +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/certdir/users/user.crt +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/certdir/users/user.key +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/changelog/model_2.176.0_16ee721a6b7221344eaf946c3ab4602dda546b1a.yaml.gz +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/changelog/model_2.176.0_2a25c58bbd344716cd7cbc3f4304d8925b0f4ef2.yaml.gz +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/cpedata.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/rstorm/httpresp1.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/rstorm/httpresp2.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/rstorm/httpresp3.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/rstorm/httprespmulti.yaml +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/rstorm/testsvc.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stix_export/basic.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stix_export/custom0.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stix_export/risk0.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stix_import/apt1.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stix_import/oasis-example-00.json +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormcov/argvquery.storm +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormcov/dupesubs.storm +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormcov/lookup.storm +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormcov/pivot.storm +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormcov/pragma-nocov.storm +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormcov/spin.storm +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormcov/stormctrl.storm +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormmod/common +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/badapidef.yaml +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/badcmdname.yaml +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/badendpoints.yaml +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/badjsonpkg.yaml +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/docs/foobar.md +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/docs/foobar.svg +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/dotstorm/dotstorm.yaml +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/dotstorm/storm/commands/dotstorm.bar.storm +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/dotstorm/storm/modules/dotstorm.foo.storm +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/nocontent.yaml +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/nomime.yaml +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/nopath.yaml +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/nosuchfile.yaml +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/notitle.yaml +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/optic/index.html +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/storm/commands/invalidCMD +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/storm/commands/testpkg.baz +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/storm/commands/testpkgcmd +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/storm/modules/apimod +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/storm/modules/testmod +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/testpkg.yaml +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/workflows/testpkg-bam.newp +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/workflows/testpkg-baz.yaml +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/stormpkg/workflows/testpkg-foo.yaml +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/test.dat +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/files/testcore/cell.yaml +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/nopmod.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_axon.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_cmds_boss.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_cmds_cortex.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_cmds_hive.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_common.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_cortex.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_cryotank.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_daemon.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_data.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_datamodel.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_exc.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_glob.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_init.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_agenda.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_aha.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_ast.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_auth.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_autodoc.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_boss.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_cache.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_cell.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_certdir.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_chop.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_cli.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_const.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_coro.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_crypto_coin.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_crypto_ecc.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_crypto_passwd.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_crypto_tinfoil.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_datfile.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_dyndeps.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_encoding.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_gis.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_grammar.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_hashitem.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_hashset.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_health.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_hive.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_httpapi.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_interval.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_json.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_jsonstor.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_link.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_lmdbslab.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_modelrev.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_module.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_msgpack.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_multislabseqn.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_nexus.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_node.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_output.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_platforms_linux.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_queue.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_ratelimit.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_reflect.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_rstorm.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_scope.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_scrape.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_slaboffs.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_slabseqn.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_snap.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_spooled.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_storm_format.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormctrl.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_aha.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_auth.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_backup.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_basex.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_cache.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_cell.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_compression.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_cortex.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_easyperm.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_env.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_ethereum.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_gen.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_gis.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_hashes.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_hex.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_imap.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_index.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_infosec.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_ipv6.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_iters.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_log.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_macro.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_mime.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_model.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_modelext.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_oauth.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_pack.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_random.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_scrape.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_smtp.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_spooled.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_stats.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_stix.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_storm.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_tabular.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_utils.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_vault.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_xml.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormlib_yaml.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormsvc.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_stormwhois.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_structlog.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_task.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_thishost.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_time.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_trigger.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_types.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_urlhelp.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lib_version.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lookup_iso3166.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_lookup_phonenum.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_mindmeld.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_auth.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_base.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_belief.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_biz.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_crypto.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_dns.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_doc.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_economic.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_entity.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_files.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_geopol.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_geospace.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_gov_cn.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_gov_intl.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_gov_us.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_infotech.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_language.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_material.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_math.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_media.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_person.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_planning.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_proj.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_risk.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_science.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_syn.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_telco.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_model_transport.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_servers_axon.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_servers_cortex.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_servers_cryotank.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_servers_stemcell.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_servers_univ.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_telepath.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_aha.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_apikey.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_autodoc.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_axon2axon.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_backup.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_cellauth.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_changelog.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_cryo_cat.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_cryo_list.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_csvtool.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_docker_validate.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_easycert.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_feed.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_guid.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_healthcheck.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_hiveload.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_hivesave.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_json2mpk.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_livebackup.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_modrole.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_moduser.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_promote.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_pullfile.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_pushfile.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_reload.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_rstorm.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_snapshot.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_tools_storm.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_utils.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_utils_getrefs.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tests/test_utils_stormcov.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/aha/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/aha/clone.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/aha/easycert.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/aha/enroll.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/aha/list.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/aha/mirror.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/aha/provision/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/aha/provision/service.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/aha/provision/user.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/apikey.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/axon2axon.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/backup.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/cellauth.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/changelog.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/cmdr.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/cryo/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/cryo/cat.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/cryo/list.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/csvtool.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/docker/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/docker/validate.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/easycert.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/feed.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/guid.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/healthcheck.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/hive/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/hive/load.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/hive/save.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/json2mpk.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/livebackup.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/modrole.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/moduser.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/promote.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/pullfile.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/pushfile.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/reload.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/snapshot.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/tools/storm.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/utils/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/utils/getrefs.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/utils/stormcov/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/utils/stormcov/plugin.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cashaddress/LICENSE +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cashaddress/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cashaddress/base58.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cashaddress/convert.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cashaddress/crypto.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cashaddress/tests/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cashaddress/tests/test_cashaddress.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/LICENSE +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/email/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/email/_parseaddr.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/email/utils.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/http/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/http/cookies.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/ipaddress.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/json.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/test/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/test/support/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/test/test_email/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/test/test_email/test_email.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/test/test_email/test_utils.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/test/test_http_cookies.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/test/test_ipaddress.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/cpython/lib/test/test_json.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/substrateinterface/LICENSE +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/substrateinterface/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/substrateinterface/tests/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/substrateinterface/tests/test_ss58.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/substrateinterface/utils/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/substrateinterface/utils/ss58.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/utils.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/xrpl/LICENSE +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/xrpl/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/xrpl/constants.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/xrpl/core/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/xrpl/core/addresscodec/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/xrpl/core/addresscodec/codec.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/xrpl/core/addresscodec/exceptions.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/xrpl/core/addresscodec/main.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/xrpl/core/addresscodec/utils.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/xrpl/tests/__init__.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/xrpl/tests/test_codec.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/xrpl/tests/test_main.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse/vendor/xrpl/tests/test_main_test_cases.py +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse.egg-info/SOURCES.txt +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse.egg-info/dependency_links.txt +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse.egg-info/requires.txt +0 -0
- {synapse-2.210.0 → synapse-2.212.0}/synapse.egg-info/top_level.txt +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import gc
|
|
2
2
|
import os
|
|
3
|
+
import sys
|
|
3
4
|
import atexit
|
|
4
5
|
import signal
|
|
5
6
|
import asyncio
|
|
@@ -82,7 +83,7 @@ class Base:
|
|
|
82
83
|
'''
|
|
83
84
|
def __init__(self):
|
|
84
85
|
self.anitted = False
|
|
85
|
-
assert
|
|
86
|
+
assert sys._getframe(1).f_code.co_name == 'anit', 'Objects from Base must be constructed solely via "anit"'
|
|
86
87
|
|
|
87
88
|
@classmethod
|
|
88
89
|
async def anit(cls, *args, **kwargs):
|
|
@@ -129,7 +130,6 @@ class Base:
|
|
|
129
130
|
self.isfini = False
|
|
130
131
|
self.anitted = True # For assertion purposes
|
|
131
132
|
self.finievt = asyncio.Event()
|
|
132
|
-
self.entered = False
|
|
133
133
|
|
|
134
134
|
# hold a weak ref to other bases we should fini if they
|
|
135
135
|
# are still around when we go down...
|
|
@@ -205,7 +205,6 @@ class Base:
|
|
|
205
205
|
|
|
206
206
|
async def __aenter__(self):
|
|
207
207
|
assert asyncio.get_running_loop() == self.loop
|
|
208
|
-
self.entered = True
|
|
209
208
|
return self
|
|
210
209
|
|
|
211
210
|
async def __aexit__(self, exc, cls, tb):
|
|
@@ -181,7 +181,7 @@ class Node:
|
|
|
181
181
|
|
|
182
182
|
if prop.modl.form(prop.type.name) is not None:
|
|
183
183
|
buid = s_common.buid((prop.type.name, valu))
|
|
184
|
-
elif prop.type.name == 'ndef':
|
|
184
|
+
elif prop.type.name == 'ndef' or 'ndef' in prop.type.info.get('bases'):
|
|
185
185
|
buid = s_common.buid(valu)
|
|
186
186
|
else:
|
|
187
187
|
return None
|
|
@@ -207,8 +207,13 @@ class Node:
|
|
|
207
207
|
|
|
208
208
|
embdnode = retn.get(nodepath)
|
|
209
209
|
if embdnode is None:
|
|
210
|
-
|
|
211
|
-
|
|
210
|
+
iden = node.iden()
|
|
211
|
+
# TODO deprecate / remove use of * once we can minver optic
|
|
212
|
+
embdnode = retn[nodepath] = {
|
|
213
|
+
'*': iden,
|
|
214
|
+
'$iden': iden,
|
|
215
|
+
'$form': node.form.name,
|
|
216
|
+
}
|
|
212
217
|
|
|
213
218
|
for relp in relprops:
|
|
214
219
|
embdnode[relp] = node.props.get(relp)
|
|
@@ -668,9 +668,18 @@ _reqValidPkgdefSchema = {
|
|
|
668
668
|
'pattern': s_version.semverstr,
|
|
669
669
|
},
|
|
670
670
|
'build': {
|
|
671
|
-
'type' 'object'
|
|
671
|
+
'type': 'object',
|
|
672
672
|
'properties': {
|
|
673
673
|
'time': {'type': 'number'},
|
|
674
|
+
'synapse:version': {
|
|
675
|
+
'type': 'string',
|
|
676
|
+
'pattern': s_version.semverstr
|
|
677
|
+
},
|
|
678
|
+
'synapse:commit': {
|
|
679
|
+
'type': 'string',
|
|
680
|
+
# Note: This pattern allows empty string for dev environments
|
|
681
|
+
'pattern': '^[0-9a-fA-F]*$'
|
|
682
|
+
},
|
|
674
683
|
},
|
|
675
684
|
'required': ['time'],
|
|
676
685
|
},
|
|
@@ -303,6 +303,9 @@ class ProtoNode:
|
|
|
303
303
|
self.tags[tagnode.valu] = valu
|
|
304
304
|
return tagnode
|
|
305
305
|
|
|
306
|
+
elif valu == (None, None):
|
|
307
|
+
return tagnode
|
|
308
|
+
|
|
306
309
|
valu = s_time.ival(*valu, *curv)
|
|
307
310
|
self.tags[tagnode.valu] = valu
|
|
308
311
|
|
|
@@ -743,19 +746,25 @@ class Snap(s_base.Base):
|
|
|
743
746
|
|
|
744
747
|
async def _joinEmbedStor(self, storage, embeds):
|
|
745
748
|
for nodePath, relProps in embeds.items():
|
|
749
|
+
|
|
746
750
|
await asyncio.sleep(0)
|
|
747
|
-
|
|
751
|
+
|
|
752
|
+
iden = relProps.get('$iden')
|
|
748
753
|
if not iden:
|
|
749
754
|
continue
|
|
750
755
|
|
|
751
756
|
stor = await self.view.getStorNodes(s_common.uhex(iden))
|
|
752
757
|
for relProp in relProps.keys():
|
|
758
|
+
|
|
753
759
|
await asyncio.sleep(0)
|
|
754
|
-
|
|
760
|
+
|
|
761
|
+
if relProp[0] in ('*', '$'):
|
|
755
762
|
continue
|
|
756
763
|
|
|
757
764
|
for idx, layrstor in enumerate(stor):
|
|
765
|
+
|
|
758
766
|
await asyncio.sleep(0)
|
|
767
|
+
|
|
759
768
|
props = layrstor.get('props')
|
|
760
769
|
if not props:
|
|
761
770
|
continue
|
|
@@ -134,7 +134,7 @@ class JsonLib(s_stormtypes.Lib):
|
|
|
134
134
|
|
|
135
135
|
@s_stormtypes.stormfunc(readonly=True)
|
|
136
136
|
async def _jsonSchema(self, schema, use_default=True):
|
|
137
|
-
schema = await s_stormtypes.toprim(schema)
|
|
137
|
+
schema = await s_stormtypes.toprim(schema, use_list=True)
|
|
138
138
|
use_default = await s_stormtypes.tobool(use_default)
|
|
139
139
|
# We have to ensure that we have a valid schema for making the object.
|
|
140
140
|
try:
|
|
@@ -6210,9 +6210,9 @@ class NodeData(Prim):
|
|
|
6210
6210
|
{'name': 'valu', 'type': 'prim', 'desc': 'The data to store.', },
|
|
6211
6211
|
),
|
|
6212
6212
|
'returns': {'type': 'null', }}},
|
|
6213
|
-
{'name': 'list', 'desc': 'Get a list of the Node data
|
|
6213
|
+
{'name': 'list', 'desc': 'Get a list of the Node data on the Node as (name, value) tuples.',
|
|
6214
6214
|
'type': {'type': 'function', '_funcname': '_listNodeData',
|
|
6215
|
-
'returns': {'type': 'list', 'desc': 'List of
|
|
6215
|
+
'returns': {'type': 'list', 'desc': 'List of (name, value) tuples stored on the node.', }}},
|
|
6216
6216
|
{'name': 'load',
|
|
6217
6217
|
'desc': 'Load the Node data onto the Node so that the Node data is packed and returned by the runtime.',
|
|
6218
6218
|
'type': {'type': 'function', '_funcname': '_loadNodeData',
|
|
@@ -223,6 +223,6 @@ def reqVersion(valu, reqver,
|
|
|
223
223
|
##############################################################################
|
|
224
224
|
# The following are touched during the release process by bumpversion.
|
|
225
225
|
# Do not modify these directly.
|
|
226
|
-
version = (2,
|
|
226
|
+
version = (2, 212, 0)
|
|
227
227
|
verstring = '.'.join([str(x) for x in version])
|
|
228
|
-
commit = '
|
|
228
|
+
commit = '68ec8184b0e2469fd1ef30cbeb29f5989c60c768'
|
|
@@ -35,6 +35,10 @@ ipv4max = 2 ** 32 - 1
|
|
|
35
35
|
|
|
36
36
|
rfc6598 = ipaddress.IPv4Network('100.64.0.0/10')
|
|
37
37
|
|
|
38
|
+
# defined from https://x.com/4A4133/status/1887269972545839559
|
|
39
|
+
ja4_regex = r'^([tqd])([sd\d]\d)([di])(\d{2})(\d{2})([a-zA-Z0-9]{2})_([0-9a-f]{12})_([0-9a-f]{12})$'
|
|
40
|
+
ja4s_regex = r'^([tq])([sd\d]\d)(\d{2})([a-zA-Z0-9]{2})_([0-9a-f]{4})_([0-9a-f]{12})$'
|
|
41
|
+
|
|
38
42
|
def getAddrType(ip):
|
|
39
43
|
|
|
40
44
|
if ip.is_multicast:
|
|
@@ -1535,6 +1539,11 @@ class InetModule(s_module.CoreModule):
|
|
|
1535
1539
|
('inet:service:platform', ('guid', {}), {
|
|
1536
1540
|
'doc': 'A network platform which provides services.'}),
|
|
1537
1541
|
|
|
1542
|
+
('inet:service:app', ('guid', {}), {
|
|
1543
|
+
'interfaces': ('inet:service:object',),
|
|
1544
|
+
'template': {'service:base': 'application'},
|
|
1545
|
+
'doc': 'A platform specific application.'}),
|
|
1546
|
+
|
|
1538
1547
|
('inet:service:instance', ('guid', {}), {
|
|
1539
1548
|
'doc': 'An instance of the platform such as Slack or Discord instances.'}),
|
|
1540
1549
|
|
|
@@ -1626,6 +1635,10 @@ class InetModule(s_module.CoreModule):
|
|
|
1626
1635
|
'template': {'service:base': 'emote'},
|
|
1627
1636
|
'doc': 'An emote or reaction by an account.'}),
|
|
1628
1637
|
|
|
1638
|
+
('inet:service:access:action:taxonomy', ('taxonomy', {}), {
|
|
1639
|
+
'interfaces': ('meta:taxonomy',),
|
|
1640
|
+
'doc': 'A hierarchical taxonomy of service actions.'}),
|
|
1641
|
+
|
|
1629
1642
|
('inet:service:access', ('guid', {}), {
|
|
1630
1643
|
'interfaces': ('inet:service:action',),
|
|
1631
1644
|
'doc': 'Represents a user access request to a service resource.'}),
|
|
@@ -1669,6 +1682,18 @@ class InetModule(s_module.CoreModule):
|
|
|
1669
1682
|
('inet:tls:handshake', ('guid', {}), {
|
|
1670
1683
|
'doc': 'An instance of a TLS handshake between a server and client.'}),
|
|
1671
1684
|
|
|
1685
|
+
('inet:tls:ja4', ('str', {'strip': True, 'regex': ja4_regex}), {
|
|
1686
|
+
'doc': 'A JA4 TLS client fingerprint.'}),
|
|
1687
|
+
|
|
1688
|
+
('inet:tls:ja4s', ('str', {'strip': True, 'regex': ja4s_regex}), {
|
|
1689
|
+
'doc': 'A JA4S TLS server fingerprint.'}),
|
|
1690
|
+
|
|
1691
|
+
('inet:tls:ja4:sample', ('comp', {'fields': (('client', 'inet:client'), ('ja4', 'inet:tls:ja4'))}), {
|
|
1692
|
+
'doc': 'A JA4 TLS client fingerprint used by a client.'}),
|
|
1693
|
+
|
|
1694
|
+
('inet:tls:ja4s:sample', ('comp', {'fields': (('server', 'inet:server'), ('ja4s', 'inet:tls:ja4s'))}), {
|
|
1695
|
+
'doc': 'A JA4S TLS server fingerprint used by a server.'}),
|
|
1696
|
+
|
|
1672
1697
|
('inet:tls:ja3s:sample', ('comp', {'fields': (('server', 'inet:server'), ('ja3s', 'hash:md5'))}), {
|
|
1673
1698
|
'doc': 'A JA3 sample taken from a server.'}),
|
|
1674
1699
|
|
|
@@ -1774,6 +1799,9 @@ class InetModule(s_module.CoreModule):
|
|
|
1774
1799
|
'interfaces': ('inet:service:base',),
|
|
1775
1800
|
'props': (
|
|
1776
1801
|
|
|
1802
|
+
('app', ('inet:service:app', {}), {
|
|
1803
|
+
'doc': 'The app which handled the action.'}),
|
|
1804
|
+
|
|
1777
1805
|
('time', ('time', {}), {
|
|
1778
1806
|
'doc': 'The time that the account initiated the action.'}),
|
|
1779
1807
|
|
|
@@ -1807,6 +1835,9 @@ class InetModule(s_module.CoreModule):
|
|
|
1807
1835
|
('client:host', ('it:host', {}), {
|
|
1808
1836
|
'doc': 'The client host which initiated the action.'}),
|
|
1809
1837
|
|
|
1838
|
+
('client:app', ('inet:service:app', {}), {
|
|
1839
|
+
'doc': 'The client service app which initiated the action.'}),
|
|
1840
|
+
|
|
1810
1841
|
('server', ('inet:server', {}), {
|
|
1811
1842
|
'doc': 'The network address of the server which handled the action.'}),
|
|
1812
1843
|
|
|
@@ -3550,23 +3581,70 @@ class InetModule(s_module.CoreModule):
|
|
|
3550
3581
|
'doc': 'The server that was sampled to compute the JARM hash.'}),
|
|
3551
3582
|
)),
|
|
3552
3583
|
|
|
3584
|
+
('inet:tls:ja4', {}, ()),
|
|
3585
|
+
('inet:tls:ja4s', {}, ()),
|
|
3586
|
+
|
|
3587
|
+
('inet:tls:ja4:sample', {}, (
|
|
3588
|
+
|
|
3589
|
+
('ja4', ('inet:tls:ja4', {}), {
|
|
3590
|
+
'ro': True,
|
|
3591
|
+
'doc': 'The JA4 TLS client fingerprint.'}),
|
|
3592
|
+
|
|
3593
|
+
('client', ('inet:client', {}), {
|
|
3594
|
+
'ro': True,
|
|
3595
|
+
'doc': 'The client which initiated the TLS handshake with a JA4 fingerprint.'}),
|
|
3596
|
+
)),
|
|
3597
|
+
|
|
3598
|
+
('inet:tls:ja4s:sample', {}, (
|
|
3599
|
+
|
|
3600
|
+
('ja4s', ('inet:tls:ja4s', {}), {
|
|
3601
|
+
'ro': True,
|
|
3602
|
+
'doc': 'The JA4S TLS server fingerprint.'}),
|
|
3603
|
+
|
|
3604
|
+
('server', ('inet:server', {}), {
|
|
3605
|
+
'ro': True,
|
|
3606
|
+
'doc': 'The server which responded to the TLS handshake with a JA4S fingerprint.'}),
|
|
3607
|
+
)),
|
|
3608
|
+
|
|
3553
3609
|
('inet:tls:handshake', {}, (
|
|
3610
|
+
|
|
3554
3611
|
('time', ('time', {}), {
|
|
3555
3612
|
'doc': 'The time the handshake was initiated.'}),
|
|
3613
|
+
|
|
3556
3614
|
('flow', ('inet:flow', {}), {
|
|
3557
3615
|
'doc': 'The raw inet:flow associated with the handshake.'}),
|
|
3616
|
+
|
|
3558
3617
|
('server', ('inet:server', {}), {
|
|
3559
3618
|
'doc': 'The TLS server during the handshake.'}),
|
|
3619
|
+
|
|
3560
3620
|
('server:cert', ('crypto:x509:cert', {}), {
|
|
3561
3621
|
'doc': 'The x509 certificate sent by the server during the handshake.'}),
|
|
3562
|
-
|
|
3563
|
-
|
|
3622
|
+
|
|
3623
|
+
('server:ja3s', ('hash:md5', {}), {
|
|
3624
|
+
'doc': 'The JA3S fingerprint of the server response.'}),
|
|
3625
|
+
|
|
3626
|
+
('server:ja4s', ('inet:tls:ja4s', {}), {
|
|
3627
|
+
'doc': 'The JA4S fingerprint of the server response.'}),
|
|
3628
|
+
|
|
3564
3629
|
('client', ('inet:client', {}), {
|
|
3565
3630
|
'doc': 'The TLS client during the handshake.'}),
|
|
3631
|
+
|
|
3566
3632
|
('client:cert', ('crypto:x509:cert', {}), {
|
|
3567
3633
|
'doc': 'The x509 certificate sent by the client during the handshake.'}),
|
|
3634
|
+
|
|
3635
|
+
('client:ja3', ('hash:md5', {}), {
|
|
3636
|
+
'doc': 'The JA3 fingerprint of the client request.'}),
|
|
3637
|
+
|
|
3638
|
+
('client:ja4', ('inet:tls:ja4', {}), {
|
|
3639
|
+
'doc': 'The JA4 fingerprint of the client request.'}),
|
|
3640
|
+
|
|
3568
3641
|
('client:fingerprint:ja3', ('hash:md5', {}), {
|
|
3569
|
-
'
|
|
3642
|
+
'deprecated': True,
|
|
3643
|
+
'doc': 'Deprecated. Please use :client:ja3.'}),
|
|
3644
|
+
|
|
3645
|
+
('server:fingerprint:ja3', ('hash:md5', {}), {
|
|
3646
|
+
'deprecated': True,
|
|
3647
|
+
'doc': 'Deprecated. Please use :server:ja3s.'}),
|
|
3570
3648
|
)),
|
|
3571
3649
|
|
|
3572
3650
|
('inet:tls:ja3s:sample', {}, (
|
|
@@ -3608,12 +3686,22 @@ class InetModule(s_module.CoreModule):
|
|
|
3608
3686
|
|
|
3609
3687
|
('url', ('inet:url', {}), {
|
|
3610
3688
|
'ex': 'https://twitter.com',
|
|
3689
|
+
'alts': ('urls',),
|
|
3611
3690
|
'doc': 'The primary URL of the platform.'}),
|
|
3612
3691
|
|
|
3692
|
+
('urls', ('array', {'type': 'inet:url', 'sorted': True, 'uniq': True}), {
|
|
3693
|
+
'doc': 'An array of alternate URLs for the platform.'}),
|
|
3694
|
+
|
|
3613
3695
|
('name', ('str', {'onespace': True, 'lower': True}), {
|
|
3614
3696
|
'ex': 'twitter',
|
|
3697
|
+
'alts': ('names',),
|
|
3615
3698
|
'doc': 'A friendly name for the platform.'}),
|
|
3616
3699
|
|
|
3700
|
+
('names', ('array', {'type': 'str',
|
|
3701
|
+
'typeopts': {'onespace': True, 'lower': True},
|
|
3702
|
+
'sorted': True, 'uniq': True}), {
|
|
3703
|
+
'doc': 'An array of alternate names for the platform.'}),
|
|
3704
|
+
|
|
3617
3705
|
('desc', ('str', {}), {
|
|
3618
3706
|
'disp': {'hint': 'text'},
|
|
3619
3707
|
'doc': 'A description of the service platform.'}),
|
|
@@ -3662,6 +3750,22 @@ class InetModule(s_module.CoreModule):
|
|
|
3662
3750
|
'doc': 'The tenant which contains the instance.'}),
|
|
3663
3751
|
)),
|
|
3664
3752
|
|
|
3753
|
+
('inet:service:app', {}, (
|
|
3754
|
+
|
|
3755
|
+
('name', ('str', {'lower': True, 'onespace': True}), {
|
|
3756
|
+
'alts': ('names',),
|
|
3757
|
+
'doc': 'The name of the platform specific application.'}),
|
|
3758
|
+
|
|
3759
|
+
('names', ('array', {'type': 'str',
|
|
3760
|
+
'typeopts': {'onespace': True, 'lower': True},
|
|
3761
|
+
'sorted': True, 'uniq': True}), {
|
|
3762
|
+
'doc': 'An array of alternate names for the application.'}),
|
|
3763
|
+
|
|
3764
|
+
('desc', ('str', {}), {
|
|
3765
|
+
'disp': {'hint': 'text'},
|
|
3766
|
+
'doc': 'A description of the platform specific application.'}),
|
|
3767
|
+
)),
|
|
3768
|
+
|
|
3665
3769
|
('inet:service:account', {}, (
|
|
3666
3770
|
|
|
3667
3771
|
('user', ('inet:user', {}), {
|
|
@@ -3937,6 +4041,9 @@ class InetModule(s_module.CoreModule):
|
|
|
3937
4041
|
|
|
3938
4042
|
('inet:service:access', {}, (
|
|
3939
4043
|
|
|
4044
|
+
('action', ('inet:service:access:action:taxonomy', {}), {
|
|
4045
|
+
'doc': 'The platform specific action which this access records.'}),
|
|
4046
|
+
|
|
3940
4047
|
('resource', ('inet:service:resource', {}), {
|
|
3941
4048
|
'doc': 'The resource which the account attempted to access.'}),
|
|
3942
4049
|
|
|
@@ -1241,7 +1241,6 @@ class OuModule(s_module.CoreModule):
|
|
|
1241
1241
|
)),
|
|
1242
1242
|
('ou:conference:event', {}, (
|
|
1243
1243
|
('conference', ('ou:conference', {}), {
|
|
1244
|
-
'ro': True,
|
|
1245
1244
|
'doc': 'The conference to which the event is associated.',
|
|
1246
1245
|
}),
|
|
1247
1246
|
('organizer', ('ps:contact', {}), {
|
|
@@ -86,6 +86,11 @@ class BaseTest(s_t_utils.SynTest):
|
|
|
86
86
|
await Hehe.anit(-1)
|
|
87
87
|
self.eq(cm.exception.get('mesg'), 'boom')
|
|
88
88
|
|
|
89
|
+
if __debug__:
|
|
90
|
+
with self.raises(AssertionError) as cm:
|
|
91
|
+
Hehe()
|
|
92
|
+
self.eq(str(cm.exception), 'Objects from Base must be constructed solely via "anit"')
|
|
93
|
+
|
|
89
94
|
async def test_coro_fini(self):
|
|
90
95
|
|
|
91
96
|
event = asyncio.Event()
|
|
@@ -164,8 +164,8 @@ class ConfTest(s_test.SynTest):
|
|
|
164
164
|
# We can ensure that certain vars are loaded
|
|
165
165
|
self.eq('Funky string time!', conf.req('key:string'))
|
|
166
166
|
# And throw if they are not, or if the requested key isn't even schema valid
|
|
167
|
-
self.raises(s_exc.NeedConfValu, conf.
|
|
168
|
-
self.raises(s_exc.BadArg, conf.
|
|
167
|
+
self.raises(s_exc.NeedConfValu, conf.req, 'key:bool:nodefval')
|
|
168
|
+
self.raises(s_exc.BadArg, conf.req, 'key:newp')
|
|
169
169
|
|
|
170
170
|
# Since we're an Mutable mapping, we have some dict methods available to us
|
|
171
171
|
self.len(8, conf) # __len__
|
|
@@ -380,6 +380,12 @@ class ConfTest(s_test.SynTest):
|
|
|
380
380
|
self.eq(item['key:number'], 123)
|
|
381
381
|
self.notin('key:string', item)
|
|
382
382
|
|
|
383
|
+
item = validator({'key:multi': 123})
|
|
384
|
+
self.eq(item['key:multi'], 123)
|
|
385
|
+
|
|
386
|
+
item = validator({'key:multi': '123'})
|
|
387
|
+
self.eq(item['key:multi'], '123')
|
|
388
|
+
|
|
383
389
|
async def test_config_ref_handler(self):
|
|
384
390
|
|
|
385
391
|
filename = pathlib.Path(s_data.path(
|
|
@@ -1399,8 +1399,8 @@ class LayerTest(s_t_utils.SynTest):
|
|
|
1399
1399
|
self.len(1, nodes)
|
|
1400
1400
|
self.eq(nodes[0].ndef, ('inet:ipv4', 0x01020304))
|
|
1401
1401
|
self.eq(nodes[0].get('asn'), 33)
|
|
1402
|
-
self.
|
|
1403
|
-
self.
|
|
1402
|
+
self.eq(nodes[0].getTag('foo.bar'), (None, None))
|
|
1403
|
+
self.eq(nodes[0].getTagProp('foo.bar', 'confidence'), 100)
|
|
1404
1404
|
|
|
1405
1405
|
self.eq(10004, await core.count('.created'))
|
|
1406
1406
|
self.len(2, await core.nodes('syn:tag~=foo'))
|
|
@@ -2251,16 +2251,18 @@ class StormTest(s_t_utils.SynTest):
|
|
|
2251
2251
|
nodes = [m[1] for m in msgs if m[0] == 'node']
|
|
2252
2252
|
|
|
2253
2253
|
node = nodes[0]
|
|
2254
|
+
self.eq('inet:asn', node[1]['embeds']['asn']['$form'])
|
|
2254
2255
|
self.eq('hehe', node[1]['embeds']['asn']['name'])
|
|
2255
|
-
self.eq('796d67b92a6ffe9b88fa19d115b46ab6712d673a06ae602d41de84b1464782f2', node[1]['embeds']['asn']['
|
|
2256
|
+
self.eq('796d67b92a6ffe9b88fa19d115b46ab6712d673a06ae602d41de84b1464782f2', node[1]['embeds']['asn']['$iden'])
|
|
2256
2257
|
|
|
2257
2258
|
opts = {'embeds': {'ou:org': {'hq::email': ('user',)}}}
|
|
2258
2259
|
msgs = await core.stormlist('[ ou:org=* :country=* :hq=* ] { -> ps:contact [ :email=visi@vertex.link ] }', opts=opts)
|
|
2259
2260
|
nodes = [m[1] for m in msgs if m[0] == 'node']
|
|
2260
2261
|
node = nodes[0]
|
|
2261
2262
|
|
|
2263
|
+
self.eq('inet:email', node[1]['embeds']['hq::email']['$form'])
|
|
2262
2264
|
self.eq('visi', node[1]['embeds']['hq::email']['user'])
|
|
2263
|
-
self.eq('2346d7bed4b0fae05e00a413bbf8716c9e08857eb71a1ecf303b8972823f2899', node[1]['embeds']['hq::email']['
|
|
2265
|
+
self.eq('2346d7bed4b0fae05e00a413bbf8716c9e08857eb71a1ecf303b8972823f2899', node[1]['embeds']['hq::email']['$iden'])
|
|
2264
2266
|
|
|
2265
2267
|
fork = await core.callStorm('return($lib.view.get().fork().iden)')
|
|
2266
2268
|
|
|
@@ -2373,10 +2375,17 @@ class StormTest(s_t_utils.SynTest):
|
|
|
2373
2375
|
self.eq(['inet:service:rule', 'risk:vulnerable'], [n[0][0] for n in nodes])
|
|
2374
2376
|
|
|
2375
2377
|
embeds = nodes[0][1]['embeds']
|
|
2378
|
+
|
|
2379
|
+
self.nn(embeds['object']['$iden'])
|
|
2380
|
+
self.eq('risk:vulnerable', embeds['object']['$form'])
|
|
2376
2381
|
self.eq(1, embeds['object']['mitigated'])
|
|
2377
2382
|
self.eq(None, embeds['object']['newp'])
|
|
2383
|
+
|
|
2384
|
+
self.nn(embeds['object::node']['$iden'])
|
|
2385
|
+
self.eq('it:prod:hardware', embeds['object::node']['$form'])
|
|
2378
2386
|
self.eq('foohw', embeds['object::node']['name'])
|
|
2379
2387
|
self.eq(None, embeds['object::node']['newp'])
|
|
2388
|
+
self.eq('inet:service:account', embeds['grantee']['$form'])
|
|
2380
2389
|
self.eq('foocon', embeds['grantee']['id'])
|
|
2381
2390
|
self.eq(None, embeds['grantee']['newp'])
|
|
2382
2391
|
|
|
@@ -2384,6 +2393,26 @@ class StormTest(s_t_utils.SynTest):
|
|
|
2384
2393
|
self.eq('barvuln', embeds['vuln']['name'])
|
|
2385
2394
|
self.eq('foohw', embeds['node']['name'])
|
|
2386
2395
|
|
|
2396
|
+
# embed through `econ:pay:instrument` type that extends from `ndef`
|
|
2397
|
+
await core.nodes('''
|
|
2398
|
+
[ econ:acct:payment=* :from:instrument={ [ econ:pay:card=(testcard,) :name=infime ] } ]
|
|
2399
|
+
''')
|
|
2400
|
+
|
|
2401
|
+
opts = {
|
|
2402
|
+
'embeds': {
|
|
2403
|
+
'econ:acct:payment': {
|
|
2404
|
+
'from:instrument': ['name'],
|
|
2405
|
+
}
|
|
2406
|
+
}
|
|
2407
|
+
}
|
|
2408
|
+
msgs = await core.stormlist('econ:acct:payment', opts=opts)
|
|
2409
|
+
node = [m[1] for m in msgs if m[0] == 'node'][0]
|
|
2410
|
+
self.eq('econ:acct:payment', node[0][0])
|
|
2411
|
+
|
|
2412
|
+
embeds = node[1]['embeds']
|
|
2413
|
+
self.eq('86caf7a47348d56b2f6bec3e767a9fc7eaaaf5a80d7bbaa235fab763c7dcc560', embeds['from:instrument']['*'])
|
|
2414
|
+
self.eq('infime', embeds['from:instrument']['name'])
|
|
2415
|
+
|
|
2387
2416
|
async def test_storm_wget(self):
|
|
2388
2417
|
|
|
2389
2418
|
async def _getRespFromSha(core, mesgs):
|
|
@@ -642,9 +642,9 @@ class StormHttpTest(s_test.SynTest):
|
|
|
642
642
|
self.isin('connect to proxy 127.0.0.1:1', resp['mesg'])
|
|
643
643
|
|
|
644
644
|
q = '$resp=$lib.inet.http.get("http://vertex.link") return(($resp.code, $resp.err))'
|
|
645
|
-
code, (errname,
|
|
645
|
+
code, (errname, errinfo) = await core.callStorm(q)
|
|
646
646
|
self.eq(code, -1)
|
|
647
|
-
self.
|
|
647
|
+
self.isin("connect to proxy 127.0.0.1:1", errinfo.get('mesg'))
|
|
648
648
|
|
|
649
649
|
msgs = await core.stormlist('$resp=$lib.inet.http.get("http://vertex.link", proxy=(null)) $lib.print($resp.err)')
|
|
650
650
|
self.stormIsInWarn('HTTP proxy argument to $lib.null is deprecated', msgs)
|
|
@@ -669,7 +669,7 @@ class StormHttpTest(s_test.SynTest):
|
|
|
669
669
|
self.stormIsInErr(errmsg.format(perm='storm.lib.inet.http.proxy'), msgs)
|
|
670
670
|
|
|
671
671
|
resp = await core.callStorm('return($lib.inet.http.get(http://vertex.link, proxy=socks5://user:pass@127.0.0.1:1))')
|
|
672
|
-
self.
|
|
672
|
+
self.isin("connect to proxy 127.0.0.1:1", resp['err'][1].get('mesg'))
|
|
673
673
|
|
|
674
674
|
# test $lib.axon proxy API
|
|
675
675
|
asvisi = {'user': visi.iden}
|
|
@@ -748,13 +748,13 @@ class StormHttpTest(s_test.SynTest):
|
|
|
748
748
|
opts = {'vars': {'proxy': 'socks5://user:pass@127.0.0.1:1'}, 'user': visi.iden}
|
|
749
749
|
|
|
750
750
|
resp = await core.callStorm(q1, opts=opts)
|
|
751
|
-
self.
|
|
751
|
+
self.isin("connect to proxy 127.0.0.1:1", resp['err'][1].get('mesg'))
|
|
752
752
|
|
|
753
753
|
resp = await core.callStorm(q2, opts=opts)
|
|
754
|
-
self.
|
|
754
|
+
self.isin("connect to proxy 127.0.0.1:1", resp['err'][1].get('mesg'))
|
|
755
755
|
|
|
756
756
|
resp = await core.callStorm(q3, opts=opts)
|
|
757
|
-
self.
|
|
757
|
+
self.isin("connect to proxy 127.0.0.1:1", resp['err'][1].get('mesg'))
|
|
758
758
|
|
|
759
759
|
opts = {'vars': {'proxy': False}, 'user': visi.iden}
|
|
760
760
|
|
|
@@ -46,11 +46,13 @@ class JsonTest(s_test.SynTest):
|
|
|
46
46
|
q = '''$schemaObj = $lib.json.schema($schema)
|
|
47
47
|
$item=({})
|
|
48
48
|
$item."key:integer"=(4)
|
|
49
|
+
$item."key:multi"=(4)
|
|
49
50
|
return ( $schemaObj.validate($item) )
|
|
50
51
|
'''
|
|
51
52
|
isok, valu = await core.callStorm(q, opts=opts)
|
|
52
53
|
self.true(isok)
|
|
53
54
|
self.eq(4, valu.get('key:integer'))
|
|
55
|
+
self.eq(4, valu.get('key:multi'))
|
|
54
56
|
self.eq('Default string!', valu.get('key:string'))
|
|
55
57
|
|
|
56
58
|
q = '''$schemaObj = $lib.json.schema($schema)
|
|
@@ -68,12 +70,13 @@ class JsonTest(s_test.SynTest):
|
|
|
68
70
|
|
|
69
71
|
q = '''
|
|
70
72
|
$schemaObj = $lib.json.schema($schema, use_default=$lib.false)
|
|
71
|
-
$item = ({"key:integer": 4})
|
|
73
|
+
$item = ({"key:integer": 4, "key:multi": "4"})
|
|
72
74
|
return($schemaObj.validate($item))
|
|
73
75
|
'''
|
|
74
76
|
isok, valu = await core.callStorm(q, opts={'vars': {'schema': s_test.test_schema}})
|
|
75
77
|
self.true(isok)
|
|
76
78
|
self.eq(4, valu.get('key:integer'))
|
|
79
|
+
self.eq('4', valu.get('key:multi'))
|
|
77
80
|
self.notin('key:string', valu)
|
|
78
81
|
|
|
79
82
|
# Print a json schema obj
|
|
@@ -1291,35 +1291,33 @@ class StormTypesTest(s_test.SynTest):
|
|
|
1291
1291
|
self.len(1, nodes)
|
|
1292
1292
|
self.eq('visi@vertex.link', nodes[0].ndef[1])
|
|
1293
1293
|
|
|
1294
|
-
|
|
1295
|
-
self.eq(1, nodes[0].ndef[1])
|
|
1294
|
+
self.true(await core.callStorm('$s = woot return($s.startswith(w))'))
|
|
1296
1295
|
|
|
1297
|
-
|
|
1298
|
-
self.eq(0, nodes[0].ndef[1])
|
|
1296
|
+
self.false(await core.callStorm('$s = woot return($s.endswith(visi))'))
|
|
1299
1297
|
|
|
1300
|
-
|
|
1301
|
-
self.eq(' woot',
|
|
1298
|
+
valu = await core.callStorm('$s = woot return($s.rjust(10))')
|
|
1299
|
+
self.eq(' woot', valu)
|
|
1302
1300
|
|
|
1303
|
-
|
|
1304
|
-
self.eq('xxxxxxwoot',
|
|
1301
|
+
valu = await core.callStorm('$s = woot return($s.rjust(10, x))')
|
|
1302
|
+
self.eq('xxxxxxwoot', valu)
|
|
1305
1303
|
|
|
1306
|
-
|
|
1307
|
-
self.eq('woot ',
|
|
1304
|
+
valu = await core.callStorm('$s = woot return($s.ljust(10))')
|
|
1305
|
+
self.eq('woot ', valu)
|
|
1308
1306
|
|
|
1309
|
-
|
|
1310
|
-
self.eq('wootxxxxxx',
|
|
1307
|
+
valu = await core.callStorm('$s = woot return($s.ljust(10, x))')
|
|
1308
|
+
self.eq('wootxxxxxx', valu)
|
|
1311
1309
|
|
|
1312
1310
|
sobj = s_stormtypes.Str('beepbeep')
|
|
1313
1311
|
self.len(8, sobj)
|
|
1314
1312
|
|
|
1315
|
-
|
|
1316
|
-
self.eq('foo.bar.baz',
|
|
1313
|
+
valu = await core.callStorm('$s = (foo, bar, baz) return((".").join($s))')
|
|
1314
|
+
self.eq('foo.bar.baz', valu)
|
|
1317
1315
|
|
|
1318
|
-
|
|
1319
|
-
self.eq('foo.bar.baz',
|
|
1316
|
+
valu = await core.callStorm('$s = foo-bar-baz return($s.replace("-", "."))')
|
|
1317
|
+
self.eq('foo.bar.baz', valu)
|
|
1320
1318
|
|
|
1321
|
-
|
|
1322
|
-
self.eq('foo.bar-baz',
|
|
1319
|
+
valu = await core.callStorm('$s = foo-bar-baz return($s.replace("-", ".", 1))')
|
|
1320
|
+
self.eq('foo.bar-baz', valu)
|
|
1323
1321
|
|
|
1324
1322
|
q = '$foo=" foo " return ( $foo.strip() )'
|
|
1325
1323
|
self.eq('foo', await core.callStorm(q))
|