synapse 2.192.0__tar.gz → 2.193.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.192.0/synapse.egg-info → synapse-2.193.0}/PKG-INFO +2 -2
- {synapse-2.192.0 → synapse-2.193.0}/pyproject.toml +2 -2
- {synapse-2.192.0 → synapse-2.193.0}/synapse/common.py +15 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/cortex.py +16 -18
- {synapse-2.192.0 → synapse-2.193.0}/synapse/exc.py +6 -1
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/agenda.py +0 -2
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/ast.py +25 -11
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/cell.py +31 -85
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/cli.py +20 -11
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/parser.py +1 -1
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/snap.py +4 -4
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/storm.py +34 -17
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/json.py +5 -2
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormtypes.py +19 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/version.py +2 -2
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/inet.py +17 -1
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/infotech.py +14 -4
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/risk.py +16 -2
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_cortex.py +3 -3
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_exc.py +3 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_agenda.py +157 -1
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_ast.py +43 -1
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_cell.py +71 -1
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_storm.py +72 -30
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_json.py +20 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_scrape.py +2 -2
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_inet.py +40 -5
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_risk.py +2 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_storm.py +95 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_utils_getrefs.py +1 -1
- {synapse-2.192.0 → synapse-2.193.0}/synapse/utils/getrefs.py +14 -3
- synapse-2.193.0/synapse/vendor/cpython/lib/http/cookies.py +59 -0
- synapse-2.193.0/synapse/vendor/cpython/lib/test/test_http_cookies.py +49 -0
- synapse-2.193.0/synapse/vendor/xrpl/tests/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0/synapse.egg-info}/PKG-INFO +2 -2
- {synapse-2.192.0 → synapse-2.193.0}/synapse.egg-info/SOURCES.txt +3 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse.egg-info/requires.txt +1 -1
- {synapse-2.192.0 → synapse-2.193.0}/LICENSE +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/README.rst +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/setup.cfg +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/axon.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/cells.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/cmds/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/cmds/boss.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/cmds/cortex.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/cmds/hive.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/cryotank.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/daemon.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/attack-flow/LICENSE.txt +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/attack-flow/README.md +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/attack-flow/attack-flow-schema-2.0.0.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/certs/cas/The Vertex Project Intermediate CA 00.crt +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/certs/cas/The Vertex Project ROOT CA.crt +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/certs/crls/The Vertex Project Intermediate CA 00.crl +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/certs/crls/The Vertex Project ROOT CA.crl +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/iana.tlds.mpk +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/README.md +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/LICENSE.txt +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/binary.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/bundle.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/core.json +0 -0
- {synapse-2.192.0 → synapse-2.193.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.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/dictionary.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension-definition.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/external-reference.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/granular-marking.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hashes-type.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hex.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/identifier.json +0 -0
- {synapse-2.192.0 → synapse-2.193.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.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/language-content.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/marking-definition.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/properties.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/timestamp.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/url-regex.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/artifact.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/autonomous-system.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/directory.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/domain-name.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-addr.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-message.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/file.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv4-addr.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv6-addr.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mac-addr.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mutex.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/network-traffic.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/process.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/software.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/url.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/user-account.json +0 -0
- {synapse-2.192.0 → synapse-2.193.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.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/x509-certificate.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/attack-pattern.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/campaign.json +0 -0
- {synapse-2.192.0 → synapse-2.193.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.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/grouping.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/identity.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/incident.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/indicator.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/infrastructure.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/intrusion-set.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/location.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware-analysis.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/note.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/observed-data.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/opinion.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/report.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/threat-actor.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/tool.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/vulnerability.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/relationship.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/sighting.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/datamodel.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/glob.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/aha.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/auth.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/autodoc.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/base.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/boss.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/cache.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/certdir.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/chop.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/cmd.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/cmdr.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/config.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/const.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/coro.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/crypto/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/crypto/coin.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/crypto/ecc.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/crypto/passwd.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/crypto/rsa.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/crypto/tinfoil.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/datfile.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/drive.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/dyndeps.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/encoding.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/gis.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/grammar.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/hashitem.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/hashset.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/health.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/hive.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/hiveauth.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/httpapi.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/ingest.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/interval.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/jsonstor.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/layer.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/link.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/lmdbslab.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/modelrev.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/module.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/modules.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/msgpack.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/multislabseqn.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/nexus.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/node.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/oauth.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/output.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/platforms/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/platforms/common.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/platforms/darwin.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/platforms/freebsd.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/platforms/linux.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/platforms/windows.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/queue.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/ratelimit.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/reflect.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/rstorm.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/schemas.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/scope.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/scrape.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/share.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/slaboffs.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/slabseqn.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/spooled.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/storm.lark +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/storm_format.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormctrl.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormhttp.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/aha.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/auth.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/backup.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/basex.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/cache.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/cell.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/compression.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/cortex.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/easyperm.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/env.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/ethereum.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/gen.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/gis.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/graph.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/hashes.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/hex.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/imap.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/infosec.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/ipv6.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/iters.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/log.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/macro.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/math.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/mime.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/model.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/modelext.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/notifications.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/oauth.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/pack.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/project.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/random.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/scrape.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/smtp.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/spooled.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/stats.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/stix.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/storm.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/tabular.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/vault.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/version.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/xml.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormlib/yaml.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormsvc.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/stormwhois.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/structlog.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/task.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/thishost.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/thisplat.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/threads.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/time.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/trigger.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/types.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/urlhelp.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lib/view.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lookup/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lookup/cvss.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lookup/iana.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lookup/iso3166.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lookup/macho.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lookup/pe.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lookup/phonenum.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/lookup/timezones.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/mindmeld.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/auth.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/base.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/belief.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/biz.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/crypto.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/dns.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/doc.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/economic.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/entity.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/files.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/geopol.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/geospace.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/gov/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/gov/cn.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/gov/intl.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/gov/us.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/language.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/material.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/math.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/media.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/orgs.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/person.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/planning.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/proj.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/science.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/syn.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/telco.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/models/transport.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/servers/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/servers/aha.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/servers/axon.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/servers/cell.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/servers/cortex.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/servers/cryotank.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/servers/jsonstor.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/servers/stemcell.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/telepath.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/TestUtilsGetrefs.test_basics.yaml +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/aha/certs/cas/synapse.crt +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/aha/certs/cas/synapse.key +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.crt +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.key +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/aha/certs/users/root@synapse.crt +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/aha/certs/users/root@synapse.key +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/attack_flow/CISA AA22-138B VMWare Workspace (Alt).json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/attack_flow/CISA_Iranian_APT.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/certdir/cas/ca.crt +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/certdir/cas/ca.key +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/certdir/hosts/localhost.crt +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/certdir/hosts/localhost.key +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/certdir/users/root.crt +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/certdir/users/root.key +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/certdir/users/user.crt +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/certdir/users/user.key +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/changelog/model_2.176.0_16ee721a6b7221344eaf946c3ab4602dda546b1a.yaml.gz +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/changelog/model_2.176.0_2a25c58bbd344716cd7cbc3f4304d8925b0f4ef2.yaml.gz +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/cpedata.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/rstorm/httpresp1.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/rstorm/httpresp2.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/rstorm/httpresp3.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/rstorm/httprespmulti.yaml +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/rstorm/testsvc.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stix_export/basic.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stix_export/custom0.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stix_export/risk0.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stix_import/apt1.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stix_import/oasis-example-00.json +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormcov/argvquery.storm +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormcov/dupesubs.storm +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormcov/lookup.storm +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormcov/pivot.storm +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormcov/pragma-nocov.storm +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormcov/spin.storm +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormcov/stormctrl.storm +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormmod/common +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormpkg/badapidef.yaml +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormpkg/badcmdname.yaml +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormpkg/badjsonpkg.yaml +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormpkg/docs/foobar.md +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormpkg/docs/foobar.svg +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormpkg/dotstorm/dotstorm.yaml +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormpkg/dotstorm/storm/commands/dotstorm.bar.storm +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormpkg/dotstorm/storm/modules/dotstorm.foo.storm +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormpkg/nocontent.yaml +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormpkg/nomime.yaml +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormpkg/nopath.yaml +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormpkg/nosuchfile.yaml +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormpkg/notitle.yaml +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormpkg/optic/index.html +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormpkg/storm/commands/invalidCMD +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormpkg/storm/commands/testpkg.baz +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormpkg/storm/commands/testpkgcmd +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormpkg/storm/modules/apimod +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormpkg/storm/modules/testmod +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormpkg/testpkg.yaml +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormpkg/workflows/testpkg-bam.newp +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormpkg/workflows/testpkg-baz.yaml +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/stormpkg/workflows/testpkg-foo.yaml +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/test.dat +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/files/testcore/cell.yaml +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/nopmod.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_axon.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_cmds_boss.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_cmds_cortex.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_cmds_hive.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_common.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_cryotank.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_daemon.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_data.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_datamodel.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_glob.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_init.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_aha.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_auth.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_autodoc.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_base.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_boss.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_cache.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_certdir.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_chop.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_cli.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_config.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_const.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_coro.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_crypto_coin.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_crypto_ecc.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_crypto_passwd.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_crypto_tinfoil.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_datfile.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_dyndeps.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_encoding.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_gis.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_grammar.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_hashitem.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_hashset.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_health.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_hive.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_httpapi.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_interval.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_jsonstor.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_layer.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_link.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_lmdbslab.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_modelrev.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_module.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_msgpack.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_multislabseqn.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_nexus.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_node.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_output.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_platforms_linux.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_queue.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_ratelimit.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_reflect.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_rstorm.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_scope.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_scrape.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_slaboffs.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_slabseqn.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_snap.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_spooled.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_storm_format.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormhttp.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_aha.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_auth.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_backup.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_basex.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_cache.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_cell.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_compression.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_cortex.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_easyperm.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_env.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_ethereum.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_gen.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_gis.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_hashes.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_hex.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_imap.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_infosec.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_ipv6.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_iters.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_log.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_macro.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_mime.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_model.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_modelext.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_oauth.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_pack.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_random.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_smtp.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_spooled.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_stats.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_stix.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_storm.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_tabular.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_vault.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_xml.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormlib_yaml.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormsvc.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormtypes.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_stormwhois.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_structlog.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_task.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_thishost.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_time.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_trigger.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_types.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_urlhelp.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_version.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lib_view.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lookup_iso3166.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_lookup_phonenum.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_mindmeld.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_auth.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_base.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_belief.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_biz.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_crypto.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_dns.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_doc.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_economic.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_files.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_geopol.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_geospace.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_gov_cn.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_gov_intl.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_gov_us.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_infotech.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_language.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_material.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_math.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_media.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_orgs.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_person.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_planning.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_proj.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_science.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_syn.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_telco.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_model_transport.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_servers_axon.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_servers_cortex.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_servers_cryotank.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_servers_stemcell.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_servers_univ.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_telepath.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_aha.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_apikey.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_autodoc.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_axon2axon.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_backup.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_cellauth.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_changelog.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_cryo_cat.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_cryo_list.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_csvtool.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_docker_validate.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_easycert.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_feed.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_genpkg.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_guid.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_healthcheck.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_hiveload.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_hivesave.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_json2mpk.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_livebackup.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_modrole.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_moduser.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_promote.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_pullfile.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_pushfile.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_reload.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_rstorm.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_tools_snapshot.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_utils.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/test_utils_stormcov.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tests/utils.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/aha/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/aha/clone.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/aha/easycert.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/aha/enroll.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/aha/list.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/aha/provision/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/aha/provision/service.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/aha/provision/user.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/apikey.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/autodoc.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/axon2axon.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/backup.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/cellauth.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/changelog.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/cmdr.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/cryo/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/cryo/cat.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/cryo/list.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/csvtool.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/docker/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/docker/validate.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/easycert.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/feed.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/genpkg.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/guid.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/healthcheck.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/hive/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/hive/load.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/hive/save.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/json2mpk.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/livebackup.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/modrole.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/moduser.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/promote.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/pullfile.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/pushfile.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/reload.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/rstorm.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/snapshot.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/tools/storm.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/utils/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/utils/stormcov/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/utils/stormcov/plugin.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/cashaddress/LICENSE +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/cashaddress/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/cashaddress/base58.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/cashaddress/convert.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/cashaddress/crypto.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/cashaddress/tests/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/cashaddress/tests/test_cashaddress.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/cpython/LICENSE +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/cpython/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/cpython/lib/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/cpython/lib/email/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/cpython/lib/email/_parseaddr.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/cpython/lib/email/utils.py +0 -0
- {synapse-2.192.0/synapse/vendor/cpython/lib/test → synapse-2.193.0/synapse/vendor/cpython/lib/http}/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/cpython/lib/ipaddress.py +0 -0
- {synapse-2.192.0/synapse/vendor/cpython/lib/test/test_email → synapse-2.193.0/synapse/vendor/cpython/lib/test}/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/cpython/lib/test/support/__init__.py +0 -0
- {synapse-2.192.0/synapse/vendor/substrateinterface/tests → synapse-2.193.0/synapse/vendor/cpython/lib/test/test_email}/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/cpython/lib/test/test_email/test_email.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/cpython/lib/test/test_email/test_utils.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/cpython/lib/test/test_ipaddress.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/substrateinterface/LICENSE +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/substrateinterface/__init__.py +0 -0
- {synapse-2.192.0/synapse/vendor/xrpl → synapse-2.193.0/synapse/vendor/substrateinterface}/tests/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/substrateinterface/tests/test_ss58.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/substrateinterface/utils/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/substrateinterface/utils/ss58.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/utils.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/xrpl/LICENSE +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/xrpl/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/xrpl/constants.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/xrpl/core/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/xrpl/core/addresscodec/__init__.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/xrpl/core/addresscodec/codec.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/xrpl/core/addresscodec/exceptions.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/xrpl/core/addresscodec/main.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/xrpl/core/addresscodec/utils.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/xrpl/tests/test_codec.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/xrpl/tests/test_main.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse/vendor/xrpl/tests/test_main_test_cases.py +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse.egg-info/dependency_links.txt +0 -0
- {synapse-2.192.0 → synapse-2.193.0}/synapse.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: synapse
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.193.0
|
|
4
4
|
Summary: Synapse Intelligence Analysis Framework
|
|
5
5
|
Author-email: The Vertex Project LLC <root@vertex.link>
|
|
6
6
|
License: Apache License 2.0
|
|
@@ -31,7 +31,7 @@ Requires-Dist: aiohttp<4.0,>=3.10.0
|
|
|
31
31
|
Requires-Dist: aiohttp-socks<0.10.0,>=0.9.0
|
|
32
32
|
Requires-Dist: aioimaplib<1.2.0,>=1.1.0
|
|
33
33
|
Requires-Dist: aiosmtplib<3.1.0,>=3.0.0
|
|
34
|
-
Requires-Dist:
|
|
34
|
+
Requires-Dist: prompt_toolkit<3.1.0,>=3.0.29
|
|
35
35
|
Requires-Dist: lark==1.2.2
|
|
36
36
|
Requires-Dist: Pygments<2.18.0,>=2.7.4
|
|
37
37
|
Requires-Dist: packaging<25.0,>=20.0
|
|
@@ -4,7 +4,7 @@ build-backend = 'setuptools.build_meta'
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = 'synapse'
|
|
7
|
-
version = '2.
|
|
7
|
+
version = '2.193.0'
|
|
8
8
|
authors = [
|
|
9
9
|
{ name = 'The Vertex Project LLC', email = 'root@vertex.link'},
|
|
10
10
|
]
|
|
@@ -35,7 +35,7 @@ dependencies = [
|
|
|
35
35
|
'aiohttp-socks>=0.9.0,<0.10.0',
|
|
36
36
|
'aioimaplib>=1.1.0,<1.2.0',
|
|
37
37
|
'aiosmtplib>=3.0.0,<3.1.0',
|
|
38
|
-
'
|
|
38
|
+
'prompt_toolkit>=3.0.29,<3.1.0',
|
|
39
39
|
'lark==1.2.2',
|
|
40
40
|
'Pygments>=2.7.4,<2.18.0',
|
|
41
41
|
'packaging>=20.0,<25.0',
|
|
@@ -29,6 +29,8 @@ import traceback
|
|
|
29
29
|
import contextlib
|
|
30
30
|
import collections
|
|
31
31
|
|
|
32
|
+
import http.cookies
|
|
33
|
+
|
|
32
34
|
import yaml
|
|
33
35
|
import regex
|
|
34
36
|
|
|
@@ -38,6 +40,8 @@ import synapse.lib.msgpack as s_msgpack
|
|
|
38
40
|
import synapse.lib.structlog as s_structlog
|
|
39
41
|
|
|
40
42
|
import synapse.vendor.cpython.lib.ipaddress as ipaddress
|
|
43
|
+
import synapse.vendor.cpython.lib.http.cookies as v_cookies
|
|
44
|
+
|
|
41
45
|
|
|
42
46
|
try:
|
|
43
47
|
from yaml import CSafeLoader as Loader
|
|
@@ -1218,6 +1222,17 @@ def trimText(text: str, n: int = 256, placeholder: str = '...') -> str:
|
|
|
1218
1222
|
assert n > plen
|
|
1219
1223
|
return f'{text[:mlen]}{placeholder}'
|
|
1220
1224
|
|
|
1225
|
+
def _patch_http_cookies():
|
|
1226
|
+
'''
|
|
1227
|
+
Patch stdlib http.cookies._unquote from the 3.11.10 implementation if
|
|
1228
|
+
the interpreter we are using is not patched for CVE-2024-7592.
|
|
1229
|
+
'''
|
|
1230
|
+
if not hasattr(http.cookies, '_QuotePatt'):
|
|
1231
|
+
return
|
|
1232
|
+
http.cookies._unquote = v_cookies._unquote
|
|
1233
|
+
|
|
1234
|
+
_patch_http_cookies()
|
|
1235
|
+
|
|
1221
1236
|
# TODO: Switch back to using asyncio.wait_for when we are using py 3.12+
|
|
1222
1237
|
# This is a workaround for a race where asyncio.wait_for can end up
|
|
1223
1238
|
# ignoring cancellation https://github.com/python/cpython/issues/86296
|
|
@@ -2240,7 +2240,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
2240
2240
|
|
|
2241
2241
|
'''
|
|
2242
2242
|
name = cdef.get('name')
|
|
2243
|
-
|
|
2243
|
+
self._setStormCmd(cdef)
|
|
2244
2244
|
self.cmddefs.set(name, cdef)
|
|
2245
2245
|
|
|
2246
2246
|
async def _reqStormCmd(self, cdef):
|
|
@@ -2483,7 +2483,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
2483
2483
|
async for sodes in self._mergeSodes(layers, genrs, cmprkey_indx, filtercmpr, reverse=reverse):
|
|
2484
2484
|
yield sodes
|
|
2485
2485
|
|
|
2486
|
-
|
|
2486
|
+
def _setStormCmd(self, cdef):
|
|
2487
2487
|
'''
|
|
2488
2488
|
Note:
|
|
2489
2489
|
No change control or persistence
|
|
@@ -2543,13 +2543,9 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
2543
2543
|
name = cdef.get('name')
|
|
2544
2544
|
self.stormcmds[name] = ctor
|
|
2545
2545
|
|
|
2546
|
-
|
|
2547
|
-
|
|
2548
|
-
async def _popStormCmd(self, name):
|
|
2546
|
+
def _popStormCmd(self, name):
|
|
2549
2547
|
self.stormcmds.pop(name, None)
|
|
2550
2548
|
|
|
2551
|
-
await self.fire('core:cmd:change', cmd=name, act='del')
|
|
2552
|
-
|
|
2553
2549
|
async def delStormCmd(self, name):
|
|
2554
2550
|
'''
|
|
2555
2551
|
Remove a previously set pure storm command.
|
|
@@ -2575,8 +2571,6 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
2575
2571
|
self.cmddefs.pop(name)
|
|
2576
2572
|
self.stormcmds.pop(name, None)
|
|
2577
2573
|
|
|
2578
|
-
await self.fire('core:cmd:change', cmd=name, act='del')
|
|
2579
|
-
|
|
2580
2574
|
async def addStormPkg(self, pkgdef, verify=False):
|
|
2581
2575
|
'''
|
|
2582
2576
|
Add the given storm package to the cortex.
|
|
@@ -2630,11 +2624,11 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
2630
2624
|
olddef = self.pkgdefs.get(name, None)
|
|
2631
2625
|
if olddef is not None:
|
|
2632
2626
|
if s_hashitem.hashitem(pkgdef) != s_hashitem.hashitem(olddef):
|
|
2633
|
-
|
|
2627
|
+
self._dropStormPkg(olddef)
|
|
2634
2628
|
else:
|
|
2635
2629
|
return
|
|
2636
2630
|
|
|
2637
|
-
|
|
2631
|
+
self.loadStormPkg(pkgdef)
|
|
2638
2632
|
self.pkgdefs.set(name, pkgdef)
|
|
2639
2633
|
|
|
2640
2634
|
self._clearPermDefs()
|
|
@@ -2664,7 +2658,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
2664
2658
|
if pkgdef is None:
|
|
2665
2659
|
return
|
|
2666
2660
|
|
|
2667
|
-
|
|
2661
|
+
self._dropStormPkg(pkgdef)
|
|
2668
2662
|
|
|
2669
2663
|
self._clearPermDefs()
|
|
2670
2664
|
|
|
@@ -2713,7 +2707,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
2713
2707
|
async def _tryLoadStormPkg(self, pkgdef):
|
|
2714
2708
|
try:
|
|
2715
2709
|
await self._normStormPkg(pkgdef, validstorm=False)
|
|
2716
|
-
|
|
2710
|
+
self.loadStormPkg(pkgdef)
|
|
2717
2711
|
|
|
2718
2712
|
except asyncio.CancelledError: # pragma: no cover TODO: remove once >= py 3.8 only
|
|
2719
2713
|
raise
|
|
@@ -2881,7 +2875,9 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
2881
2875
|
for configvar in pkgdef.get('configvars', ()):
|
|
2882
2876
|
self._reqStormPkgVarType(pkgname, configvar.get('type'))
|
|
2883
2877
|
|
|
2884
|
-
async
|
|
2878
|
+
# N.B. This function is intentionally not async in order to prevent possible user race conditions for code
|
|
2879
|
+
# executing outside of the nexus lock.
|
|
2880
|
+
def loadStormPkg(self, pkgdef):
|
|
2885
2881
|
'''
|
|
2886
2882
|
Load a storm package into the storm library for this cortex.
|
|
2887
2883
|
|
|
@@ -2911,7 +2907,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
2911
2907
|
self.stormmods = stormmods
|
|
2912
2908
|
|
|
2913
2909
|
for cdef in cmds:
|
|
2914
|
-
|
|
2910
|
+
self._setStormCmd(cdef)
|
|
2915
2911
|
|
|
2916
2912
|
for gdef in pkgdef.get('graphs', ()):
|
|
2917
2913
|
gdef = copy.deepcopy(gdef)
|
|
@@ -2937,7 +2933,9 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
2937
2933
|
await self.fire('core:pkg:onload:complete', pkg=name)
|
|
2938
2934
|
self.schedCoro(_onload())
|
|
2939
2935
|
|
|
2940
|
-
async
|
|
2936
|
+
# N.B. This function is intentionally not async in order to prevent possible user race conditions for code
|
|
2937
|
+
# executing outside of the nexus lock.
|
|
2938
|
+
def _dropStormPkg(self, pkgdef):
|
|
2941
2939
|
'''
|
|
2942
2940
|
Reverse the process of loadStormPkg()
|
|
2943
2941
|
'''
|
|
@@ -2948,7 +2946,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
2948
2946
|
|
|
2949
2947
|
for cdef in pkgdef.get('commands', ()):
|
|
2950
2948
|
name = cdef.get('name')
|
|
2951
|
-
|
|
2949
|
+
self._popStormCmd(name)
|
|
2952
2950
|
|
|
2953
2951
|
pkgname = pkgdef.get('name')
|
|
2954
2952
|
|
|
@@ -4435,7 +4433,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
4435
4433
|
|
|
4436
4434
|
async def _trySetStormCmd(self, name, cdef):
|
|
4437
4435
|
try:
|
|
4438
|
-
|
|
4436
|
+
self._setStormCmd(cdef)
|
|
4439
4437
|
except (asyncio.CancelledError, Exception):
|
|
4440
4438
|
logger.exception(f'Storm command load failed: {name}')
|
|
4441
4439
|
|
|
@@ -56,9 +56,14 @@ class SynErr(Exception):
|
|
|
56
56
|
self.errinfo[name] = valu
|
|
57
57
|
self._setExcMesg()
|
|
58
58
|
|
|
59
|
+
def update(self, items: dict):
|
|
60
|
+
'''Update multiple items in the errinfo dict at once.'''
|
|
61
|
+
self.errinfo.update(**items)
|
|
62
|
+
self._setExcMesg()
|
|
63
|
+
|
|
59
64
|
class StormRaise(SynErr):
|
|
60
65
|
'''
|
|
61
|
-
This represents a user provided exception
|
|
66
|
+
This represents a user provided exception raised in the Storm runtime. It requires a errname key.
|
|
62
67
|
'''
|
|
63
68
|
def __init__(self, *args, **info):
|
|
64
69
|
SynErr.__init__(self, *args, **info)
|
|
@@ -60,7 +60,7 @@ class AstNode:
|
|
|
60
60
|
|
|
61
61
|
def addExcInfo(self, exc):
|
|
62
62
|
if 'highlight' not in exc.errinfo:
|
|
63
|
-
exc.
|
|
63
|
+
exc.set('highlight', self.getPosInfo())
|
|
64
64
|
return exc
|
|
65
65
|
|
|
66
66
|
def repr(self):
|
|
@@ -3579,10 +3579,23 @@ class FuncCall(Value):
|
|
|
3579
3579
|
kwargs = {k: v for (k, v) in await self.kids[2].compute(runt, path)}
|
|
3580
3580
|
|
|
3581
3581
|
with s_scope.enter({'runt': runt}):
|
|
3582
|
-
|
|
3583
|
-
|
|
3584
|
-
|
|
3585
|
-
|
|
3582
|
+
try:
|
|
3583
|
+
retn = func(*argv, **kwargs)
|
|
3584
|
+
if s_coro.iscoro(retn):
|
|
3585
|
+
return await retn
|
|
3586
|
+
return retn
|
|
3587
|
+
|
|
3588
|
+
except TypeError as e:
|
|
3589
|
+
mesg = str(e)
|
|
3590
|
+
if (funcpath := getattr(func, '_storm_funcpath', None)) is not None:
|
|
3591
|
+
mesg = f"{funcpath}(){mesg.split(')', 1)[1]}"
|
|
3592
|
+
|
|
3593
|
+
raise self.addExcInfo(s_exc.StormRuntimeError(mesg=mesg))
|
|
3594
|
+
|
|
3595
|
+
except s_exc.SynErr as e:
|
|
3596
|
+
if getattr(func, '_storm_runtime_lib_func', None) is not None:
|
|
3597
|
+
e.errinfo.pop('highlight', None)
|
|
3598
|
+
raise self.addExcInfo(e)
|
|
3586
3599
|
|
|
3587
3600
|
class DollarExpr(Value):
|
|
3588
3601
|
'''
|
|
@@ -4891,8 +4904,9 @@ class Function(AstNode):
|
|
|
4891
4904
|
|
|
4892
4905
|
@s_stormtypes.stormfunc(readonly=True)
|
|
4893
4906
|
async def realfunc(*args, **kwargs):
|
|
4894
|
-
return await self.callfunc(runt, argdefs, args, kwargs)
|
|
4907
|
+
return await self.callfunc(runt, argdefs, args, kwargs, realfunc._storm_funcpath)
|
|
4895
4908
|
|
|
4909
|
+
realfunc._storm_funcpath = self.name
|
|
4896
4910
|
await runt.setVar(self.name, realfunc)
|
|
4897
4911
|
|
|
4898
4912
|
count = 0
|
|
@@ -4914,7 +4928,7 @@ class Function(AstNode):
|
|
|
4914
4928
|
# var scope validation occurs in the sub-runtime
|
|
4915
4929
|
pass
|
|
4916
4930
|
|
|
4917
|
-
async def callfunc(self, runt, argdefs, args, kwargs):
|
|
4931
|
+
async def callfunc(self, runt, argdefs, args, kwargs, funcpath):
|
|
4918
4932
|
'''
|
|
4919
4933
|
Execute a function call using the given runtime.
|
|
4920
4934
|
|
|
@@ -4925,7 +4939,7 @@ class Function(AstNode):
|
|
|
4925
4939
|
|
|
4926
4940
|
argcount = len(args) + len(kwargs)
|
|
4927
4941
|
if argcount > len(argdefs):
|
|
4928
|
-
mesg = f'{
|
|
4942
|
+
mesg = f'{funcpath}() takes {len(argdefs)} arguments but {argcount} were provided'
|
|
4929
4943
|
raise self.kids[1].addExcInfo(s_exc.StormRuntimeError(mesg=mesg))
|
|
4930
4944
|
|
|
4931
4945
|
# Fill in the positional arguments
|
|
@@ -4939,7 +4953,7 @@ class Function(AstNode):
|
|
|
4939
4953
|
valu = kwargs.pop(name, s_common.novalu)
|
|
4940
4954
|
if valu is s_common.novalu:
|
|
4941
4955
|
if defv is s_common.novalu:
|
|
4942
|
-
mesg = f'{
|
|
4956
|
+
mesg = f'{funcpath}() missing required argument {name}'
|
|
4943
4957
|
raise self.kids[1].addExcInfo(s_exc.StormRuntimeError(mesg=mesg))
|
|
4944
4958
|
valu = defv
|
|
4945
4959
|
|
|
@@ -4950,11 +4964,11 @@ class Function(AstNode):
|
|
|
4950
4964
|
# used a kwarg not defined.
|
|
4951
4965
|
kwkeys = list(kwargs.keys())
|
|
4952
4966
|
if kwkeys[0] in posnames:
|
|
4953
|
-
mesg = f'{
|
|
4967
|
+
mesg = f'{funcpath}() got multiple values for parameter {kwkeys[0]}'
|
|
4954
4968
|
raise self.kids[1].addExcInfo(s_exc.StormRuntimeError(mesg=mesg))
|
|
4955
4969
|
|
|
4956
4970
|
plural = 's' if len(kwargs) > 1 else ''
|
|
4957
|
-
mesg = f'{
|
|
4971
|
+
mesg = f'{funcpath}() got unexpected keyword argument{plural}: {",".join(kwkeys)}'
|
|
4958
4972
|
raise self.kids[1].addExcInfo(s_exc.StormRuntimeError(mesg=mesg))
|
|
4959
4973
|
|
|
4960
4974
|
assert len(mergargs) == len(argdefs)
|
|
@@ -2623,18 +2623,12 @@ class Cell(s_nexus.Pusher, s_telepath.Aware):
|
|
|
2623
2623
|
walkpath(self.backdirn)
|
|
2624
2624
|
return backups
|
|
2625
2625
|
|
|
2626
|
-
async def
|
|
2627
|
-
|
|
2628
|
-
success = False
|
|
2629
|
-
loglevel = logging.WARNING
|
|
2630
|
-
|
|
2631
|
-
path = self._reqBackDirn(name)
|
|
2632
|
-
cellguid = os.path.join(path, 'cell.guid')
|
|
2633
|
-
if not os.path.isfile(cellguid):
|
|
2634
|
-
mesg = 'Specified backup path has no cell.guid file.'
|
|
2635
|
-
raise s_exc.BadArg(mesg=mesg, arg='path', valu=path)
|
|
2636
|
-
|
|
2626
|
+
async def _streamBackupArchive(self, path, user, name):
|
|
2637
2627
|
link = s_scope.get('link')
|
|
2628
|
+
if link is None:
|
|
2629
|
+
mesg = 'Link not found in scope. This API must be called via a CellApi.'
|
|
2630
|
+
raise s_exc.SynErr(mesg=mesg)
|
|
2631
|
+
|
|
2638
2632
|
linkinfo = await link.getSpawnInfo()
|
|
2639
2633
|
linkinfo['logconf'] = await self._getSpawnLogConf()
|
|
2640
2634
|
|
|
@@ -2642,42 +2636,42 @@ class Cell(s_nexus.Pusher, s_telepath.Aware):
|
|
|
2642
2636
|
|
|
2643
2637
|
ctx = multiprocessing.get_context('spawn')
|
|
2644
2638
|
|
|
2645
|
-
proc = None
|
|
2646
|
-
mesg = 'Streaming complete'
|
|
2647
|
-
|
|
2648
2639
|
def getproc():
|
|
2649
2640
|
proc = ctx.Process(target=_iterBackupProc, args=(path, linkinfo))
|
|
2650
2641
|
proc.start()
|
|
2651
2642
|
return proc
|
|
2652
2643
|
|
|
2644
|
+
mesg = 'Streaming complete'
|
|
2645
|
+
proc = await s_coro.executor(getproc)
|
|
2646
|
+
cancelled = False
|
|
2653
2647
|
try:
|
|
2654
|
-
proc = await s_coro.executor(getproc)
|
|
2655
|
-
|
|
2656
2648
|
await s_coro.executor(proc.join)
|
|
2649
|
+
self.backlastuploaddt = datetime.datetime.now()
|
|
2650
|
+
logger.debug(f'Backup streaming completed successfully for {name}')
|
|
2657
2651
|
|
|
2658
|
-
except
|
|
2652
|
+
except asyncio.CancelledError:
|
|
2653
|
+
logger.warning('Backup streaming was cancelled.')
|
|
2654
|
+
cancelled = True
|
|
2655
|
+
raise
|
|
2659
2656
|
|
|
2660
|
-
|
|
2661
|
-
# could be the result of a remote link terminating due to the
|
|
2662
|
-
# backup stream being completed, prior to this function
|
|
2663
|
-
# finishing.
|
|
2657
|
+
except Exception as e:
|
|
2664
2658
|
logger.exception('Error during backup streaming.')
|
|
2665
|
-
|
|
2666
|
-
if proc:
|
|
2667
|
-
proc.terminate()
|
|
2668
|
-
|
|
2669
2659
|
mesg = repr(e)
|
|
2670
2660
|
raise
|
|
2671
2661
|
|
|
2672
|
-
else:
|
|
2673
|
-
success = True
|
|
2674
|
-
loglevel = logging.DEBUG
|
|
2675
|
-
self.backlastuploaddt = datetime.datetime.now()
|
|
2676
|
-
|
|
2677
2662
|
finally:
|
|
2678
|
-
|
|
2679
|
-
|
|
2680
|
-
|
|
2663
|
+
proc.terminate()
|
|
2664
|
+
|
|
2665
|
+
if not cancelled:
|
|
2666
|
+
raise s_exc.DmonSpawn(mesg=mesg)
|
|
2667
|
+
|
|
2668
|
+
async def iterBackupArchive(self, name, user):
|
|
2669
|
+
path = self._reqBackDirn(name)
|
|
2670
|
+
cellguid = os.path.join(path, 'cell.guid')
|
|
2671
|
+
if not os.path.isfile(cellguid):
|
|
2672
|
+
mesg = 'Specified backup path has no cell.guid file.'
|
|
2673
|
+
raise s_exc.BadArg(mesg=mesg, arg='path', valu=path)
|
|
2674
|
+
await self._streamBackupArchive(path, user, name)
|
|
2681
2675
|
|
|
2682
2676
|
async def iterNewBackupArchive(self, user, name=None, remove=False):
|
|
2683
2677
|
|
|
@@ -2688,9 +2682,6 @@ class Cell(s_nexus.Pusher, s_telepath.Aware):
|
|
|
2688
2682
|
if remove:
|
|
2689
2683
|
self.backupstreaming = True
|
|
2690
2684
|
|
|
2691
|
-
success = False
|
|
2692
|
-
loglevel = logging.WARNING
|
|
2693
|
-
|
|
2694
2685
|
if name is None:
|
|
2695
2686
|
name = time.strftime('%Y%m%d%H%M%S', datetime.datetime.now().timetuple())
|
|
2696
2687
|
|
|
@@ -2699,10 +2690,6 @@ class Cell(s_nexus.Pusher, s_telepath.Aware):
|
|
|
2699
2690
|
mesg = 'Backup with name already exists'
|
|
2700
2691
|
raise s_exc.BadArg(mesg=mesg)
|
|
2701
2692
|
|
|
2702
|
-
link = s_scope.get('link')
|
|
2703
|
-
linkinfo = await link.getSpawnInfo()
|
|
2704
|
-
linkinfo['logconf'] = await self._getSpawnLogConf()
|
|
2705
|
-
|
|
2706
2693
|
try:
|
|
2707
2694
|
await self.runBackup(name)
|
|
2708
2695
|
except Exception:
|
|
@@ -2712,54 +2699,13 @@ class Cell(s_nexus.Pusher, s_telepath.Aware):
|
|
|
2712
2699
|
logger.debug(f'Removed {path}')
|
|
2713
2700
|
raise
|
|
2714
2701
|
|
|
2715
|
-
await self.
|
|
2716
|
-
|
|
2717
|
-
ctx = multiprocessing.get_context('spawn')
|
|
2718
|
-
|
|
2719
|
-
proc = None
|
|
2720
|
-
mesg = 'Streaming complete'
|
|
2721
|
-
|
|
2722
|
-
def getproc():
|
|
2723
|
-
proc = ctx.Process(target=_iterBackupProc, args=(path, linkinfo))
|
|
2724
|
-
proc.start()
|
|
2725
|
-
return proc
|
|
2726
|
-
|
|
2727
|
-
try:
|
|
2728
|
-
proc = await s_coro.executor(getproc)
|
|
2729
|
-
|
|
2730
|
-
await s_coro.executor(proc.join)
|
|
2731
|
-
|
|
2732
|
-
except (asyncio.CancelledError, Exception) as e:
|
|
2733
|
-
|
|
2734
|
-
# We want to log all exceptions here, an asyncio.CancelledError
|
|
2735
|
-
# could be the result of a remote link terminating due to the
|
|
2736
|
-
# backup stream being completed, prior to this function
|
|
2737
|
-
# finishing.
|
|
2738
|
-
logger.exception('Error during backup streaming.')
|
|
2739
|
-
|
|
2740
|
-
if proc:
|
|
2741
|
-
proc.terminate()
|
|
2742
|
-
|
|
2743
|
-
mesg = repr(e)
|
|
2744
|
-
raise
|
|
2745
|
-
|
|
2746
|
-
else:
|
|
2747
|
-
success = True
|
|
2748
|
-
loglevel = logging.DEBUG
|
|
2749
|
-
self.backlastuploaddt = datetime.datetime.now()
|
|
2750
|
-
|
|
2751
|
-
finally:
|
|
2752
|
-
if remove:
|
|
2753
|
-
logger.debug(f'Removing {path}')
|
|
2754
|
-
await s_coro.executor(shutil.rmtree, path, ignore_errors=True)
|
|
2755
|
-
logger.debug(f'Removed {path}')
|
|
2756
|
-
|
|
2757
|
-
phrase = 'successfully' if success else 'with failure'
|
|
2758
|
-
logger.log(loglevel, f'iterNewBackupArchive completed {phrase} for {name}')
|
|
2759
|
-
raise s_exc.DmonSpawn(mesg=mesg)
|
|
2702
|
+
await self._streamBackupArchive(path, user, name)
|
|
2760
2703
|
|
|
2761
2704
|
finally:
|
|
2762
2705
|
if remove:
|
|
2706
|
+
logger.debug(f'Removing {path}')
|
|
2707
|
+
await s_coro.executor(shutil.rmtree, path, ignore_errors=True)
|
|
2708
|
+
logger.debug(f'Removed {path}')
|
|
2763
2709
|
self.backupstreaming = False
|
|
2764
2710
|
|
|
2765
2711
|
async def isUserAllowed(self, iden, perm, gateiden=None, default=False):
|
|
@@ -281,18 +281,26 @@ class Cli(s_base.Base):
|
|
|
281
281
|
|
|
282
282
|
await self.fini()
|
|
283
283
|
|
|
284
|
-
async def addSignalHandlers(self):
|
|
284
|
+
async def addSignalHandlers(self): # pragma: no cover
|
|
285
285
|
'''
|
|
286
286
|
Register SIGINT signal handler with the ioloop to cancel the currently running cmdloop task.
|
|
287
|
+
Removes the handler when the cli is fini'd.
|
|
287
288
|
'''
|
|
288
|
-
|
|
289
289
|
def sigint():
|
|
290
|
-
self.printf('<ctrl-c>')
|
|
291
290
|
if self.cmdtask is not None:
|
|
292
291
|
self.cmdtask.cancel()
|
|
293
292
|
|
|
294
293
|
self.loop.add_signal_handler(signal.SIGINT, sigint)
|
|
295
294
|
|
|
295
|
+
def onfini():
|
|
296
|
+
# N.B. This is reaches into some loop / handle internals but
|
|
297
|
+
# prevents us from removing a handler that overwrote our own.
|
|
298
|
+
hndl = self.loop._signal_handlers.get(signal.SIGINT, None) # type: asyncio.Handle
|
|
299
|
+
if hndl is not None and hndl._callback is sigint:
|
|
300
|
+
self.loop.remove_signal_handler(signal.SIGINT)
|
|
301
|
+
|
|
302
|
+
self.onfini(onfini)
|
|
303
|
+
|
|
296
304
|
def get(self, name, defval=None):
|
|
297
305
|
return self.locs.get(name, defval)
|
|
298
306
|
|
|
@@ -324,8 +332,12 @@ class Cli(s_base.Base):
|
|
|
324
332
|
if text is None:
|
|
325
333
|
text = self.cmdprompt
|
|
326
334
|
|
|
327
|
-
with patch_stdout():
|
|
328
|
-
retn = await self.sess.prompt_async(text,
|
|
335
|
+
with patch_stdout(): # pragma: no cover
|
|
336
|
+
retn = await self.sess.prompt_async(text,
|
|
337
|
+
vi_mode=self.vi_mode,
|
|
338
|
+
enable_open_in_editor=True,
|
|
339
|
+
handle_sigint=False # We handle sigint in the loop
|
|
340
|
+
)
|
|
329
341
|
return retn
|
|
330
342
|
|
|
331
343
|
def printf(self, mesg, addnl=True, color=None):
|
|
@@ -390,7 +402,7 @@ class Cli(s_base.Base):
|
|
|
390
402
|
self.cmdtask = self.schedCoro(coro)
|
|
391
403
|
await self.cmdtask
|
|
392
404
|
|
|
393
|
-
except KeyboardInterrupt:
|
|
405
|
+
except (KeyboardInterrupt, asyncio.CancelledError):
|
|
394
406
|
|
|
395
407
|
if self.isfini:
|
|
396
408
|
return
|
|
@@ -408,11 +420,8 @@ class Cli(s_base.Base):
|
|
|
408
420
|
if self.cmdtask is not None:
|
|
409
421
|
self.cmdtask.cancel()
|
|
410
422
|
try:
|
|
411
|
-
self.cmdtask.
|
|
412
|
-
except asyncio.CancelledError:
|
|
413
|
-
# Wait a beat to let any remaining nodes to print out before we print the prompt
|
|
414
|
-
await asyncio.sleep(1)
|
|
415
|
-
except Exception:
|
|
423
|
+
await asyncio.wait_for(self.cmdtask, timeout=0.1)
|
|
424
|
+
except (asyncio.CancelledError, asyncio.TimeoutError):
|
|
416
425
|
pass
|
|
417
426
|
|
|
418
427
|
async def runCmdLine(self, line):
|
|
@@ -507,7 +507,7 @@ class Parser:
|
|
|
507
507
|
origexc = e.orig_exc
|
|
508
508
|
if not isinstance(origexc, s_exc.SynErr):
|
|
509
509
|
raise e.orig_exc # pragma: no cover
|
|
510
|
-
origexc.
|
|
510
|
+
origexc.set('text', self.text)
|
|
511
511
|
return s_exc.BadSyntax(**origexc.errinfo)
|
|
512
512
|
|
|
513
513
|
elif isinstance(e, lark.exceptions.UnexpectedCharacters): # pragma: no cover
|
|
@@ -363,9 +363,9 @@ class ProtoNode:
|
|
|
363
363
|
valu, norminfo = prop.type.norm(valu)
|
|
364
364
|
except s_exc.BadTypeValu as e:
|
|
365
365
|
oldm = e.errinfo.get('mesg')
|
|
366
|
-
e.
|
|
367
|
-
|
|
368
|
-
|
|
366
|
+
e.update({'prop': prop.name,
|
|
367
|
+
'form': prop.form.name,
|
|
368
|
+
'mesg': f'Bad prop value {prop.full}={valu!r} : {oldm}'})
|
|
369
369
|
if self.ctx.snap.strict:
|
|
370
370
|
raise e
|
|
371
371
|
await self.ctx.snap.warn(e)
|
|
@@ -493,7 +493,7 @@ class SnapEditor:
|
|
|
493
493
|
try:
|
|
494
494
|
valu, norminfo = form.type.norm(valu)
|
|
495
495
|
except s_exc.BadTypeValu as e:
|
|
496
|
-
e.
|
|
496
|
+
e.set('form', form.name)
|
|
497
497
|
if self.snap.strict: raise e
|
|
498
498
|
await self.snap.warn(f'addNode() BadTypeValu {form.name}={valu} {e}')
|
|
499
499
|
return None
|
|
@@ -5344,6 +5344,12 @@ class ParallelCmd(Cmd):
|
|
|
5344
5344
|
inet:ipv4#foo | parallel { $place = $lib.import(foobar).lookup(:latlong) [ :place=$place ] }
|
|
5345
5345
|
|
|
5346
5346
|
NOTE: Storm variables set within the parallel query pipelines do not interact.
|
|
5347
|
+
|
|
5348
|
+
NOTE: If there are inbound nodes to the parallel command, parallel pipelines will be created as each node
|
|
5349
|
+
is processed, up to the number specified by --size. If the number of nodes in the pipeline is less
|
|
5350
|
+
than the value specified by --size, additional pipelines with no inbound node will not be created.
|
|
5351
|
+
If there are no inbound nodes to the parallel command, the number of pipelines specified by --size
|
|
5352
|
+
will always be created.
|
|
5347
5353
|
'''
|
|
5348
5354
|
name = 'parallel'
|
|
5349
5355
|
readonly = True
|
|
@@ -5400,19 +5406,33 @@ class ParallelCmd(Cmd):
|
|
|
5400
5406
|
inq = asyncio.Queue(maxsize=size)
|
|
5401
5407
|
outq = asyncio.Queue(maxsize=size)
|
|
5402
5408
|
|
|
5403
|
-
|
|
5404
|
-
|
|
5405
|
-
|
|
5406
|
-
|
|
5407
|
-
|
|
5408
|
-
|
|
5409
|
-
|
|
5410
|
-
|
|
5411
|
-
|
|
5412
|
-
|
|
5413
|
-
|
|
5414
|
-
|
|
5415
|
-
|
|
5409
|
+
tsks = 0
|
|
5410
|
+
try:
|
|
5411
|
+
while tsks < size:
|
|
5412
|
+
await inq.put(await genr.__anext__())
|
|
5413
|
+
base.schedCoro(self.pipeline(runt, query, inq, outq))
|
|
5414
|
+
tsks += 1
|
|
5415
|
+
except StopAsyncIteration:
|
|
5416
|
+
[await inq.put(None) for i in range(tsks)]
|
|
5417
|
+
|
|
5418
|
+
# If a full set of tasks were created, keep pumping nodes into the queue
|
|
5419
|
+
if tsks == size:
|
|
5420
|
+
async def pump():
|
|
5421
|
+
try:
|
|
5422
|
+
async for pumpitem in genr:
|
|
5423
|
+
await inq.put(pumpitem)
|
|
5424
|
+
[await inq.put(None) for i in range(size)]
|
|
5425
|
+
except Exception as e:
|
|
5426
|
+
await outq.put(e)
|
|
5427
|
+
|
|
5428
|
+
base.schedCoro(pump())
|
|
5429
|
+
|
|
5430
|
+
# If no tasks were created, make a full set
|
|
5431
|
+
elif tsks == 0:
|
|
5432
|
+
tsks = size
|
|
5433
|
+
for i in range(size):
|
|
5434
|
+
base.schedCoro(self.pipeline(runt, query, inq, outq))
|
|
5435
|
+
[await inq.put(None) for i in range(tsks)]
|
|
5416
5436
|
|
|
5417
5437
|
exited = 0
|
|
5418
5438
|
while True:
|
|
@@ -5423,7 +5443,7 @@ class ParallelCmd(Cmd):
|
|
|
5423
5443
|
|
|
5424
5444
|
if item is None:
|
|
5425
5445
|
exited += 1
|
|
5426
|
-
if exited ==
|
|
5446
|
+
if exited == tsks:
|
|
5427
5447
|
return
|
|
5428
5448
|
continue
|
|
5429
5449
|
|
|
@@ -5566,9 +5586,6 @@ class TeeCmd(Cmd):
|
|
|
5566
5586
|
|
|
5567
5587
|
await outq.put(None)
|
|
5568
5588
|
|
|
5569
|
-
except asyncio.CancelledError: # pragma: no cover
|
|
5570
|
-
raise
|
|
5571
|
-
|
|
5572
5589
|
except Exception as e:
|
|
5573
5590
|
await outq.put(e)
|
|
5574
5591
|
|