synapse 2.225.0__tar.gz → 2.226.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.225.0/synapse.egg-info → synapse-2.226.0}/PKG-INFO +1 -1
- {synapse-2.225.0 → synapse-2.226.0}/pyproject.toml +1 -1
- {synapse-2.225.0 → synapse-2.226.0}/synapse/cortex.py +6 -8
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/agenda.py +28 -15
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/ast.py +4 -8
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/platforms/linux.py +2 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/storm.py +11 -3
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/aha.py +3 -3
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormtypes.py +10 -3
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/types.py +20 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/version.py +2 -2
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/base.py +3 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/inet.py +58 -5
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/infotech.py +18 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_cortex.py +113 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_agenda.py +140 -27
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_lmdbslab.py +2 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_platforms_linux.py +4 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_storm.py +6 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_aha.py +6 -2
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_inet.py +31 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_infotech.py +15 -1
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_aha.py +2 -2
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/utils.py +12 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/aha/mirror.py +1 -1
- {synapse-2.225.0 → synapse-2.226.0/synapse.egg-info}/PKG-INFO +1 -1
- {synapse-2.225.0 → synapse-2.226.0}/LICENSE +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/README.rst +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/setup.cfg +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/axon.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/cells.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/cmds/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/cmds/boss.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/cmds/cortex.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/cmds/hive.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/common.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/cryotank.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/daemon.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/attack-flow/LICENSE.txt +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/attack-flow/README.md +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/attack-flow/attack-flow-schema-2.0.0.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/certs/cas/The Vertex Project Intermediate CA 00.crt +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/certs/cas/The Vertex Project ROOT CA.crt +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/certs/crls/The Vertex Project Intermediate CA 00.crl +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/certs/crls/The Vertex Project ROOT CA.crl +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/iana.tlds.mpk +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/iana.uris.mpk +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/README.md +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/LICENSE.txt +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/binary.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/bundle.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/core.json +0 -0
- {synapse-2.225.0 → synapse-2.226.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.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/dictionary.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension-definition.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/external-reference.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/granular-marking.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hashes-type.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hex.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/identifier.json +0 -0
- {synapse-2.225.0 → synapse-2.226.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.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/language-content.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/marking-definition.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/properties.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/timestamp.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/url-regex.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/artifact.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/autonomous-system.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/directory.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/domain-name.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-addr.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-message.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/file.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv4-addr.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv6-addr.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mac-addr.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mutex.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/network-traffic.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/process.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/software.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/url.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/user-account.json +0 -0
- {synapse-2.225.0 → synapse-2.226.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.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/x509-certificate.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/attack-pattern.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/campaign.json +0 -0
- {synapse-2.225.0 → synapse-2.226.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.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/grouping.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/identity.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/incident.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/indicator.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/infrastructure.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/intrusion-set.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/location.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware-analysis.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/note.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/observed-data.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/opinion.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/report.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/threat-actor.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/tool.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/vulnerability.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/relationship.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/sighting.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/lark/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/lark/imap.lark +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/data/lark/storm.lark +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/datamodel.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/exc.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/glob.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/aha.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/auth.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/autodoc.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/base.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/boss.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/cache.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/cell.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/certdir.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/chop.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/cli.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/cmd.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/cmdr.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/config.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/const.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/coro.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/crypto/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/crypto/coin.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/crypto/ecc.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/crypto/passwd.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/crypto/rsa.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/crypto/tinfoil.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/datfile.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/drive.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/dyndeps.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/encoding.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/gis.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/grammar.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/hashitem.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/hashset.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/health.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/hive.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/httpapi.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/ingest.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/interval.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/json.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/jsonstor.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/layer.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/link.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/lmdbslab.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/modelrev.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/module.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/modules.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/msgpack.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/multislabseqn.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/nexus.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/node.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/oauth.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/output.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/parser.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/platforms/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/platforms/common.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/platforms/darwin.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/platforms/freebsd.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/platforms/windows.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/queue.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/ratelimit.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/reflect.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/rstorm.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/schemas.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/scope.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/scrape.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/share.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/slaboffs.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/slabseqn.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/snap.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/spooled.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/storm_format.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormctrl.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormhttp.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/auth.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/backup.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/basex.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/cache.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/cell.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/compression.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/cortex.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/easyperm.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/env.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/ethereum.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/gen.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/gis.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/graph.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/hashes.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/hex.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/imap.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/index.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/infosec.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/ipv6.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/iters.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/json.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/log.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/macro.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/math.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/mime.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/model.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/modelext.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/notifications.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/oauth.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/pack.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/pkg.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/project.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/random.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/scrape.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/smtp.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/spooled.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/stats.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/stix.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/storm.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/tabular.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/task.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/utils.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/vault.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/version.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/xml.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormlib/yaml.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormsvc.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/stormwhois.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/structlog.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/task.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/thishost.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/thisplat.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/threads.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/time.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/trigger.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/urlhelp.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lib/view.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lookup/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lookup/cvss.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lookup/iana.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lookup/iso3166.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lookup/macho.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lookup/pe.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lookup/phonenum.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/lookup/timezones.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/mindmeld.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/auth.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/belief.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/biz.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/crypto.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/dns.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/doc.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/economic.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/entity.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/files.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/geopol.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/geospace.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/gov/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/gov/cn.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/gov/intl.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/gov/us.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/language.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/material.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/math.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/media.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/orgs.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/person.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/planning.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/proj.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/risk.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/science.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/syn.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/telco.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/models/transport.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/servers/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/servers/aha.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/servers/axon.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/servers/cell.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/servers/cortex.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/servers/cryotank.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/servers/jsonstor.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/servers/stemcell.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/telepath.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/TestUtilsGetrefs.test_basics.yaml +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/aha/certs/cas/synapse.crt +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/aha/certs/cas/synapse.key +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.crt +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.key +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/aha/certs/users/root@synapse.crt +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/aha/certs/users/root@synapse.key +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/attack_flow/CISA AA22-138B VMWare Workspace (Alt).json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/attack_flow/CISA_Iranian_APT.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/certdir/cas/ca.crt +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/certdir/cas/ca.key +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/certdir/hosts/localhost.crt +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/certdir/hosts/localhost.key +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/certdir/users/root.crt +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/certdir/users/root.key +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/certdir/users/user.crt +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/certdir/users/user.key +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/changelog/model_2.176.0_16ee721a6b7221344eaf946c3ab4602dda546b1a.yaml.gz +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/changelog/model_2.176.0_2a25c58bbd344716cd7cbc3f4304d8925b0f4ef2.yaml.gz +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/cpedata.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/rstorm/httpresp1.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/rstorm/httpresp2.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/rstorm/httpresp3.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/rstorm/httprespmulti.yaml +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/rstorm/testsvc.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stix_export/basic.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stix_export/custom0.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stix_export/risk0.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stix_import/apt1.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stix_import/oasis-example-00.json +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormcov/argvquery.storm +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormcov/dupesubs.storm +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormcov/lookup.storm +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormcov/pivot.storm +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormcov/pragma-nocov.storm +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormcov/spin.storm +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormcov/stormctrl.storm +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormmod/common +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormpkg/badapidef.yaml +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormpkg/badcmdname.yaml +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormpkg/badendpoints.yaml +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormpkg/badinits.yaml +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormpkg/badjsonpkg.yaml +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormpkg/docs/foobar.md +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormpkg/docs/foobar.svg +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormpkg/dotstorm/dotstorm.yaml +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormpkg/dotstorm/storm/commands/dotstorm.bar.storm +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormpkg/dotstorm/storm/modules/dotstorm.foo.storm +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormpkg/nocontent.yaml +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormpkg/nomime.yaml +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormpkg/nopath.yaml +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormpkg/nosuchfile.yaml +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormpkg/notitle.yaml +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormpkg/optic/index.html +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormpkg/storm/commands/invalidCMD +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormpkg/storm/commands/testpkg.baz +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormpkg/storm/commands/testpkgcmd +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormpkg/storm/modules/apimod +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormpkg/storm/modules/testmod +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormpkg/testpkg.yaml +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormpkg/workflows/testpkg-bam.newp +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormpkg/workflows/testpkg-baz.yaml +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/stormpkg/workflows/testpkg-foo.yaml +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/test.dat +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/testcore/cell.yaml +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/testpkg_build_docs/docs/bar.rst +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/testpkg_build_docs/docs/foo.rst +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/testpkg_build_docs/storm/commands/testcmd.storm +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/testpkg_build_docs/storm/modules/apimod.storm +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/testpkg_build_docs/storm/modules/testmod.storm +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/testpkg_build_docs/storm/testcmd.storm +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/files/testpkg_build_docs/testpkg.yaml +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/nopmod.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_axon.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_cmds_boss.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_cmds_cortex.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_cmds_hive.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_common.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_cryotank.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_daemon.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_data.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_datamodel.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_exc.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_glob.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_init.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_aha.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_ast.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_auth.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_autodoc.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_base.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_boss.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_cache.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_cell.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_certdir.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_chop.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_cli.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_config.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_const.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_coro.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_crypto_coin.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_crypto_ecc.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_crypto_passwd.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_crypto_tinfoil.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_datfile.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_dyndeps.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_encoding.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_gis.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_grammar.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_hashitem.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_hashset.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_health.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_hive.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_httpapi.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_interval.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_json.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_jsonstor.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_layer.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_link.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_modelrev.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_module.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_msgpack.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_multislabseqn.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_nexus.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_node.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_output.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_queue.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_ratelimit.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_reflect.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_rstorm.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_scope.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_scrape.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_slaboffs.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_slabseqn.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_snap.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_spooled.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_storm_format.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormctrl.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormhttp.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_auth.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_backup.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_basex.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_cache.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_cell.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_compression.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_cortex.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_easyperm.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_env.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_ethereum.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_gen.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_gis.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_hashes.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_hex.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_imap.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_index.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_infosec.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_ipv6.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_iters.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_json.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_log.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_macro.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_mime.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_model.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_modelext.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_oauth.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_pack.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_pkg.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_random.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_scrape.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_smtp.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_spooled.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_stats.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_stix.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_storm.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_tabular.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_task.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_utils.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_vault.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_xml.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormlib_yaml.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormsvc.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormtypes.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_stormwhois.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_structlog.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_task.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_thishost.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_time.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_trigger.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_types.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_urlhelp.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_version.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lib_view.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lookup_iso3166.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_lookup_phonenum.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_mindmeld.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_auth.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_base.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_belief.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_biz.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_crypto.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_dns.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_doc.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_economic.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_entity.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_files.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_geopol.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_geospace.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_gov_cn.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_gov_intl.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_gov_us.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_language.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_material.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_math.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_media.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_orgs.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_person.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_planning.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_proj.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_risk.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_science.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_syn.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_telco.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_model_transport.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_servers_axon.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_servers_cortex.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_servers_cryotank.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_servers_stemcell.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_servers_univ.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_telepath.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_axon_copy.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_axon_dump_load.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_axon_get.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_axon_put.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_cellauth.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_cortex_csv.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_cortex_feed.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_cortex_layer.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_cryo_cat.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_cryo_list.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_docker_validate.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_hiveload.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_hivesave.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_service_apikey.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_service_backup.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_service_demote.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_service_healthcheck.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_service_livebackup.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_service_modrole.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_service_moduser.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_service_promote.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_service_reload.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_service_shutdown.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_service_snapshot.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_storm_cli.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_storm_pkg_doc.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_storm_pkg_gen.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_utils_autodoc.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_utils_changelog.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_utils_easycert.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_utils_guid.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_utils_json2mpk.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_tools_utils_rstorm.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_utils.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_utils_getrefs.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tests/test_utils_stormcov.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/aha/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/aha/clone.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/aha/easycert.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/aha/enroll.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/aha/list.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/aha/provision/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/aha/provision/service.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/aha/provision/user.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/apikey.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/autodoc.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/axon/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/axon/copy.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/axon/dump.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/axon/get.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/axon/load.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/axon/put.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/axon2axon.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/backup.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/cellauth.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/changelog.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/cmdr.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/cortex/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/cortex/csv.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/cortex/feed.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/cortex/layer/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/cortex/layer/dump.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/cortex/layer/load.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/cryo/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/cryo/cat.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/cryo/list.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/csvtool.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/demote.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/docker/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/docker/validate.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/easycert.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/feed.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/genpkg.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/guid.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/healthcheck.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/hive/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/hive/load.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/hive/save.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/json2mpk.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/livebackup.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/modrole.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/moduser.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/pkgs/gendocs.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/promote.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/pullfile.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/pushfile.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/reload.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/rstorm.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/service/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/service/apikey.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/service/backup.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/service/demote.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/service/healthcheck.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/service/livebackup.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/service/modrole.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/service/moduser.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/service/promote.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/service/reload.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/service/shutdown.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/service/snapshot.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/shutdown.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/snapshot.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/storm/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/storm/__main__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/storm/_cli.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/storm/pkg/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/storm/pkg/_pandoc_filter.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/storm/pkg/doc.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/storm/pkg/gen.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/utils/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/utils/autodoc.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/utils/changelog.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/utils/easycert.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/utils/guid.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/utils/json2mpk.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/tools/utils/rstorm.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/utils/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/utils/getrefs.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/utils/stormcov/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/utils/stormcov/plugin.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/cashaddress/LICENSE +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/cashaddress/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/cashaddress/base58.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/cashaddress/convert.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/cashaddress/crypto.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/cashaddress/tests/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/cashaddress/tests/test_cashaddress.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/cpython/LICENSE +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/cpython/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/cpython/lib/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/cpython/lib/email/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/cpython/lib/email/_parseaddr.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/cpython/lib/email/utils.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/cpython/lib/http/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/cpython/lib/http/cookies.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/cpython/lib/ipaddress.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/cpython/lib/json.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/cpython/lib/test/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/cpython/lib/test/support/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/cpython/lib/test/test_email/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/cpython/lib/test/test_email/test_email.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/cpython/lib/test/test_email/test_utils.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/cpython/lib/test/test_http_cookies.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/cpython/lib/test/test_ipaddress.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/cpython/lib/test/test_json.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/substrateinterface/LICENSE +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/substrateinterface/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/substrateinterface/tests/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/substrateinterface/tests/test_ss58.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/substrateinterface/utils/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/substrateinterface/utils/ss58.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/utils.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/xrpl/LICENSE +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/xrpl/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/xrpl/constants.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/xrpl/core/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/xrpl/core/addresscodec/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/xrpl/core/addresscodec/codec.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/xrpl/core/addresscodec/exceptions.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/xrpl/core/addresscodec/main.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/xrpl/core/addresscodec/utils.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/xrpl/tests/__init__.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/xrpl/tests/test_codec.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/xrpl/tests/test_main.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse/vendor/xrpl/tests/test_main_test_cases.py +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse.egg-info/SOURCES.txt +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse.egg-info/dependency_links.txt +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse.egg-info/requires.txt +0 -0
- {synapse-2.225.0 → synapse-2.226.0}/synapse.egg-info/top_level.txt +0 -0
|
@@ -1538,11 +1538,9 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
1538
1538
|
'desc': 'Controls access to deleting storm packages.'},
|
|
1539
1539
|
|
|
1540
1540
|
{'perm': ('storm', 'asroot', 'cmd', '<cmdname>'), 'gate': 'cortex',
|
|
1541
|
-
'desc': '
|
|
1542
|
-
'ex': 'storm.asroot.cmd.movetag'},
|
|
1541
|
+
'desc': 'Deprecated. Please use Storm modules to implement functionality requiring root privileges.'},
|
|
1543
1542
|
{'perm': ('storm', 'asroot', 'mod', '<modname>'), 'gate': 'cortex',
|
|
1544
|
-
'desc': '
|
|
1545
|
-
'ex': 'storm.asroot.cmd.synapse-misp.privsep'},
|
|
1543
|
+
'desc': 'Deprecated. Storm modules should use the asroot:perms key to specify the permissions they require.'},
|
|
1546
1544
|
|
|
1547
1545
|
{'perm': ('storm', 'graph', 'add'), 'gate': 'cortex',
|
|
1548
1546
|
'desc': 'Controls access to add a storm graph.',
|
|
@@ -6914,7 +6912,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
6914
6912
|
Delete a cron job
|
|
6915
6913
|
|
|
6916
6914
|
Args:
|
|
6917
|
-
iden (
|
|
6915
|
+
iden (str): The iden of the cron job to be deleted
|
|
6918
6916
|
'''
|
|
6919
6917
|
await self._killCronTask(iden)
|
|
6920
6918
|
try:
|
|
@@ -6931,7 +6929,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
6931
6929
|
Change an existing cron job's query
|
|
6932
6930
|
|
|
6933
6931
|
Args:
|
|
6934
|
-
iden (
|
|
6932
|
+
iden (str): The iden of the cron job to be changed
|
|
6935
6933
|
'''
|
|
6936
6934
|
await self.agenda.mod(iden, query)
|
|
6937
6935
|
await self.feedBeholder('cron:edit:query', {'iden': iden, 'query': query}, gates=[iden])
|
|
@@ -6942,7 +6940,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
6942
6940
|
Enable a cron job
|
|
6943
6941
|
|
|
6944
6942
|
Args:
|
|
6945
|
-
iden (
|
|
6943
|
+
iden (str): The iden of the cron job to be changed
|
|
6946
6944
|
'''
|
|
6947
6945
|
await self.agenda.enable(iden)
|
|
6948
6946
|
await self.feedBeholder('cron:enable', {'iden': iden}, gates=[iden])
|
|
@@ -6954,7 +6952,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
6954
6952
|
Enable a cron job
|
|
6955
6953
|
|
|
6956
6954
|
Args:
|
|
6957
|
-
iden (
|
|
6955
|
+
iden (str): The iden of the cron job to be changed
|
|
6958
6956
|
'''
|
|
6959
6957
|
await self.agenda.disable(iden)
|
|
6960
6958
|
await self._killCronTask(iden)
|
|
@@ -430,6 +430,9 @@ class _Appt:
|
|
|
430
430
|
|
|
431
431
|
if name == 'lasterrs' and not isinstance(valu, list):
|
|
432
432
|
valu = list(valu)
|
|
433
|
+
elif name == 'nexttime' and valu is None:
|
|
434
|
+
self.recs.clear()
|
|
435
|
+
self.stor._delete_appt_from_heap(self)
|
|
433
436
|
|
|
434
437
|
setattr(self, name, valu)
|
|
435
438
|
|
|
@@ -469,7 +472,6 @@ class Agenda(s_base.Base):
|
|
|
469
472
|
self.apptheap = []
|
|
470
473
|
self.appts = {}
|
|
471
474
|
|
|
472
|
-
to_delete = []
|
|
473
475
|
for iden, info in self.apptdefs.items():
|
|
474
476
|
try:
|
|
475
477
|
appt = _Appt.unpack(self, info)
|
|
@@ -479,18 +481,30 @@ class Agenda(s_base.Base):
|
|
|
479
481
|
self._next_indx = max(self._next_indx, appt.indx + 1)
|
|
480
482
|
except (s_exc.InconsistentStorage, s_exc.BadStorageVersion, s_exc.BadTime, TypeError, KeyError,
|
|
481
483
|
UnicodeDecodeError) as e:
|
|
482
|
-
logger.warning('Invalid appointment %r found in storage: %r.
|
|
483
|
-
to_delete.append(iden)
|
|
484
|
-
continue
|
|
485
|
-
|
|
486
|
-
for iden in to_delete:
|
|
487
|
-
self.apptdefs.pop(iden)
|
|
484
|
+
logger.warning('Invalid appointment %r found in storage: %r. This appointment will be removed.', iden, e)
|
|
488
485
|
|
|
489
486
|
# Make sure we don't assign the same index to 2 appointments
|
|
490
487
|
if self.appts:
|
|
491
488
|
maxindx = max(appt.indx for appt in self.appts.values())
|
|
492
489
|
self._next_indx = maxindx + 1
|
|
493
490
|
|
|
491
|
+
async def _clear_invalid(self):
|
|
492
|
+
|
|
493
|
+
to_delete = []
|
|
494
|
+
for iden, info in self.apptdefs.items():
|
|
495
|
+
try:
|
|
496
|
+
appt = _Appt.unpack(self, info)
|
|
497
|
+
if appt.iden != iden:
|
|
498
|
+
raise s_exc.InconsistentStorage(mesg='iden inconsistency')
|
|
499
|
+
|
|
500
|
+
except (s_exc.InconsistentStorage, s_exc.BadStorageVersion, s_exc.BadTime, TypeError, KeyError,
|
|
501
|
+
UnicodeDecodeError) as e:
|
|
502
|
+
logger.warning('Removing invalid appointment %r.', iden)
|
|
503
|
+
to_delete.append(iden)
|
|
504
|
+
|
|
505
|
+
for iden in to_delete:
|
|
506
|
+
await self.core.delCronJob(iden)
|
|
507
|
+
|
|
494
508
|
def _addappt(self, iden, appt):
|
|
495
509
|
'''
|
|
496
510
|
Updates the data structures to add an appointment
|
|
@@ -685,14 +699,13 @@ class Agenda(s_base.Base):
|
|
|
685
699
|
'''
|
|
686
700
|
Delete an appointment
|
|
687
701
|
'''
|
|
688
|
-
|
|
689
|
-
if appt is None:
|
|
702
|
+
if not self.apptdefs.delete(iden):
|
|
690
703
|
mesg = f'No cron job with iden: {iden}'
|
|
691
704
|
raise s_exc.NoSuchIden(iden=iden, mesg=mesg)
|
|
692
705
|
|
|
693
|
-
self.
|
|
694
|
-
|
|
695
|
-
|
|
706
|
+
if (appt := self.appts.get(iden)) is not None:
|
|
707
|
+
self._delete_appt_from_heap(appt)
|
|
708
|
+
del self.appts[iden]
|
|
696
709
|
|
|
697
710
|
def _delete_appt_from_heap(self, appt):
|
|
698
711
|
try:
|
|
@@ -729,14 +742,14 @@ class Agenda(s_base.Base):
|
|
|
729
742
|
await self.core.addCronEdits(appt.iden, edits)
|
|
730
743
|
await self.core.feedBeholder('cron:stop', {'iden': appt.iden})
|
|
731
744
|
|
|
732
|
-
if appt.nexttime is None:
|
|
733
|
-
self._delete_appt_from_heap(appt)
|
|
734
|
-
|
|
735
745
|
async def runloop(self):
|
|
736
746
|
'''
|
|
737
747
|
Task loop to issue query tasks at the right times.
|
|
738
748
|
'''
|
|
739
749
|
await self.clearRunningStatus()
|
|
750
|
+
|
|
751
|
+
await self._clear_invalid()
|
|
752
|
+
|
|
740
753
|
while not self.isfini:
|
|
741
754
|
|
|
742
755
|
timeout = None
|
|
@@ -3452,10 +3452,6 @@ class PropValue(Value):
|
|
|
3452
3452
|
raise self.kids[0].addExcInfo(exc)
|
|
3453
3453
|
|
|
3454
3454
|
valu = path.node.get(name)
|
|
3455
|
-
if isinstance(valu, (dict, list, tuple)):
|
|
3456
|
-
# these get special cased because changing them affects the node
|
|
3457
|
-
# while it's in the pipeline but the modification doesn't get stored
|
|
3458
|
-
valu = s_msgpack.deepcopy(valu)
|
|
3459
3455
|
return prop, valu
|
|
3460
3456
|
|
|
3461
3457
|
# handle implicit pivot properties
|
|
@@ -3479,10 +3475,6 @@ class PropValue(Value):
|
|
|
3479
3475
|
raise self.kids[0].addExcInfo(exc)
|
|
3480
3476
|
|
|
3481
3477
|
if i >= imax:
|
|
3482
|
-
if isinstance(valu, (dict, list, tuple)):
|
|
3483
|
-
# these get special cased because changing them affects the node
|
|
3484
|
-
# while it's in the pipeline but the modification doesn't get stored
|
|
3485
|
-
valu = s_msgpack.deepcopy(valu)
|
|
3486
3478
|
return prop, valu
|
|
3487
3479
|
|
|
3488
3480
|
form = runt.model.forms.get(prop.type.name)
|
|
@@ -3495,6 +3487,10 @@ class PropValue(Value):
|
|
|
3495
3487
|
|
|
3496
3488
|
async def compute(self, runt, path):
|
|
3497
3489
|
prop, valu = await self.getPropAndValu(runt, path)
|
|
3490
|
+
|
|
3491
|
+
if prop:
|
|
3492
|
+
valu = await prop.type.tostorm(valu)
|
|
3493
|
+
|
|
3498
3494
|
return valu
|
|
3499
3495
|
|
|
3500
3496
|
class RelPropValue(PropValue):
|
|
@@ -112,7 +112,9 @@ def getSysctls():
|
|
|
112
112
|
('vm.dirty_expire_centisecs', '/proc/sys/vm/dirty_expire_centisecs', int),
|
|
113
113
|
('vm.dirty_writeback_centisecs', '/proc/sys/vm/dirty_writeback_centisecs', int),
|
|
114
114
|
('vm.dirty_background_ratio', '/proc/sys/vm/dirty_background_ratio', int),
|
|
115
|
+
('vm.dirty_background_bytes', '/proc/sys/vm/dirty_background_bytes', int),
|
|
115
116
|
('vm.dirty_ratio', '/proc/sys/vm/dirty_ratio', int),
|
|
117
|
+
('vm.dirty_bytes', '/proc/sys/vm/dirty_bytes', int),
|
|
116
118
|
)
|
|
117
119
|
ret = {}
|
|
118
120
|
for key, fp, func in _sysctls:
|
|
@@ -2521,9 +2521,17 @@ class PureCmd(Cmd):
|
|
|
2521
2521
|
perm = ('storm', 'asroot', 'cmd') + tuple(name.split('.'))
|
|
2522
2522
|
|
|
2523
2523
|
asroot = runt.allowed(perm)
|
|
2524
|
-
if self.asroot
|
|
2525
|
-
mesg = f'Command ({name})
|
|
2526
|
-
|
|
2524
|
+
if self.asroot:
|
|
2525
|
+
mesg = f'Command ({name}) requires asroot permission which is deprecated and will be removed in v3.0.0. ' \
|
|
2526
|
+
'Functionality which requires elevated permissions should be implemented in Storm modules and use ' \
|
|
2527
|
+
'asroot:perms to specify the required permissions.'
|
|
2528
|
+
|
|
2529
|
+
s_common.deprecated('Storm command asroot key', curv='2.226.0', eolv='3.0.0')
|
|
2530
|
+
await runt.warnonce(mesg, log=False)
|
|
2531
|
+
|
|
2532
|
+
if not asroot:
|
|
2533
|
+
mesg = f'Command ({name}) elevates privileges. You need perm: storm.asroot.cmd.{name}'
|
|
2534
|
+
raise s_exc.AuthDeny(mesg=mesg, user=runt.user.iden, username=runt.user.name)
|
|
2527
2535
|
|
|
2528
2536
|
# if a command requires perms, check em!
|
|
2529
2537
|
# ( used to create more intuitive perm boundaries )
|
|
@@ -740,10 +740,10 @@ The ready column indicates that a service has entered into the realtime change w
|
|
|
740
740
|
$info = $cell_infos.$svcname
|
|
741
741
|
$cell_info = $info.cell
|
|
742
742
|
$status.nexs_indx = $cell_info.nexsindx
|
|
743
|
-
if ($cell_info.
|
|
744
|
-
$status.role = 'follower'
|
|
745
|
-
} else {
|
|
743
|
+
if ($cell_info.active) {
|
|
746
744
|
$status.role = 'leader'
|
|
745
|
+
} else {
|
|
746
|
+
$status.role = 'follower'
|
|
747
747
|
}
|
|
748
748
|
$status.version = $info.cell.verstring
|
|
749
749
|
$status.synapse_version = $info.synapse.verstring
|
|
@@ -1499,9 +1499,16 @@ class LibBase(Lib):
|
|
|
1499
1499
|
perm = ('storm', 'asroot', 'mod') + tuple(name.split('.'))
|
|
1500
1500
|
asroot = self.runt.allowed(perm)
|
|
1501
1501
|
|
|
1502
|
-
if mdef.get('asroot', False)
|
|
1503
|
-
mesg = f'Module ({name})
|
|
1504
|
-
|
|
1502
|
+
if mdef.get('asroot', False):
|
|
1503
|
+
mesg = f'Module ({name}) requires asroot permission but does not specify any asroot:perms. ' \
|
|
1504
|
+
'storm.asroot.mod.<modname> style permissons are deprecated and will be removed in v3.0.0.'
|
|
1505
|
+
|
|
1506
|
+
s_common.deprecated('Storm module asroot key', curv='2.226.0', eolv='3.0.0')
|
|
1507
|
+
await self.runt.warnonce(mesg, log=False)
|
|
1508
|
+
|
|
1509
|
+
if not asroot:
|
|
1510
|
+
mesg = f'Module ({name}) elevates privileges. You need perm: storm.asroot.mod.{name}'
|
|
1511
|
+
raise s_exc.AuthDeny(mesg=mesg, user=self.runt.user.iden, username=self.runt.user.name)
|
|
1505
1512
|
|
|
1506
1513
|
modr = await self.runt.getModRuntime(query, opts={'vars': {'modconf': modconf}})
|
|
1507
1514
|
modr.asroot = asroot
|
|
@@ -32,6 +32,8 @@ class Type:
|
|
|
32
32
|
# ( due to hot-loop needs in the storm runtime )
|
|
33
33
|
isarray = False
|
|
34
34
|
|
|
35
|
+
ismutable = False
|
|
36
|
+
|
|
35
37
|
def __init__(self, modl, name, info, opts):
|
|
36
38
|
'''
|
|
37
39
|
Construct a new Type object.
|
|
@@ -369,6 +371,17 @@ class Type:
|
|
|
369
371
|
topt.update(opts)
|
|
370
372
|
return self.__class__(self.modl, self.name, self.info, topt)
|
|
371
373
|
|
|
374
|
+
async def tostorm(self, valu):
|
|
375
|
+
'''
|
|
376
|
+
Allows type-specific modifications to values to make them safe for use in the runtime.
|
|
377
|
+
|
|
378
|
+
Args:
|
|
379
|
+
valu (any): The valu to update.
|
|
380
|
+
'''
|
|
381
|
+
if self.ismutable:
|
|
382
|
+
return s_msgpack.deepcopy(valu, use_list=True)
|
|
383
|
+
return valu
|
|
384
|
+
|
|
372
385
|
def __eq__(self, othr):
|
|
373
386
|
if self.name != othr.name:
|
|
374
387
|
return False
|
|
@@ -415,6 +428,7 @@ class Bool(Type):
|
|
|
415
428
|
class Array(Type):
|
|
416
429
|
|
|
417
430
|
isarray = True
|
|
431
|
+
ismutable = True
|
|
418
432
|
|
|
419
433
|
def postTypeInit(self):
|
|
420
434
|
|
|
@@ -534,6 +548,9 @@ class Comp(Type):
|
|
|
534
548
|
|
|
535
549
|
_type = self.tcache[name]
|
|
536
550
|
|
|
551
|
+
if _type.ismutable:
|
|
552
|
+
self.ismutable = True
|
|
553
|
+
|
|
537
554
|
norm, info = _type.norm(valu[i])
|
|
538
555
|
|
|
539
556
|
subs[name] = norm
|
|
@@ -1623,6 +1640,8 @@ class TimeEdge(Edge):
|
|
|
1623
1640
|
|
|
1624
1641
|
class Data(Type):
|
|
1625
1642
|
|
|
1643
|
+
ismutable = True
|
|
1644
|
+
|
|
1626
1645
|
stortype = s_layer.STOR_TYPE_MSGP
|
|
1627
1646
|
|
|
1628
1647
|
def postTypeInit(self):
|
|
@@ -1643,6 +1662,7 @@ class Data(Type):
|
|
|
1643
1662
|
|
|
1644
1663
|
class NodeProp(Type):
|
|
1645
1664
|
|
|
1665
|
+
ismutable = True
|
|
1646
1666
|
stortype = s_layer.STOR_TYPE_MSGP
|
|
1647
1667
|
|
|
1648
1668
|
def postTypeInit(self):
|
|
@@ -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, 226, 0)
|
|
227
227
|
verstring = '.'.join([str(x) for x in version])
|
|
228
|
-
commit = '
|
|
228
|
+
commit = '90a28a430a0b2b1f8cc74af240f55bfcf717b582'
|
|
@@ -176,6 +176,9 @@ class BaseModule(s_module.CoreModule):
|
|
|
176
176
|
((None, 'refs', None), {
|
|
177
177
|
'doc': 'The source node contains a reference to the target node.'}),
|
|
178
178
|
|
|
179
|
+
((None, 'linked', None), {
|
|
180
|
+
'doc': 'The source node is linked to the target node.'}),
|
|
181
|
+
|
|
179
182
|
(('meta:source', 'seen', None), {
|
|
180
183
|
'doc': 'The meta:source observed the target node.'}),
|
|
181
184
|
|
|
@@ -1550,13 +1550,23 @@ class InetModule(s_module.CoreModule):
|
|
|
1550
1550
|
('inet:ssl:jarmsample', ('comp', {'fields': (('server', 'inet:server'), ('jarmhash', 'inet:ssl:jarmhash'))}), {
|
|
1551
1551
|
'doc': 'A JARM hash sample taken from a server.'}),
|
|
1552
1552
|
|
|
1553
|
+
('inet:service:platform:type:taxonomy', ('taxonomy', {}), {
|
|
1554
|
+
'interfaces': ('meta:taxonomy',),
|
|
1555
|
+
'doc': 'A service platform type taxonomy.'}),
|
|
1556
|
+
|
|
1553
1557
|
('inet:service:platform', ('guid', {}), {
|
|
1554
1558
|
'doc': 'A network platform which provides services.'}),
|
|
1555
1559
|
|
|
1560
|
+
('inet:service:agent', ('guid', {}), {
|
|
1561
|
+
'interfaces': ('inet:service:object',),
|
|
1562
|
+
'template': {'service:base': 'agent'},
|
|
1563
|
+
'doc': 'An instance of a deployed agent or software integration which is part of the service architecture.'}),
|
|
1564
|
+
|
|
1556
1565
|
('inet:service:app', ('guid', {}), {
|
|
1557
1566
|
'interfaces': ('inet:service:object',),
|
|
1558
1567
|
'template': {'service:base': 'application'},
|
|
1559
|
-
'
|
|
1568
|
+
'deprecated': True,
|
|
1569
|
+
'doc': 'Deprecated. Please use inet:service:agent for autonomous agents.'}),
|
|
1560
1570
|
|
|
1561
1571
|
('inet:service:instance', ('guid', {}), {
|
|
1562
1572
|
'doc': 'An instance of the platform such as Slack or Discord instances.'}),
|
|
@@ -1795,7 +1805,8 @@ class InetModule(s_module.CoreModule):
|
|
|
1795
1805
|
'doc': 'The service account which removed or decommissioned the {service:base}.'}),
|
|
1796
1806
|
|
|
1797
1807
|
('app', ('inet:service:app', {}), {
|
|
1798
|
-
'
|
|
1808
|
+
'deprecated': True,
|
|
1809
|
+
'doc': 'Deprecated. Objects are no longer scoped to an application or agent.'}),
|
|
1799
1810
|
),
|
|
1800
1811
|
}),
|
|
1801
1812
|
|
|
@@ -1816,7 +1827,11 @@ class InetModule(s_module.CoreModule):
|
|
|
1816
1827
|
'props': (
|
|
1817
1828
|
|
|
1818
1829
|
('app', ('inet:service:app', {}), {
|
|
1819
|
-
'
|
|
1830
|
+
'deprecated': True,
|
|
1831
|
+
'doc': 'Deprecated. Please use :agent / inet:service:agent.'}),
|
|
1832
|
+
|
|
1833
|
+
('agent', ('inet:service:agent', {}), {
|
|
1834
|
+
'doc': 'The service agent which performed the action potentially on behalf of an account.'}),
|
|
1820
1835
|
|
|
1821
1836
|
('time', ('time', {}), {
|
|
1822
1837
|
'doc': 'The time that the account initiated the action.'}),
|
|
@@ -1851,8 +1866,12 @@ class InetModule(s_module.CoreModule):
|
|
|
1851
1866
|
('client:host', ('it:host', {}), {
|
|
1852
1867
|
'doc': 'The client host which initiated the action.'}),
|
|
1853
1868
|
|
|
1869
|
+
('client:software', ('it:prod:softver', {}), {
|
|
1870
|
+
'doc': 'The client software used to initiate the action.'}),
|
|
1871
|
+
|
|
1854
1872
|
('client:app', ('inet:service:app', {}), {
|
|
1855
|
-
'
|
|
1873
|
+
'deprecated': True,
|
|
1874
|
+
'doc': 'Deprecated. Please use :client:software.'}),
|
|
1856
1875
|
|
|
1857
1876
|
('server', ('inet:server', {}), {
|
|
1858
1877
|
'doc': 'The network address of the server which handled the action.'}),
|
|
@@ -3698,6 +3717,8 @@ class InetModule(s_module.CoreModule):
|
|
|
3698
3717
|
'ro': True,
|
|
3699
3718
|
'doc': 'The x509 certificate sent by the client.'})
|
|
3700
3719
|
)),
|
|
3720
|
+
|
|
3721
|
+
('inet:service:platform:type:taxonomy', {}, ()),
|
|
3701
3722
|
('inet:service:platform', {}, (
|
|
3702
3723
|
|
|
3703
3724
|
('id', ('str', {'strip': True}), {
|
|
@@ -3732,6 +3753,12 @@ class InetModule(s_module.CoreModule):
|
|
|
3732
3753
|
'disp': {'hint': 'text'},
|
|
3733
3754
|
'doc': 'A description of the service platform.'}),
|
|
3734
3755
|
|
|
3756
|
+
('type', ('inet:service:platform:type:taxonomy', {}), {
|
|
3757
|
+
'doc': 'The type of service platform.'}),
|
|
3758
|
+
|
|
3759
|
+
('family', ('str', {'onespace': True, 'lower': True}), {
|
|
3760
|
+
'doc': 'A family designation for use with instanced platforms such as Slack, Discord, or Mastodon.'}),
|
|
3761
|
+
|
|
3735
3762
|
('parent', ('inet:service:platform', {}), {
|
|
3736
3763
|
'doc': 'A parent platform which owns this platform.'}),
|
|
3737
3764
|
|
|
@@ -3752,6 +3779,9 @@ class InetModule(s_module.CoreModule):
|
|
|
3752
3779
|
|
|
3753
3780
|
('provider:name', ('ou:name', {}), {
|
|
3754
3781
|
'doc': 'The name of the organization which operates the platform.'}),
|
|
3782
|
+
|
|
3783
|
+
('software', ('it:prod:softver', {}), {
|
|
3784
|
+
'doc': 'The latest known software version that the platform is running.'}),
|
|
3755
3785
|
)),
|
|
3756
3786
|
|
|
3757
3787
|
('inet:service:instance', {}, (
|
|
@@ -3791,7 +3821,8 @@ class InetModule(s_module.CoreModule):
|
|
|
3791
3821
|
'doc': 'The tenant which contains the instance.'}),
|
|
3792
3822
|
|
|
3793
3823
|
('app', ('inet:service:app', {}), {
|
|
3794
|
-
'
|
|
3824
|
+
'deprecated': True,
|
|
3825
|
+
'doc': 'Deprecated. Instances are no longer scoped to applications.'}),
|
|
3795
3826
|
)),
|
|
3796
3827
|
|
|
3797
3828
|
('inet:service:app', {}, (
|
|
@@ -3816,6 +3847,25 @@ class InetModule(s_module.CoreModule):
|
|
|
3816
3847
|
'doc': 'The name of the organization which provides the application.'}),
|
|
3817
3848
|
)),
|
|
3818
3849
|
|
|
3850
|
+
('inet:service:agent', {}, (
|
|
3851
|
+
|
|
3852
|
+
('name', ('str', {'lower': True, 'onespace': True}), {
|
|
3853
|
+
'alts': ('names',),
|
|
3854
|
+
'doc': 'The name of the service agent instance.'}),
|
|
3855
|
+
|
|
3856
|
+
('names', ('array', {'type': 'str',
|
|
3857
|
+
'typeopts': {'onespace': True, 'lower': True},
|
|
3858
|
+
'sorted': True, 'uniq': True}), {
|
|
3859
|
+
'doc': 'An array of alternate names for the service agent instance.'}),
|
|
3860
|
+
|
|
3861
|
+
('desc', ('str', {}), {
|
|
3862
|
+
'disp': {'hint': 'text'},
|
|
3863
|
+
'doc': 'A description of the deployed service agent instance.'}),
|
|
3864
|
+
|
|
3865
|
+
('software', ('it:prod:softver', {}), {
|
|
3866
|
+
'doc': 'The latest known software version running on the service agent instance.'}),
|
|
3867
|
+
)),
|
|
3868
|
+
|
|
3819
3869
|
('inet:service:account', {}, (
|
|
3820
3870
|
|
|
3821
3871
|
('user', ('inet:user', {}), {
|
|
@@ -3911,6 +3961,9 @@ class InetModule(s_module.CoreModule):
|
|
|
3911
3961
|
|
|
3912
3962
|
('inet:service:login', {}, (
|
|
3913
3963
|
|
|
3964
|
+
('url', ('inet:url', {}), {
|
|
3965
|
+
'doc': 'The URL of the login endpoint used for this login attempt.'}),
|
|
3966
|
+
|
|
3914
3967
|
('method', ('inet:service:login:method:taxonomy', {}), {
|
|
3915
3968
|
'doc': 'The type of authentication used for the login. For example "password" or "multifactor.sms".'}),
|
|
3916
3969
|
|
|
@@ -803,6 +803,9 @@ class ItModule(s_module.CoreModule):
|
|
|
803
803
|
('it:dev:repo:diff', ('guid', {}), {
|
|
804
804
|
'doc': 'A diff of a file being applied in a single commit.',
|
|
805
805
|
}),
|
|
806
|
+
('it:dev:repo:entry', ('guid', {}), {
|
|
807
|
+
'doc': 'A file included in a repository.',
|
|
808
|
+
}),
|
|
806
809
|
('it:dev:repo:issue:label', ('guid', {}), {
|
|
807
810
|
'interfaces': ('inet:service:object',),
|
|
808
811
|
'template': {'service:base': 'repository issue label'},
|
|
@@ -1119,6 +1122,10 @@ class ItModule(s_module.CoreModule):
|
|
|
1119
1122
|
'doc': 'The YARA rule is intended for use in detecting the target node.'}),
|
|
1120
1123
|
(('it:dev:repo', 'has', 'inet:url'), {
|
|
1121
1124
|
'doc': 'The repo has content hosted at the URL.'}),
|
|
1125
|
+
(('it:dev:repo:commit', 'has', 'it:dev:repo:entry'), {
|
|
1126
|
+
'doc': 'The file entry is present in the commit version of the repository.'}),
|
|
1127
|
+
(('it:log:event', 'about', None), {
|
|
1128
|
+
'doc': 'The it:log:event is about the target node.'}),
|
|
1122
1129
|
),
|
|
1123
1130
|
'forms': (
|
|
1124
1131
|
('it:hostname', {}, ()),
|
|
@@ -2001,6 +2008,17 @@ class ItModule(s_module.CoreModule):
|
|
|
2001
2008
|
'doc': 'The URL where the diff is hosted.'}),
|
|
2002
2009
|
)),
|
|
2003
2010
|
|
|
2011
|
+
('it:dev:repo:entry', {}, (
|
|
2012
|
+
|
|
2013
|
+
('repo', ('it:dev:repo', {}), {
|
|
2014
|
+
'doc': 'The repository which contains the file.'}),
|
|
2015
|
+
|
|
2016
|
+
('file', ('file:bytes', {}), {
|
|
2017
|
+
'doc': 'The file which the repository contains.'}),
|
|
2018
|
+
|
|
2019
|
+
('path', ('file:path', {}), {
|
|
2020
|
+
'doc': 'The path to the file in the repository.'}),
|
|
2021
|
+
)),
|
|
2004
2022
|
('it:dev:repo:issue', {}, (
|
|
2005
2023
|
|
|
2006
2024
|
('repo', ('it:dev:repo', {}), {
|
|
@@ -9093,3 +9093,116 @@ class CortexBasicTest(s_t_utils.SynTest):
|
|
|
9093
9093
|
async with self.getRegrCore('2.213.0-queue-authgates') as core:
|
|
9094
9094
|
self.nn(await core.getAuthGate('queue:stillhere'))
|
|
9095
9095
|
self.none(await core.getAuthGate('queue:authtest'))
|
|
9096
|
+
|
|
9097
|
+
async def test_cortex_prop_copy(self):
|
|
9098
|
+
async with self.getTestCore() as core:
|
|
9099
|
+
q = '[test:arrayprop=(ap0,) :strs=(foo, bar, baz)]'
|
|
9100
|
+
self.len(1, await core.nodes(q))
|
|
9101
|
+
|
|
9102
|
+
q = 'test:arrayprop=(ap0,) $l=:strs $r=$l.rem(baz) return(($r, $l))'
|
|
9103
|
+
valu = await core.callStorm(q)
|
|
9104
|
+
self.true(valu[0])
|
|
9105
|
+
self.sorteq(valu[1], ['foo', 'bar'])
|
|
9106
|
+
|
|
9107
|
+
# modifying the property value shouldn't update the node
|
|
9108
|
+
nodes = await core.nodes('test:arrayprop=(ap0,) $l=:strs $l.rem(baz)')
|
|
9109
|
+
self.len(1, nodes)
|
|
9110
|
+
self.sorteq(nodes[0].get('strs'), ['foo', 'bar', 'baz'])
|
|
9111
|
+
|
|
9112
|
+
data = {
|
|
9113
|
+
'str': 'strval',
|
|
9114
|
+
'int': 1,
|
|
9115
|
+
'dict': {'dictkey': 'dictval'},
|
|
9116
|
+
'list': ('listval0', 'listval1'),
|
|
9117
|
+
'tuple': ('tupleval0', 'tupleval1'),
|
|
9118
|
+
}
|
|
9119
|
+
|
|
9120
|
+
opts = {
|
|
9121
|
+
'vars': {
|
|
9122
|
+
'data': data,
|
|
9123
|
+
}
|
|
9124
|
+
}
|
|
9125
|
+
q = '''
|
|
9126
|
+
[ test:guid=(d0,)
|
|
9127
|
+
:data=$data
|
|
9128
|
+
:comp=(1, foo)
|
|
9129
|
+
:mutcomp=(foo, (1, 2, 3))
|
|
9130
|
+
]
|
|
9131
|
+
'''
|
|
9132
|
+
self.len(1, await core.nodes(q, opts=opts))
|
|
9133
|
+
|
|
9134
|
+
q = '''
|
|
9135
|
+
test:guid=(d0,)
|
|
9136
|
+
$d=:data
|
|
9137
|
+
$d.list.rem(listval0)
|
|
9138
|
+
$d.str = foo
|
|
9139
|
+
$d.int = ($d.int + 1)
|
|
9140
|
+
$d.dict.foo = bar
|
|
9141
|
+
$d.tuple.append(tupleval2)
|
|
9142
|
+
return($d)
|
|
9143
|
+
'''
|
|
9144
|
+
valu = await core.callStorm(q)
|
|
9145
|
+
self.eq(valu, {
|
|
9146
|
+
'str': 'foo',
|
|
9147
|
+
'int': 2,
|
|
9148
|
+
'dict': {'dictkey': 'dictval', 'foo': 'bar'},
|
|
9149
|
+
'list': ('listval1',),
|
|
9150
|
+
'tuple': ('tupleval0', 'tupleval1', 'tupleval2'),
|
|
9151
|
+
})
|
|
9152
|
+
|
|
9153
|
+
# modifying the property value shouldn't update the node
|
|
9154
|
+
q = '''
|
|
9155
|
+
test:guid=(d0,)
|
|
9156
|
+
$d=:data
|
|
9157
|
+
$d.dict = $lib.undef
|
|
9158
|
+
'''
|
|
9159
|
+
nodes = await core.nodes(q)
|
|
9160
|
+
self.len(1, nodes)
|
|
9161
|
+
self.eq(nodes[0].get('data')['dict'], {'dictkey': 'dictval'})
|
|
9162
|
+
|
|
9163
|
+
q = '''
|
|
9164
|
+
test:guid=(d0,)
|
|
9165
|
+
$c=:comp
|
|
9166
|
+
$c.rem((1))
|
|
9167
|
+
$m=:mutcomp
|
|
9168
|
+
$m.1.rem((3))
|
|
9169
|
+
return(($c, :comp, $m, :mutcomp))
|
|
9170
|
+
'''
|
|
9171
|
+
valu = await core.callStorm(q)
|
|
9172
|
+
self.eq(valu, (
|
|
9173
|
+
(1, 'foo'),
|
|
9174
|
+
(1, 'foo'),
|
|
9175
|
+
('foo', (1, 2)),
|
|
9176
|
+
('foo', (1, 2, 3)),
|
|
9177
|
+
))
|
|
9178
|
+
|
|
9179
|
+
# Nodeprops could have mutable types in them so make sure modifying
|
|
9180
|
+
# them doesn't cause modifications to the node
|
|
9181
|
+
q = '''
|
|
9182
|
+
$data = { test:guid=(d0,) return(:data) }
|
|
9183
|
+
[ test:str=foobar :baz=(test:guid:data, $data) ]
|
|
9184
|
+
($prop, $valu) = :baz
|
|
9185
|
+
$valu.list.rem(listval0)
|
|
9186
|
+
return((:baz, $valu))
|
|
9187
|
+
'''
|
|
9188
|
+
valu = await core.callStorm(q)
|
|
9189
|
+
|
|
9190
|
+
exp = {
|
|
9191
|
+
'str': 'strval',
|
|
9192
|
+
'int': 1,
|
|
9193
|
+
'dict': {'dictkey': 'dictval'},
|
|
9194
|
+
'list': ('listval1',),
|
|
9195
|
+
'tuple': ('tupleval0', 'tupleval1'),
|
|
9196
|
+
}
|
|
9197
|
+
|
|
9198
|
+
self.eq(valu, (('test:guid:data', data), exp))
|
|
9199
|
+
|
|
9200
|
+
# Make sure $node.props aren't modifiable either
|
|
9201
|
+
nodes = await core.nodes('test:str=foobar $node.props.baz.1.list.rem(listval0)')
|
|
9202
|
+
self.len(1, nodes)
|
|
9203
|
+
self.eq(nodes[0].get('baz'), ('test:guid:data', data))
|
|
9204
|
+
|
|
9205
|
+
# Dereferencing mutable types from $node.props should
|
|
9206
|
+
# return mutable instances without mutating the original prop valu
|
|
9207
|
+
valu = await core.callStorm('test:str=foobar ($prop, $valu) = :baz $valu.list.rem(listval0) return((:baz, $valu))')
|
|
9208
|
+
self.eq(valu, (('test:guid:data', data), exp))
|