synapse 2.221.0__tar.gz → 2.222.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.221.0/synapse.egg-info → synapse-2.222.0}/PKG-INFO +1 -1
- {synapse-2.221.0 → synapse-2.222.0}/pyproject.toml +1 -1
- {synapse-2.221.0 → synapse-2.222.0}/synapse/cortex.py +34 -14
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/lark/storm.lark +9 -6
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/ast.py +8 -2
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/layer.py +18 -11
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/parser.py +1 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/rstorm.py +19 -1
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/schemas.py +4 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/cortex.py +1 -1
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormtypes.py +18 -4
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/version.py +2 -2
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/orgs.py +3 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_grammar.py +4 -4
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_rstorm.py +55 -7
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_storm.py +74 -1
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_auth.py +84 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_cortex.py +1 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormtypes.py +25 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_orgs.py +6 -1
- {synapse-2.221.0 → synapse-2.222.0/synapse.egg-info}/PKG-INFO +1 -1
- {synapse-2.221.0 → synapse-2.222.0}/LICENSE +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/README.rst +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/setup.cfg +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/axon.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/cells.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/cmds/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/cmds/boss.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/cmds/cortex.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/cmds/hive.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/common.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/cryotank.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/daemon.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/attack-flow/LICENSE.txt +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/attack-flow/README.md +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/attack-flow/attack-flow-schema-2.0.0.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/certs/cas/The Vertex Project Intermediate CA 00.crt +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/certs/cas/The Vertex Project ROOT CA.crt +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/certs/crls/The Vertex Project Intermediate CA 00.crl +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/certs/crls/The Vertex Project ROOT CA.crl +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/iana.tlds.mpk +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/iana.uris.mpk +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/README.md +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/LICENSE.txt +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/binary.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/bundle.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/core.json +0 -0
- {synapse-2.221.0 → synapse-2.222.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.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/dictionary.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension-definition.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/external-reference.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/granular-marking.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hashes-type.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hex.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/identifier.json +0 -0
- {synapse-2.221.0 → synapse-2.222.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.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/language-content.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/marking-definition.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/properties.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/timestamp.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/url-regex.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/artifact.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/autonomous-system.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/directory.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/domain-name.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-addr.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-message.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/file.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv4-addr.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv6-addr.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mac-addr.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mutex.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/network-traffic.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/process.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/software.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/url.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/user-account.json +0 -0
- {synapse-2.221.0 → synapse-2.222.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.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/x509-certificate.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/attack-pattern.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/campaign.json +0 -0
- {synapse-2.221.0 → synapse-2.222.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.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/grouping.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/identity.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/incident.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/indicator.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/infrastructure.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/intrusion-set.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/location.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware-analysis.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/note.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/observed-data.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/opinion.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/report.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/threat-actor.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/tool.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/vulnerability.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/relationship.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/sighting.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/lark/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/data/lark/imap.lark +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/datamodel.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/exc.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/glob.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/agenda.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/aha.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/auth.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/autodoc.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/base.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/boss.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/cache.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/cell.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/certdir.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/chop.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/cli.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/cmd.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/cmdr.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/config.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/const.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/coro.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/crypto/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/crypto/coin.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/crypto/ecc.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/crypto/passwd.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/crypto/rsa.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/crypto/tinfoil.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/datfile.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/drive.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/dyndeps.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/encoding.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/gis.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/grammar.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/hashitem.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/hashset.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/health.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/hive.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/httpapi.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/ingest.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/interval.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/json.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/jsonstor.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/link.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/lmdbslab.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/modelrev.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/module.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/modules.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/msgpack.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/multislabseqn.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/nexus.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/node.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/oauth.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/output.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/platforms/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/platforms/common.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/platforms/darwin.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/platforms/freebsd.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/platforms/linux.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/platforms/windows.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/queue.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/ratelimit.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/reflect.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/scope.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/scrape.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/share.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/slaboffs.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/slabseqn.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/snap.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/spooled.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/storm.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/storm_format.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormctrl.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormhttp.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/aha.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/auth.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/backup.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/basex.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/cache.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/cell.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/compression.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/easyperm.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/env.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/ethereum.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/gen.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/gis.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/graph.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/hashes.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/hex.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/imap.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/index.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/infosec.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/ipv6.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/iters.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/json.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/log.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/macro.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/math.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/mime.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/model.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/modelext.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/notifications.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/oauth.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/pack.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/project.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/random.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/scrape.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/smtp.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/spooled.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/stats.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/stix.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/storm.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/tabular.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/utils.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/vault.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/version.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/xml.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormlib/yaml.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormsvc.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/stormwhois.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/structlog.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/task.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/thishost.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/thisplat.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/threads.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/time.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/trigger.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/types.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/urlhelp.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lib/view.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lookup/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lookup/cvss.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lookup/iana.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lookup/iso3166.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lookup/macho.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lookup/pe.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lookup/phonenum.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/lookup/timezones.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/mindmeld.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/auth.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/base.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/belief.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/biz.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/crypto.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/dns.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/doc.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/economic.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/entity.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/files.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/geopol.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/geospace.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/gov/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/gov/cn.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/gov/intl.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/gov/us.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/inet.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/infotech.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/language.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/material.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/math.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/media.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/person.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/planning.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/proj.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/risk.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/science.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/syn.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/telco.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/models/transport.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/servers/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/servers/aha.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/servers/axon.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/servers/cell.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/servers/cortex.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/servers/cryotank.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/servers/jsonstor.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/servers/stemcell.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/telepath.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/TestUtilsGetrefs.test_basics.yaml +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/aha/certs/cas/synapse.crt +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/aha/certs/cas/synapse.key +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.crt +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.key +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/aha/certs/users/root@synapse.crt +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/aha/certs/users/root@synapse.key +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/attack_flow/CISA AA22-138B VMWare Workspace (Alt).json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/attack_flow/CISA_Iranian_APT.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/certdir/cas/ca.crt +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/certdir/cas/ca.key +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/certdir/hosts/localhost.crt +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/certdir/hosts/localhost.key +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/certdir/users/root.crt +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/certdir/users/root.key +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/certdir/users/user.crt +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/certdir/users/user.key +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/changelog/model_2.176.0_16ee721a6b7221344eaf946c3ab4602dda546b1a.yaml.gz +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/changelog/model_2.176.0_2a25c58bbd344716cd7cbc3f4304d8925b0f4ef2.yaml.gz +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/cpedata.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/rstorm/httpresp1.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/rstorm/httpresp2.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/rstorm/httpresp3.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/rstorm/httprespmulti.yaml +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/rstorm/testsvc.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stix_export/basic.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stix_export/custom0.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stix_export/risk0.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stix_import/apt1.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stix_import/oasis-example-00.json +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormcov/argvquery.storm +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormcov/dupesubs.storm +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormcov/lookup.storm +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormcov/pivot.storm +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormcov/pragma-nocov.storm +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormcov/spin.storm +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormcov/stormctrl.storm +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormmod/common +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormpkg/badapidef.yaml +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormpkg/badcmdname.yaml +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormpkg/badendpoints.yaml +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormpkg/badinits.yaml +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormpkg/badjsonpkg.yaml +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormpkg/docs/foobar.md +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormpkg/docs/foobar.svg +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormpkg/dotstorm/dotstorm.yaml +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormpkg/dotstorm/storm/commands/dotstorm.bar.storm +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormpkg/dotstorm/storm/modules/dotstorm.foo.storm +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormpkg/nocontent.yaml +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormpkg/nomime.yaml +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormpkg/nopath.yaml +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormpkg/nosuchfile.yaml +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormpkg/notitle.yaml +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormpkg/optic/index.html +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormpkg/storm/commands/invalidCMD +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormpkg/storm/commands/testpkg.baz +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormpkg/storm/commands/testpkgcmd +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormpkg/storm/modules/apimod +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormpkg/storm/modules/testmod +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormpkg/testpkg.yaml +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormpkg/workflows/testpkg-bam.newp +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormpkg/workflows/testpkg-baz.yaml +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/stormpkg/workflows/testpkg-foo.yaml +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/test.dat +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/testcore/cell.yaml +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/testpkg_build_docs/docs/bar.rst +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/testpkg_build_docs/docs/foo.rst +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/testpkg_build_docs/storm/commands/testcmd.storm +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/testpkg_build_docs/storm/modules/apimod.storm +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/testpkg_build_docs/storm/modules/testmod.storm +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/testpkg_build_docs/storm/testcmd.storm +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/files/testpkg_build_docs/testpkg.yaml +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/nopmod.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_axon.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_cmds_boss.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_cmds_cortex.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_cmds_hive.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_common.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_cortex.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_cryotank.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_daemon.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_data.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_datamodel.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_exc.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_glob.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_init.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_agenda.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_aha.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_ast.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_auth.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_autodoc.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_base.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_boss.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_cache.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_cell.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_certdir.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_chop.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_cli.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_config.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_const.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_coro.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_crypto_coin.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_crypto_ecc.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_crypto_passwd.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_crypto_tinfoil.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_datfile.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_dyndeps.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_encoding.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_gis.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_hashitem.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_hashset.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_health.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_hive.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_httpapi.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_interval.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_json.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_jsonstor.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_layer.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_link.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_lmdbslab.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_modelrev.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_module.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_msgpack.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_multislabseqn.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_nexus.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_node.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_output.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_platforms_linux.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_queue.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_ratelimit.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_reflect.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_scope.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_scrape.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_slaboffs.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_slabseqn.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_snap.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_spooled.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_storm_format.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormctrl.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormhttp.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_aha.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_backup.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_basex.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_cache.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_cell.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_compression.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_easyperm.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_env.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_ethereum.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_gen.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_gis.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_hashes.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_hex.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_imap.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_index.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_infosec.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_ipv6.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_iters.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_json.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_log.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_macro.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_mime.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_model.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_modelext.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_oauth.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_pack.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_random.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_scrape.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_smtp.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_spooled.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_stats.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_stix.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_storm.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_tabular.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_utils.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_vault.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_xml.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormlib_yaml.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormsvc.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_stormwhois.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_structlog.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_task.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_thishost.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_time.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_trigger.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_types.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_urlhelp.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_version.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lib_view.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lookup_iso3166.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_lookup_phonenum.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_mindmeld.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_auth.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_base.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_belief.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_biz.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_crypto.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_dns.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_doc.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_economic.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_entity.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_files.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_geopol.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_geospace.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_gov_cn.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_gov_intl.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_gov_us.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_inet.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_infotech.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_language.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_material.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_math.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_media.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_person.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_planning.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_proj.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_risk.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_science.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_syn.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_telco.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_model_transport.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_servers_axon.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_servers_cortex.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_servers_cryotank.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_servers_stemcell.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_servers_univ.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_telepath.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_aha.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_apikey.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_autodoc.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_axon.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_axon2axon.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_backup.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_cellauth.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_changelog.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_cortex_layer.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_cryo_cat.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_cryo_list.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_csvtool.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_demote.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_docker_validate.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_easycert.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_feed.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_genpkg.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_guid.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_healthcheck.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_hiveload.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_hivesave.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_json2mpk.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_livebackup.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_modrole.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_moduser.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_pkgs_gendocs.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_promote.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_pullfile.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_pushfile.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_reload.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_rstorm.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_shutdown.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_snapshot.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_tools_storm.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_utils.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_utils_getrefs.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/test_utils_stormcov.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tests/utils.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/aha/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/aha/clone.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/aha/easycert.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/aha/enroll.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/aha/list.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/aha/mirror.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/aha/provision/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/aha/provision/service.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/aha/provision/user.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/apikey.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/autodoc.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/axon/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/axon/dump.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/axon/load.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/axon2axon.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/backup.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/cellauth.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/changelog.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/cmdr.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/cortex/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/cortex/layer/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/cortex/layer/dump.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/cortex/layer/load.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/cryo/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/cryo/cat.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/cryo/list.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/csvtool.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/demote.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/docker/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/docker/validate.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/easycert.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/feed.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/genpkg.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/guid.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/healthcheck.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/hive/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/hive/load.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/hive/save.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/json2mpk.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/livebackup.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/modrole.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/moduser.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/pkgs/gendocs.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/pkgs/pandoc_filter.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/promote.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/pullfile.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/pushfile.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/reload.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/rstorm.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/shutdown.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/snapshot.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/tools/storm.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/utils/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/utils/getrefs.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/utils/stormcov/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/utils/stormcov/plugin.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/cashaddress/LICENSE +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/cashaddress/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/cashaddress/base58.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/cashaddress/convert.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/cashaddress/crypto.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/cashaddress/tests/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/cashaddress/tests/test_cashaddress.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/cpython/LICENSE +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/cpython/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/cpython/lib/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/cpython/lib/email/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/cpython/lib/email/_parseaddr.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/cpython/lib/email/utils.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/cpython/lib/http/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/cpython/lib/http/cookies.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/cpython/lib/ipaddress.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/cpython/lib/json.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/cpython/lib/test/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/cpython/lib/test/support/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/cpython/lib/test/test_email/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/cpython/lib/test/test_email/test_email.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/cpython/lib/test/test_email/test_utils.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/cpython/lib/test/test_http_cookies.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/cpython/lib/test/test_ipaddress.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/cpython/lib/test/test_json.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/substrateinterface/LICENSE +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/substrateinterface/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/substrateinterface/tests/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/substrateinterface/tests/test_ss58.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/substrateinterface/utils/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/substrateinterface/utils/ss58.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/utils.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/xrpl/LICENSE +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/xrpl/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/xrpl/constants.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/xrpl/core/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/xrpl/core/addresscodec/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/xrpl/core/addresscodec/codec.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/xrpl/core/addresscodec/exceptions.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/xrpl/core/addresscodec/main.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/xrpl/core/addresscodec/utils.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/xrpl/tests/__init__.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/xrpl/tests/test_codec.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/xrpl/tests/test_main.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse/vendor/xrpl/tests/test_main_test_cases.py +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse.egg-info/SOURCES.txt +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse.egg-info/dependency_links.txt +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse.egg-info/requires.txt +0 -0
- {synapse-2.221.0 → synapse-2.222.0}/synapse.egg-info/top_level.txt +0 -0
|
@@ -624,7 +624,8 @@ class CoreApi(s_cell.CellApi):
|
|
|
624
624
|
Returns:
|
|
625
625
|
AsyncIterator[Tuple(buid, valu)]
|
|
626
626
|
'''
|
|
627
|
-
self.user.
|
|
627
|
+
if not self.user.allowed(('layer', 'lift', layriden)):
|
|
628
|
+
self.user.confirm(('layer', 'read', layriden))
|
|
628
629
|
async for item in self.cell.iterFormRows(layriden, form, stortype=stortype, startvalu=startvalu):
|
|
629
630
|
yield item
|
|
630
631
|
|
|
@@ -642,7 +643,8 @@ class CoreApi(s_cell.CellApi):
|
|
|
642
643
|
Returns:
|
|
643
644
|
AsyncIterator[Tuple(buid, valu)]
|
|
644
645
|
'''
|
|
645
|
-
self.user.
|
|
646
|
+
if not self.user.allowed(('layer', 'lift', layriden)):
|
|
647
|
+
self.user.confirm(('layer', 'read', layriden))
|
|
646
648
|
async for item in self.cell.iterPropRows(layriden, form, prop, stortype=stortype, startvalu=startvalu):
|
|
647
649
|
yield item
|
|
648
650
|
|
|
@@ -659,7 +661,8 @@ class CoreApi(s_cell.CellApi):
|
|
|
659
661
|
Returns:
|
|
660
662
|
AsyncIterator[Tuple(buid, valu)]
|
|
661
663
|
'''
|
|
662
|
-
self.user.
|
|
664
|
+
if not self.user.allowed(('layer', 'lift', layriden)):
|
|
665
|
+
self.user.confirm(('layer', 'read', layriden))
|
|
663
666
|
async for item in self.cell.iterUnivRows(layriden, prop, stortype=stortype, startvalu=startvalu):
|
|
664
667
|
yield item
|
|
665
668
|
|
|
@@ -680,7 +683,8 @@ class CoreApi(s_cell.CellApi):
|
|
|
680
683
|
This yields (buid, (tagvalu, form)) instead of just buid, valu in order to allow resuming an interrupted
|
|
681
684
|
call by feeding the last value retrieved into starttupl
|
|
682
685
|
'''
|
|
683
|
-
self.user.
|
|
686
|
+
if not self.user.allowed(('layer', 'lift', layriden)):
|
|
687
|
+
self.user.confirm(('layer', 'read', layriden))
|
|
684
688
|
async for item in self.cell.iterTagRows(layriden, tag, form=form, starttupl=starttupl):
|
|
685
689
|
yield item
|
|
686
690
|
|
|
@@ -699,7 +703,8 @@ class CoreApi(s_cell.CellApi):
|
|
|
699
703
|
Returns:
|
|
700
704
|
AsyncIterator[Tuple(buid, valu)]
|
|
701
705
|
'''
|
|
702
|
-
self.user.
|
|
706
|
+
if not self.user.allowed(('layer', 'lift', layriden)):
|
|
707
|
+
self.user.confirm(('layer', 'read', layriden))
|
|
703
708
|
async for item in self.cell.iterTagPropRows(layriden, tag, prop, form=form, stortype=stortype,
|
|
704
709
|
startvalu=startvalu):
|
|
705
710
|
yield item
|
|
@@ -1366,6 +1371,30 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
1366
1371
|
|
|
1367
1372
|
def _initCorePerms(self):
|
|
1368
1373
|
self._cortex_permdefs.extend((
|
|
1374
|
+
{'perm': ('axon', 'upload'), 'gate': 'cortex',
|
|
1375
|
+
'desc': 'Controls the ability to upload a file to the Axon.'},
|
|
1376
|
+
{'perm': ('axon', 'get'), 'gate': 'cortex',
|
|
1377
|
+
'desc': 'Controls the ability to retrieve a file from the Axon.'},
|
|
1378
|
+
{'perm': ('axon', 'has'), 'gate': 'cortex',
|
|
1379
|
+
'desc': 'Controls the ability to check if the Axon contains a file.'},
|
|
1380
|
+
{'perm': ('axon', 'del'), 'gate': 'cortex',
|
|
1381
|
+
'desc': 'Controls the ability to remove a file from the Axon.'},
|
|
1382
|
+
|
|
1383
|
+
{'perm': ('layer', 'add'), 'gate': 'cortex',
|
|
1384
|
+
'desc': 'Controls the ability to add Layers to the cortex.'},
|
|
1385
|
+
{'perm': ('layer', 'del'), 'gate': 'cortex',
|
|
1386
|
+
'desc': 'Controls the ability to remove Layers from the cortex.'},
|
|
1387
|
+
{'perm': ('layer', 'read'), 'gate': 'layer',
|
|
1388
|
+
'desc': 'Controls the ability to read/lift from a Layer.'},
|
|
1389
|
+
{'perm': ('layer', 'read', '<iden>'), 'gate': 'cortex',
|
|
1390
|
+
'desc': 'Controls the ability to read/lift from a specific Layer.'},
|
|
1391
|
+
{'perm': ('layer', 'set', '<name>'), 'gate': 'layer',
|
|
1392
|
+
'desc': 'Controls the ability to configure properties of a Layer.'},
|
|
1393
|
+
{'perm': ('layer', 'write'), 'gate': 'layer',
|
|
1394
|
+
'desc': 'Controls the ability to write to a Layer.'},
|
|
1395
|
+
{'perm': ('layer', 'write', '<iden>'), 'gate': 'cortex',
|
|
1396
|
+
'desc': 'Controls the ability to write to a specific Layer.'},
|
|
1397
|
+
|
|
1369
1398
|
{'perm': ('model', 'form', 'add'), 'gate': 'cortex',
|
|
1370
1399
|
'desc': 'Controls access to adding extended model forms.'},
|
|
1371
1400
|
{'perm': ('model', 'form', 'add', '<form>'), 'gate': 'cortex',
|
|
@@ -1519,15 +1548,6 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
1519
1548
|
{'perm': ('view', 'set', '<setting>'), 'gate': 'view',
|
|
1520
1549
|
'desc': 'Controls access to change view settings.',
|
|
1521
1550
|
'ex': 'view.set.name'},
|
|
1522
|
-
|
|
1523
|
-
{'perm': ('axon', 'upload'), 'gate': 'cortex',
|
|
1524
|
-
'desc': 'Controls the ability to upload a file to the Axon.'},
|
|
1525
|
-
{'perm': ('axon', 'get'), 'gate': 'cortex',
|
|
1526
|
-
'desc': 'Controls the ability to retrieve a file from the Axon.'},
|
|
1527
|
-
{'perm': ('axon', 'has'), 'gate': 'cortex',
|
|
1528
|
-
'desc': 'Controls the ability to check if the Axon contains a file.'},
|
|
1529
|
-
{'perm': ('axon', 'del'), 'gate': 'cortex',
|
|
1530
|
-
'desc': 'Controls the ability to remove a file from the Axon.'},
|
|
1531
1551
|
))
|
|
1532
1552
|
for pdef in self._cortex_permdefs:
|
|
1533
1553
|
s_schemas.reqValidPermDef(pdef)
|
|
@@ -238,10 +238,10 @@ liftreverse: _REVERSE "(" (liftformtag | liftpropby | liftprop | liftbyarray | l
|
|
|
238
238
|
|
|
239
239
|
_DEREF.3: /\*(?=\$)/
|
|
240
240
|
|
|
241
|
-
liftformtag: (
|
|
242
|
-
liftpropby: (
|
|
243
|
-
liftprop: (
|
|
244
|
-
liftbyarray: (
|
|
241
|
+
liftformtag: (PROPS | UNIVNAME | WILDPROPS | derefprops) tagname [_cmpr _valu]
|
|
242
|
+
liftpropby: (PROPS | EMBEDPROPS | UNIVNAME | derefprops) _cmpr _valu
|
|
243
|
+
liftprop: (PROPS | UNIVNAME | WILDPROPS | derefprops)
|
|
244
|
+
liftbyarray: (PROPS | EMBEDPROPS | UNIVNAME | derefprops) "*[" _safe_cmpr _valu "]"
|
|
245
245
|
lifttagtag: (_HASH | _HASHSPACE) tagname [_cmpr _valu]
|
|
246
246
|
liftbytag: (tagname | tagnamewithspace) [_cmpr _valu]
|
|
247
247
|
liftbytagprop: (tagprop | tagpropwithspace) [_cmpr _valu]
|
|
@@ -249,7 +249,7 @@ liftbyformtagprop: formtagprop [_cmpr _valu]
|
|
|
249
249
|
|
|
250
250
|
tagprop: tagname _COLONNOSPACE (BASEPROP | _varvalu)
|
|
251
251
|
tagpropwithspace: tagnamewithspace _COLONNOSPACE (BASEPROP | _varvalu) -> tagprop
|
|
252
|
-
formtagprop: (
|
|
252
|
+
formtagprop: (PROPS | UNIVNAME | WILDPROPS | derefprops) tagname _COLONNOSPACE (BASEPROP | _varvalu)
|
|
253
253
|
_COLONNOSPACE.2: /(?<!\s):/
|
|
254
254
|
|
|
255
255
|
_funcarg: (VARTOKN [EQNOSPACE _valu])
|
|
@@ -484,7 +484,7 @@ EMBEDPROPS.2: /[a-z_][a-z0-9_]*(:[a-z0-9_]+)+((\:\:|\:|\.)[a-z0-9_]+)*(?![:.a-z0
|
|
|
484
484
|
UNIVNAME.2: /(?<=^|[\s\|\{\(\[+=-])\.[a-z_][a-z0-9_]*([:.][a-z0-9_]+)*/
|
|
485
485
|
univprop: UNIVNAME | "." _varvalu
|
|
486
486
|
// A full property or a universal property
|
|
487
|
-
formname: PROPS |
|
|
487
|
+
formname: PROPS | derefprops
|
|
488
488
|
// A relative property
|
|
489
489
|
relprop: RELNAME | _COLONDOLLAR _varvaluatom
|
|
490
490
|
|
|
@@ -494,6 +494,9 @@ RELNAME: /(?<!\w):\.?[a-z_][a-z0-9_]*(?:(\:\:|\:|\.)[a-z_][a-z0-9_]*)*/
|
|
|
494
494
|
// Similar to PROPS but does not require a colon
|
|
495
495
|
BASEPROP: /[a-z_][a-z0-9_]*(?:(\:\:|\:|\.)[a-z_][a-z0-9_]*)*/
|
|
496
496
|
|
|
497
|
+
// Derefed variable for prop names
|
|
498
|
+
derefprops: _DEREF _varvalu
|
|
499
|
+
|
|
497
500
|
// The entry point for a $(...) expression. The initial dollar sign is now optional
|
|
498
501
|
_dollarexprs: "$"? dollaroper
|
|
499
502
|
|
|
@@ -2,7 +2,6 @@ import types
|
|
|
2
2
|
import asyncio
|
|
3
3
|
import decimal
|
|
4
4
|
import fnmatch
|
|
5
|
-
import hashlib
|
|
6
5
|
import logging
|
|
7
6
|
import binascii
|
|
8
7
|
import itertools
|
|
@@ -1833,7 +1832,7 @@ class LiftProp(LiftOper):
|
|
|
1833
1832
|
|
|
1834
1833
|
assert len(self.kids) == 1
|
|
1835
1834
|
|
|
1836
|
-
name = await
|
|
1835
|
+
name = await self.kids[0].compute(runt, path)
|
|
1837
1836
|
|
|
1838
1837
|
prop = runt.model.props.get(name)
|
|
1839
1838
|
if prop is not None:
|
|
@@ -4029,6 +4028,13 @@ class FormName(Value):
|
|
|
4029
4028
|
async def compute(self, runt, path):
|
|
4030
4029
|
return await self.kids[0].compute(runt, path)
|
|
4031
4030
|
|
|
4031
|
+
class DerefProps(Value):
|
|
4032
|
+
async def compute(self, runt, path):
|
|
4033
|
+
valu = await toprim(await self.kids[0].compute(runt, path))
|
|
4034
|
+
if (exc := await s_stormtypes.typeerr(valu, str)) is not None:
|
|
4035
|
+
raise self.kids[0].addExcInfo(exc)
|
|
4036
|
+
return valu
|
|
4037
|
+
|
|
4032
4038
|
class RelProp(PropName):
|
|
4033
4039
|
pass
|
|
4034
4040
|
|
|
@@ -119,6 +119,7 @@ class LayerApi(s_cell.CellApi):
|
|
|
119
119
|
|
|
120
120
|
self.layr = layr
|
|
121
121
|
self.liftperm = ('layer', 'lift', self.layr.iden)
|
|
122
|
+
self.readperm = ('layer', 'read', self.layr.iden)
|
|
122
123
|
self.writeperm = ('layer', 'write', self.layr.iden)
|
|
123
124
|
|
|
124
125
|
async def iterLayerNodeEdits(self):
|
|
@@ -126,7 +127,8 @@ class LayerApi(s_cell.CellApi):
|
|
|
126
127
|
Scan the full layer and yield artificial nodeedit sets.
|
|
127
128
|
'''
|
|
128
129
|
|
|
129
|
-
|
|
130
|
+
if not self.allowed(self.liftperm):
|
|
131
|
+
await self._reqUserAllowed(self.readperm)
|
|
130
132
|
async for item in self.layr.iterLayerNodeEdits():
|
|
131
133
|
yield item
|
|
132
134
|
await asyncio.sleep(0)
|
|
@@ -165,13 +167,15 @@ class LayerApi(s_cell.CellApi):
|
|
|
165
167
|
|
|
166
168
|
Once caught up with storage, yield them in realtime.
|
|
167
169
|
'''
|
|
168
|
-
|
|
170
|
+
if not self.allowed(self.liftperm):
|
|
171
|
+
await self._reqUserAllowed(self.readperm)
|
|
169
172
|
async for item in self.layr.syncNodeEdits(offs, wait=wait, reverse=reverse):
|
|
170
173
|
yield item
|
|
171
174
|
await asyncio.sleep(0)
|
|
172
175
|
|
|
173
176
|
async def syncNodeEdits2(self, offs, wait=True):
|
|
174
|
-
|
|
177
|
+
if not self.allowed(self.liftperm):
|
|
178
|
+
await self._reqUserAllowed(self.readperm)
|
|
175
179
|
async for item in self.layr.syncNodeEdits2(offs, wait=wait):
|
|
176
180
|
yield item
|
|
177
181
|
await asyncio.sleep(0)
|
|
@@ -180,18 +184,21 @@ class LayerApi(s_cell.CellApi):
|
|
|
180
184
|
'''
|
|
181
185
|
Returns what will be the *next* nodeedit log index.
|
|
182
186
|
'''
|
|
183
|
-
|
|
187
|
+
if not self.allowed(self.liftperm):
|
|
188
|
+
await self._reqUserAllowed(self.readperm)
|
|
184
189
|
return await self.layr.getEditIndx()
|
|
185
190
|
|
|
186
191
|
async def getEditSize(self):
|
|
187
192
|
'''
|
|
188
193
|
Return the total number of (edits, meta) pairs in the layer changelog.
|
|
189
194
|
'''
|
|
190
|
-
|
|
195
|
+
if not self.allowed(self.liftperm):
|
|
196
|
+
await self._reqUserAllowed(self.readperm)
|
|
191
197
|
return await self.layr.getEditSize()
|
|
192
198
|
|
|
193
199
|
async def getIden(self):
|
|
194
|
-
|
|
200
|
+
if not self.allowed(self.liftperm):
|
|
201
|
+
await self._reqUserAllowed(self.readperm)
|
|
195
202
|
return self.layr.iden
|
|
196
203
|
|
|
197
204
|
BUID_CACHE_SIZE = 10000
|
|
@@ -3350,7 +3357,7 @@ class Layer(s_nexus.Pusher):
|
|
|
3350
3357
|
nodeedits = [(buid, newp_formname, [set_edit])]
|
|
3351
3358
|
|
|
3352
3359
|
_, changes = await self.saveNodeEdits(nodeedits, meta)
|
|
3353
|
-
return
|
|
3360
|
+
return any(c[2] for c in changes)
|
|
3354
3361
|
|
|
3355
3362
|
async def delStorNode(self, buid, meta):
|
|
3356
3363
|
'''
|
|
@@ -3434,7 +3441,7 @@ class Layer(s_nexus.Pusher):
|
|
|
3434
3441
|
if changed: # pragma: no cover
|
|
3435
3442
|
return changed
|
|
3436
3443
|
|
|
3437
|
-
return
|
|
3444
|
+
return any(c[2] for c in changes)
|
|
3438
3445
|
|
|
3439
3446
|
for n2iden, edges in n2edges.items():
|
|
3440
3447
|
edits = [(EDIT_EDGE_DEL, edge, ()) for edge in edges]
|
|
@@ -3455,7 +3462,7 @@ class Layer(s_nexus.Pusher):
|
|
|
3455
3462
|
nodeedits = [(buid, oldp_formname, [del_edit])]
|
|
3456
3463
|
|
|
3457
3464
|
_, changes = await self.saveNodeEdits(nodeedits, meta)
|
|
3458
|
-
return
|
|
3465
|
+
return any(c[2] for c in changes)
|
|
3459
3466
|
|
|
3460
3467
|
async def delNodeData(self, buid, meta, name=None):
|
|
3461
3468
|
'''
|
|
@@ -3480,7 +3487,7 @@ class Layer(s_nexus.Pusher):
|
|
|
3480
3487
|
nodeedits = [(buid, sode.get('form'), edits)]
|
|
3481
3488
|
|
|
3482
3489
|
_, changes = await self.saveNodeEdits(nodeedits, meta)
|
|
3483
|
-
return
|
|
3490
|
+
return any(c[2] for c in changes)
|
|
3484
3491
|
|
|
3485
3492
|
async def delEdge(self, n1buid, verb, n2buid, meta):
|
|
3486
3493
|
sode = self._getStorNode(n1buid)
|
|
@@ -3497,7 +3504,7 @@ class Layer(s_nexus.Pusher):
|
|
|
3497
3504
|
nodeedits = [(n1buid, sode.get('form'), edits)]
|
|
3498
3505
|
|
|
3499
3506
|
_, changes = await self.saveNodeEdits(nodeedits, meta)
|
|
3500
|
-
return
|
|
3507
|
+
return any(c[2] for c in changes)
|
|
3501
3508
|
|
|
3502
3509
|
async def storNodeEdits(self, nodeedits, meta):
|
|
3503
3510
|
|
|
@@ -669,6 +669,7 @@ ruleClassMap = {
|
|
|
669
669
|
'condsetoper': s_ast.CondSetOper,
|
|
670
670
|
'condtrysetoper': lambda astinfo, kids: s_ast.CondSetOper(astinfo, kids, errok=True),
|
|
671
671
|
'condsubq': s_ast.SubqCond,
|
|
672
|
+
'derefprops': s_ast.DerefProps,
|
|
672
673
|
'dollarexpr': s_ast.DollarExpr,
|
|
673
674
|
'edgeaddn1': s_ast.EditEdgeAdd,
|
|
674
675
|
'edgedeln1': s_ast.EditEdgeDel,
|
|
@@ -344,6 +344,7 @@ class StormRst(s_base.Base):
|
|
|
344
344
|
'storm-cortex': self._handleStormCortex,
|
|
345
345
|
'storm-envvar': self._handleStormEnvVar,
|
|
346
346
|
'storm-expect': self._handleStormExpect,
|
|
347
|
+
'storm-python-path': self._handlePythonPath,
|
|
347
348
|
'storm-multiline': self._handleStormMultiline,
|
|
348
349
|
'storm-mock-http': self._handleStormMockHttp,
|
|
349
350
|
'storm-vcr-opts': self._handleStormVcrOpts,
|
|
@@ -374,6 +375,22 @@ class StormRst(s_base.Base):
|
|
|
374
375
|
raise s_exc.NoSuchName(mesg=f'The {directive} directive is not supported', directive=directive)
|
|
375
376
|
return handler
|
|
376
377
|
|
|
378
|
+
async def _handlePythonPath(self, text):
|
|
379
|
+
'''
|
|
380
|
+
Add the text to sys.path.
|
|
381
|
+
|
|
382
|
+
Args:
|
|
383
|
+
text: The path to add.
|
|
384
|
+
'''
|
|
385
|
+
if not os.path.isdir(text):
|
|
386
|
+
raise s_exc.NoSuchDir(mesg=f'The path {text} is not a directory', path=text)
|
|
387
|
+
if text not in sys.path:
|
|
388
|
+
logger.debug(f'Inserting {text} into sys.path')
|
|
389
|
+
sys.path.insert(0, text)
|
|
390
|
+
def onfini():
|
|
391
|
+
sys.path.remove(text)
|
|
392
|
+
self.onfini(onfini)
|
|
393
|
+
|
|
377
394
|
async def _handleStorm(self, text):
|
|
378
395
|
'''
|
|
379
396
|
Run a Storm command and generate text from the output.
|
|
@@ -618,7 +635,8 @@ class StormRst(s_base.Base):
|
|
|
618
635
|
query = query.replace('--fail-ok', '')
|
|
619
636
|
query = query.strip()
|
|
620
637
|
|
|
621
|
-
env =
|
|
638
|
+
env = dict(os.environ)
|
|
639
|
+
env.update(self.context.get('shell-env', {}))
|
|
622
640
|
|
|
623
641
|
stderr = None
|
|
624
642
|
if opts.include_stderr:
|
|
@@ -816,6 +816,10 @@ _reqValidPkgdefSchema = {
|
|
|
816
816
|
'items': {'type': 'array',
|
|
817
817
|
'items': {'type': 'string'}},
|
|
818
818
|
},
|
|
819
|
+
'asroot:ondeny:import': {
|
|
820
|
+
'type': 'string',
|
|
821
|
+
'enum': ['allow', 'warn', 'deny'],
|
|
822
|
+
},
|
|
819
823
|
},
|
|
820
824
|
'additionalProperties': True,
|
|
821
825
|
'required': ['name', 'storm']
|
|
@@ -1029,7 +1029,7 @@ class HttpReq(s_stormtypes.StormType):
|
|
|
1029
1029
|
if not isinstance(body, bytes):
|
|
1030
1030
|
body = await s_stormtypes.toprim(body)
|
|
1031
1031
|
body = s_json.dumps(body)
|
|
1032
|
-
headers['Content-Type'] = 'application/json; charset=utf8
|
|
1032
|
+
headers['Content-Type'] = 'application/json; charset=utf8'
|
|
1033
1033
|
headers['Content-Length'] = len(body)
|
|
1034
1034
|
|
|
1035
1035
|
await self._methSendCode(code)
|
|
@@ -1595,8 +1595,16 @@ class LibBase(Lib):
|
|
|
1595
1595
|
|
|
1596
1596
|
if not asroot:
|
|
1597
1597
|
permtext = ' or '.join(('.'.join(p) for p in rootperms))
|
|
1598
|
-
|
|
1599
|
-
|
|
1598
|
+
|
|
1599
|
+
match mdef.get('asroot:ondeny:import', 'deny'):
|
|
1600
|
+
case 'allow':
|
|
1601
|
+
pass
|
|
1602
|
+
case 'warn':
|
|
1603
|
+
mesg = f'Module ({name}) permissions will not be elevated. Missing permission: {permtext}.'
|
|
1604
|
+
await self.runt.warnonce(mesg, log=False)
|
|
1605
|
+
case _:
|
|
1606
|
+
mesg = f'Module ({name}) requires permission: {permtext}'
|
|
1607
|
+
raise s_exc.AuthDeny(mesg=mesg, user=self.runt.user.iden, username=self.runt.user.name)
|
|
1600
1608
|
|
|
1601
1609
|
else:
|
|
1602
1610
|
perm = ('storm', 'asroot', 'mod') + tuple(name.split('.'))
|
|
@@ -7837,7 +7845,8 @@ class Layer(Prim):
|
|
|
7837
7845
|
|
|
7838
7846
|
layr = self.runt.snap.core.reqLayer(self.valu.get('iden'))
|
|
7839
7847
|
|
|
7840
|
-
self.runt.
|
|
7848
|
+
if not self.runt.allowed(('layer', 'edits', 'read'), gateiden=layr.iden):
|
|
7849
|
+
self.runt.confirm(('layer', 'read'), gateiden=layr.iden)
|
|
7841
7850
|
|
|
7842
7851
|
if reverse:
|
|
7843
7852
|
wait = False
|
|
@@ -10439,5 +10448,10 @@ async def totype(valu, basetypes=False) -> str:
|
|
|
10439
10448
|
async def typeerr(name, reqt):
|
|
10440
10449
|
if not isinstance(name, reqt):
|
|
10441
10450
|
styp = await totype(name, basetypes=True)
|
|
10442
|
-
|
|
10451
|
+
|
|
10452
|
+
reqtname = str(reqt)
|
|
10453
|
+
if (clsname := getattr(reqt, '__name__')):
|
|
10454
|
+
reqtname = clsname
|
|
10455
|
+
|
|
10456
|
+
mesg = f"Expected value of type '{reqtname}', got '{styp}' with value {name}."
|
|
10443
10457
|
return s_exc.StormRuntimeError(mesg=mesg, name=name, type=styp)
|
|
@@ -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, 222, 0)
|
|
227
227
|
verstring = '.'.join([str(x) for x in version])
|
|
228
|
-
commit = '
|
|
228
|
+
commit = '1ab0342cfb8272e9f9a629f1755b0e33b78b78b3'
|
|
@@ -729,6 +729,9 @@ class OuModule(s_module.CoreModule):
|
|
|
729
729
|
|
|
730
730
|
('ext:id', ('str', {'strip': True}), {
|
|
731
731
|
'doc': 'An external identifier for the technique.'}),
|
|
732
|
+
|
|
733
|
+
('parent', ('ou:technique', {}), {
|
|
734
|
+
'doc': 'The parent technique for the technique.'}),
|
|
732
735
|
)),
|
|
733
736
|
('ou:technique:taxonomy', {}, ()),
|
|
734
737
|
('ou:orgtype', {}, ()),
|
|
@@ -1267,7 +1267,7 @@ _ParseResults = [
|
|
|
1267
1267
|
'Query: [EditTagPropDel: [TagProp: [TagName: [Const: baz, Const: faz], Const: lol]]]',
|
|
1268
1268
|
'Query: [EditTagPropSet: [TagProp: [TagName: [Const: baz, Const: faz], Const: lol], Const: =, Const: 20]]',
|
|
1269
1269
|
'Query: [LiftTagProp: [TagProp: [TagName: [Const: tag], Const: somegeoloctypebecauseihatelife], Const: near=, List: [VarValue: [Const: lat], VarValue: [Const: long]]]]',
|
|
1270
|
-
'Query: [LiftPropBy: [VarValue: [Const: foo], Const: near=, Const: 20]]',
|
|
1270
|
+
'Query: [LiftPropBy: [DerefProps: [VarValue: [Const: foo]], Const: near=, Const: 20]]',
|
|
1271
1271
|
'Query: [EditNodeAdd: [FormName: [Const: test:str], Const: =, VarDeref: [VarDeref: [VarDeref: [VarDeref: [VarDeref: [VarValue: [Const: foo], Const: woot], Const: var], VarValue: [Const: bar]], Const: mar], VarValue: [Const: car]]]]',
|
|
1272
1272
|
'Query: [LiftPropBy: [Const: test:str, Const: =, VarDeref: [VarDeref: [VarValue: [Const: foo], VarValue: [Const: space key]], Const: subkey]]]',
|
|
1273
1273
|
'Query: [ForLoop: [Const: iterkey, VarDeref: [VarDeref: [VarValue: [Const: foo], VarValue: [Const: bar key]], VarValue: [Const: biz key]], SubQuery: [Query: [LiftPropBy: [Const: inet:ipv4, Const: =, VarDeref: [VarDeref: [VarDeref: [VarValue: [Const: foo], VarValue: [Const: bar key]], VarValue: [Const: biz key]], VarValue: [Const: iterkey]]]]]]]',
|
|
@@ -1337,11 +1337,11 @@ _ParseResults = [
|
|
|
1337
1337
|
'Query: [VarEvalOper: [FuncCall: [VarDeref: [VarValue: [Const: lib], Const: print], CallArgs: [DollarExpr: [FuncCall: [VarDeref: [DollarExpr: [RelPropValue: [Const: prop]], Const: upper], CallArgs: [], CallKwargs: []]]], CallKwargs: []]]]',
|
|
1338
1338
|
'Query: [VarEvalOper: [FuncCall: [VarDeref: [VarValue: [Const: lib], Const: print], CallArgs: [VarDeref: [DollarExpr: [ExprDict: [Const: unicode, Const: 1]], DollarExpr: [RelPropValue: [Const: prop]]]], CallKwargs: []]]]',
|
|
1339
1339
|
'Query: [VarEvalOper: [FuncCall: [VarDeref: [VarValue: [Const: lib], Const: print], CallArgs: [DollarExpr: [ExprNode: [VarDeref: [DollarExpr: [ExprDict: [Const: unicode, Const: 1]], DollarExpr: [RelPropValue: [Const: prop]]], Const: +, DollarExpr: [Const: 2]]]], CallKwargs: []]]]',
|
|
1340
|
-
'Query: [LiftFormTag: [VarValue: [Const: form], TagName: [VarValue: [Const: tag]]]]',
|
|
1341
|
-
'Query: [LiftFormTagProp: [FormTagProp: [VarValue: [Const: form], TagName: [VarValue: [Const: tag]], VarValue: [Const: prop]]]]',
|
|
1340
|
+
'Query: [LiftFormTag: [DerefProps: [VarValue: [Const: form]], TagName: [VarValue: [Const: tag]]]]',
|
|
1341
|
+
'Query: [LiftFormTagProp: [FormTagProp: [DerefProps: [VarValue: [Const: form]], TagName: [VarValue: [Const: tag]], VarValue: [Const: prop]]]]',
|
|
1342
1342
|
'Query: [LiftProp: [Const: inet:ipv4]]',
|
|
1343
1343
|
'Query: [LiftPropBy: [Const: inet:ipv4, Const: =, Const: 1.2.3.4]]',
|
|
1344
|
-
'Query: [LiftPropBy: [VarValue: [Const: form], Const: =, VarValue: [Const: valu]]]',
|
|
1344
|
+
'Query: [LiftPropBy: [DerefProps: [VarValue: [Const: form]], Const: =, VarValue: [Const: valu]]]',
|
|
1345
1345
|
'Query: [LiftPropBy: [Const: test:str, Const: =, Const: foobar], FormPivot: [Const: inet:dns*], isjoin=False]',
|
|
1346
1346
|
'Query: [LiftPropBy: [Const: test:str, Const: =, Const: foobar], FormPivot: [Const: inet:dns:*], isjoin=False]',
|
|
1347
1347
|
'Query: [LiftPropBy: [Const: test:str, Const: =, Const: foobar], FormPivot: [List: [Const: meta:source, Const: inet:dns:a]], isjoin=False]',
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import os
|
|
2
|
+
import sys
|
|
2
3
|
|
|
3
4
|
import vcr
|
|
4
5
|
|
|
@@ -226,10 +227,10 @@ Bye!
|
|
|
226
227
|
shell_input00 = '''
|
|
227
228
|
Shell with environment variable.
|
|
228
229
|
|
|
229
|
-
.. shell-env::
|
|
230
|
-
.. shell:: python3 -c "import os; print('
|
|
230
|
+
.. shell-env:: SYN_HEHE_HAHA=BEEP SYN_FOO=BAR
|
|
231
|
+
.. shell:: python3 -c "import os; print('HEHE_HAHA', os.environ.get('SYN_HEHE_HAHA')); print('FOO', os.environ.get('SYN_FOO'))"
|
|
231
232
|
.. shell-env::
|
|
232
|
-
.. shell:: python3 -c "import os; print('
|
|
233
|
+
.. shell:: python3 -c "import os; print('HEHE_HAHA', os.environ.get('SYN_HEHE_HAHA')); print('FOO', os.environ.get('SYN_FOO'))"
|
|
233
234
|
'''
|
|
234
235
|
|
|
235
236
|
shell_output00 = '''
|
|
@@ -237,17 +238,17 @@ Shell with environment variable.
|
|
|
237
238
|
|
|
238
239
|
::
|
|
239
240
|
|
|
240
|
-
python3 -c "import os; print('
|
|
241
|
+
python3 -c "import os; print('HEHE_HAHA', os.environ.get('SYN_HEHE_HAHA')); print('FOO', os.environ.get('SYN_FOO'))"
|
|
241
242
|
|
|
242
|
-
|
|
243
|
+
HEHE_HAHA BEEP
|
|
243
244
|
FOO BAR
|
|
244
245
|
|
|
245
246
|
|
|
246
247
|
::
|
|
247
248
|
|
|
248
|
-
python3 -c "import os; print('
|
|
249
|
+
python3 -c "import os; print('HEHE_HAHA', os.environ.get('SYN_HEHE_HAHA')); print('FOO', os.environ.get('SYN_FOO'))"
|
|
249
250
|
|
|
250
|
-
|
|
251
|
+
HEHE_HAHA None
|
|
251
252
|
FOO None
|
|
252
253
|
|
|
253
254
|
|
|
@@ -776,3 +777,50 @@ class RStormLibTest(s_test.SynTest):
|
|
|
776
777
|
fd.write(fix_input_for_cli(fail02).encode())
|
|
777
778
|
with self.raises(s_exc.StormRuntimeError):
|
|
778
779
|
await get_rst_text(path)
|
|
780
|
+
|
|
781
|
+
async def test_rstorm_python_path(self):
|
|
782
|
+
content = '''#comment
|
|
783
|
+
import synapse.lib.cell as s_cell
|
|
784
|
+
import synapse.lib.stormsvc as s_stormsvc
|
|
785
|
+
|
|
786
|
+
class SomeApi(s_stormsvc.StormSvc, s_cell.CellApi):
|
|
787
|
+
_storm_svc_name = 'someservice'
|
|
788
|
+
_storm_svc_vers = '0.1.0',
|
|
789
|
+
_storm_svc_pkgs = ()
|
|
790
|
+
|
|
791
|
+
class SomeService(s_cell.Cell):
|
|
792
|
+
cellapi = SomeApi
|
|
793
|
+
'''
|
|
794
|
+
with self.getTestDir() as dirn:
|
|
795
|
+
with s_common.genfile(dirn, 'somefile.py') as fd:
|
|
796
|
+
fd.write(content.encode())
|
|
797
|
+
pythonpath_rst_in = f'''
|
|
798
|
+
.. storm-cortex:: default
|
|
799
|
+
.. storm-python-path:: {dirn}
|
|
800
|
+
.. storm-svc:: somefile.SomeService fooservice {{"https:port": 0}}
|
|
801
|
+
.. storm:: service.list
|
|
802
|
+
|
|
803
|
+
hello world
|
|
804
|
+
'''
|
|
805
|
+
rst_path = s_common.genpath(dirn, 'test.rst')
|
|
806
|
+
|
|
807
|
+
with s_common.genfile(rst_path) as fd:
|
|
808
|
+
fd.write(pythonpath_rst_in.encode())
|
|
809
|
+
|
|
810
|
+
pythonpath_rst_out = await get_rst_text(rst_path)
|
|
811
|
+
self.notin('storm-python-path', pythonpath_rst_out)
|
|
812
|
+
self.isin('(fooservice) (someservice @ 0.1.0)', pythonpath_rst_out)
|
|
813
|
+
self.isin('hello world', pythonpath_rst_out)
|
|
814
|
+
# Fini handler cleaned up the path manipulation
|
|
815
|
+
self.notin(dirn, sys.path)
|
|
816
|
+
|
|
817
|
+
# Sad path
|
|
818
|
+
pythonpath_rst_in = f'''
|
|
819
|
+
.. storm-python-path:: {dirn}/{s_common.guid()}
|
|
820
|
+
hello world
|
|
821
|
+
'''
|
|
822
|
+
rst_path = s_common.genpath(dirn, 'test.rst')
|
|
823
|
+
with s_common.genfile(rst_path) as fd:
|
|
824
|
+
fd.write(pythonpath_rst_in.encode())
|
|
825
|
+
with self.raises(s_exc.NoSuchDir):
|
|
826
|
+
await get_rst_text(rst_path)
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import copy
|
|
2
2
|
import asyncio
|
|
3
|
-
import datetime
|
|
4
3
|
import itertools
|
|
5
4
|
import urllib.parse as u_parse
|
|
6
5
|
import unittest.mock as mock
|
|
@@ -17,6 +16,7 @@ import synapse.lib.storm as s_storm
|
|
|
17
16
|
import synapse.lib.httpapi as s_httpapi
|
|
18
17
|
import synapse.lib.msgpack as s_msgpack
|
|
19
18
|
import synapse.lib.version as s_version
|
|
19
|
+
import synapse.lib.stormtypes as s_stormtypes
|
|
20
20
|
|
|
21
21
|
import synapse.tests.utils as s_t_utils
|
|
22
22
|
from synapse.tests.utils import alist
|
|
@@ -4874,6 +4874,79 @@ class StormTest(s_t_utils.SynTest):
|
|
|
4874
4874
|
self.len(1, links)
|
|
4875
4875
|
self.eq({'type': 'runtime'}, links[0][1])
|
|
4876
4876
|
|
|
4877
|
+
async def test_storm_derefprops(self):
|
|
4878
|
+
async with self.getTestCore() as core:
|
|
4879
|
+
await core.addTagProp('score', ('int', {}), {})
|
|
4880
|
+
|
|
4881
|
+
mesg = "Expected value of type 'str', got '"
|
|
4882
|
+
|
|
4883
|
+
# editnodeadd
|
|
4884
|
+
msgs = await core.stormlist('$form = inet:fqdn [ *$form=foobar.com ]')
|
|
4885
|
+
self.stormHasNoWarnErr(msgs)
|
|
4886
|
+
|
|
4887
|
+
invals = [10, None, False, [], {}]
|
|
4888
|
+
|
|
4889
|
+
for inval in invals:
|
|
4890
|
+
opts = {'vars': {'form': inval}}
|
|
4891
|
+
with self.raises(s_exc.StormRuntimeError) as exc:
|
|
4892
|
+
await core.nodes('[ *$form=valu ]', opts=opts)
|
|
4893
|
+
self.true(exc.exception.get('mesg').startswith(mesg))
|
|
4894
|
+
|
|
4895
|
+
# liftprop
|
|
4896
|
+
msgs = await core.stormlist('$form = inet:fqdn *$form')
|
|
4897
|
+
self.stormHasNoWarnErr(msgs)
|
|
4898
|
+
|
|
4899
|
+
for inval in invals:
|
|
4900
|
+
opts = {'vars': {'form': inval}}
|
|
4901
|
+
with self.raises(s_exc.StormRuntimeError) as exc:
|
|
4902
|
+
await core.nodes('*$form', opts=opts)
|
|
4903
|
+
self.true(exc.exception.get('mesg').startswith(mesg))
|
|
4904
|
+
|
|
4905
|
+
# liftpropby
|
|
4906
|
+
msgs = await core.stormlist('$form = inet:fqdn *$form=foobar.com')
|
|
4907
|
+
self.stormHasNoWarnErr(msgs)
|
|
4908
|
+
|
|
4909
|
+
for inval in invals:
|
|
4910
|
+
opts = {'vars': {'form': inval}}
|
|
4911
|
+
with self.raises(s_exc.StormRuntimeError) as exc:
|
|
4912
|
+
await core.nodes('*$form=newp', opts=opts)
|
|
4913
|
+
self.true(exc.exception.get('mesg').startswith(mesg))
|
|
4914
|
+
|
|
4915
|
+
# liftformtag
|
|
4916
|
+
msgs = await core.stormlist('$form = inet:fqdn *$form#foo')
|
|
4917
|
+
self.stormHasNoWarnErr(msgs)
|
|
4918
|
+
|
|
4919
|
+
for inval in invals:
|
|
4920
|
+
opts = {'vars': {'form': inval}}
|
|
4921
|
+
with self.raises(s_exc.StormRuntimeError) as exc:
|
|
4922
|
+
await core.nodes('*$form#newp', opts=opts)
|
|
4923
|
+
self.true(exc.exception.get('mesg').startswith(mesg))
|
|
4924
|
+
|
|
4925
|
+
# liftbyarray
|
|
4926
|
+
msgs = await core.stormlist('$form = test:arrayform *$form*[=(10)]')
|
|
4927
|
+
self.stormHasNoWarnErr(msgs)
|
|
4928
|
+
|
|
4929
|
+
for inval in invals:
|
|
4930
|
+
opts = {'vars': {'form': inval}}
|
|
4931
|
+
with self.raises(s_exc.StormRuntimeError) as exc:
|
|
4932
|
+
await core.nodes('*$form*[="newp"]', opts=opts)
|
|
4933
|
+
self.true(exc.exception.get('mesg').startswith(mesg))
|
|
4934
|
+
|
|
4935
|
+
# formtagprop
|
|
4936
|
+
msgs = await core.stormlist('$form = inet:fqdn *$form#foo:score')
|
|
4937
|
+
self.stormHasNoWarnErr(msgs)
|
|
4938
|
+
|
|
4939
|
+
for inval in invals:
|
|
4940
|
+
opts = {'vars': {'form': inval}}
|
|
4941
|
+
with self.raises(s_exc.StormRuntimeError) as exc:
|
|
4942
|
+
await core.nodes('*$form#newp:score', opts=opts)
|
|
4943
|
+
self.true(exc.exception.get('mesg').startswith(mesg))
|
|
4944
|
+
|
|
4945
|
+
# Check Storm Str types
|
|
4946
|
+
name = s_stormtypes.Str('inet:fqdn')
|
|
4947
|
+
msgs = await core.stormlist('*$form', opts={'vars': {'form': name}})
|
|
4948
|
+
self.stormHasNoWarnErr(msgs)
|
|
4949
|
+
|
|
4877
4950
|
async def test_storm_nested_root(self):
|
|
4878
4951
|
async with self.getTestCore() as core:
|
|
4879
4952
|
self.eq(20, await core.callStorm('''
|