synapse 2.188.1__tar.gz → 2.190.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.188.1/synapse.egg-info → synapse-2.190.0}/PKG-INFO +2 -2
- {synapse-2.188.1 → synapse-2.190.0}/pyproject.toml +2 -2
- {synapse-2.188.1 → synapse-2.190.0}/synapse/cortex.py +25 -5
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/storm.py +45 -9
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormhttp.py +3 -10
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormtypes.py +27 -17
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/version.py +2 -2
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/view.py +2 -5
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/risk.py +3 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_cortex.py +73 -22
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_ast.py +1 -1
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_storm.py +11 -2
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormhttp.py +9 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormtypes.py +16 -1
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_risk.py +2 -0
- {synapse-2.188.1 → synapse-2.190.0/synapse.egg-info}/PKG-INFO +2 -2
- {synapse-2.188.1 → synapse-2.190.0}/synapse.egg-info/requires.txt +1 -1
- {synapse-2.188.1 → synapse-2.190.0}/LICENSE +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/README.rst +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/setup.cfg +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/axon.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/cells.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/cmds/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/cmds/boss.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/cmds/cortex.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/cmds/hive.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/common.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/cryotank.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/daemon.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/attack-flow/LICENSE.txt +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/attack-flow/README.md +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/attack-flow/attack-flow-schema-2.0.0.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/certs/cas/The Vertex Project Intermediate CA 00.crt +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/certs/cas/The Vertex Project ROOT CA.crt +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/certs/crls/The Vertex Project Intermediate CA 00.crl +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/certs/crls/The Vertex Project ROOT CA.crl +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/iana.tlds.mpk +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/README.md +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/LICENSE.txt +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/binary.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/bundle.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/core.json +0 -0
- {synapse-2.188.1 → synapse-2.190.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.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/dictionary.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension-definition.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/external-reference.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/granular-marking.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hashes-type.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hex.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/identifier.json +0 -0
- {synapse-2.188.1 → synapse-2.190.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.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/language-content.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/marking-definition.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/properties.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/timestamp.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/url-regex.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/artifact.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/autonomous-system.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/directory.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/domain-name.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-addr.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-message.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/file.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv4-addr.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv6-addr.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mac-addr.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mutex.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/network-traffic.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/process.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/software.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/url.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/user-account.json +0 -0
- {synapse-2.188.1 → synapse-2.190.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.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/x509-certificate.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/attack-pattern.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/campaign.json +0 -0
- {synapse-2.188.1 → synapse-2.190.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.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/grouping.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/identity.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/incident.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/indicator.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/infrastructure.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/intrusion-set.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/location.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware-analysis.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/note.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/observed-data.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/opinion.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/report.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/threat-actor.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/tool.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/vulnerability.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/relationship.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/sighting.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/datamodel.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/exc.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/glob.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/agenda.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/aha.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/ast.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/auth.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/autodoc.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/base.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/boss.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/cache.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/cell.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/certdir.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/chop.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/cli.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/cmd.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/cmdr.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/config.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/const.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/coro.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/crypto/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/crypto/coin.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/crypto/ecc.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/crypto/passwd.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/crypto/rsa.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/crypto/tinfoil.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/datfile.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/drive.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/dyndeps.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/encoding.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/gis.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/grammar.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/hashitem.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/hashset.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/health.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/hive.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/hiveauth.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/httpapi.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/ingest.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/interval.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/jsonstor.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/layer.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/link.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/lmdbslab.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/modelrev.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/module.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/modules.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/msgpack.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/multislabseqn.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/nexus.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/node.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/oauth.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/output.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/parser.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/platforms/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/platforms/common.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/platforms/darwin.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/platforms/freebsd.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/platforms/linux.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/platforms/windows.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/queue.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/ratelimit.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/reflect.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/rstorm.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/schemas.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/scope.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/scrape.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/share.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/slaboffs.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/slabseqn.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/snap.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/spooled.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/storm.lark +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/storm_format.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormctrl.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/aha.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/auth.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/backup.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/basex.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/cache.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/cell.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/compression.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/cortex.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/easyperm.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/env.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/ethereum.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/gen.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/gis.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/graph.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/hashes.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/hex.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/imap.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/infosec.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/ipv6.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/iters.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/json.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/log.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/macro.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/math.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/mime.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/model.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/modelext.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/notifications.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/oauth.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/pack.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/project.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/random.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/scrape.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/smtp.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/spooled.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/stats.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/stix.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/storm.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/tabular.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/vault.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/version.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/xml.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormlib/yaml.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormsvc.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/stormwhois.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/structlog.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/task.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/thishost.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/thisplat.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/threads.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/time.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/trigger.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/types.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lib/urlhelp.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lookup/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lookup/cvss.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lookup/iana.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lookup/iso3166.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lookup/macho.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lookup/pe.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lookup/phonenum.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/lookup/timezones.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/mindmeld.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/auth.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/base.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/belief.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/biz.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/crypto.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/dns.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/doc.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/economic.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/entity.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/files.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/geopol.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/geospace.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/gov/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/gov/cn.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/gov/intl.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/gov/us.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/inet.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/infotech.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/language.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/material.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/math.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/media.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/orgs.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/person.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/planning.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/proj.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/science.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/syn.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/telco.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/models/transport.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/servers/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/servers/aha.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/servers/axon.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/servers/cell.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/servers/cortex.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/servers/cryotank.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/servers/jsonstor.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/servers/stemcell.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/telepath.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/TestUtilsGetrefs.test_basics.yaml +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/aha/certs/cas/synapse.crt +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/aha/certs/cas/synapse.key +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.crt +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/aha/certs/hosts/00.aha.loop.vertex.link.key +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/aha/certs/users/root@synapse.crt +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/aha/certs/users/root@synapse.key +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/attack_flow/CISA AA22-138B VMWare Workspace (Alt).json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/attack_flow/CISA_Iranian_APT.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/certdir/cas/ca.crt +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/certdir/cas/ca.key +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/certdir/hosts/localhost.crt +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/certdir/hosts/localhost.key +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/certdir/users/root.crt +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/certdir/users/root.key +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/certdir/users/user.crt +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/certdir/users/user.key +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/changelog/model_2.176.0_16ee721a6b7221344eaf946c3ab4602dda546b1a.yaml.gz +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/changelog/model_2.176.0_2a25c58bbd344716cd7cbc3f4304d8925b0f4ef2.yaml.gz +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/cpedata.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/rstorm/httpresp1.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/rstorm/httpresp2.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/rstorm/httpresp3.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/rstorm/httprespmulti.yaml +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/rstorm/testsvc.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stix_export/basic.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stix_export/custom0.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stix_export/risk0.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stix_import/apt1.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stix_import/oasis-example-00.json +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormcov/argvquery.storm +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormcov/dupesubs.storm +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormcov/lookup.storm +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormcov/pivot.storm +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormcov/pragma-nocov.storm +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormcov/spin.storm +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormcov/stormctrl.storm +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormmod/common +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/badapidef.yaml +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/badcmdname.yaml +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/badjsonpkg.yaml +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/docs/foobar.md +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/docs/foobar.svg +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/dotstorm/dotstorm.yaml +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/dotstorm/storm/commands/dotstorm.bar.storm +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/dotstorm/storm/modules/dotstorm.foo.storm +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/nocontent.yaml +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/nomime.yaml +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/nopath.yaml +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/nosuchfile.yaml +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/notitle.yaml +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/optic/index.html +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/storm/commands/invalidCMD +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/storm/commands/testpkg.baz +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/storm/commands/testpkgcmd +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/storm/modules/apimod +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/storm/modules/testmod +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/testpkg.yaml +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/workflows/testpkg-bam.newp +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/workflows/testpkg-baz.yaml +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/stormpkg/workflows/testpkg-foo.yaml +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/test.dat +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/files/testcore/cell.yaml +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/nopmod.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_axon.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_cmds_boss.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_cmds_cortex.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_cmds_hive.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_common.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_cryotank.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_daemon.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_data.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_datamodel.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_exc.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_glob.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_init.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_agenda.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_aha.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_auth.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_autodoc.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_base.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_boss.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_cache.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_cell.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_certdir.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_chop.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_cli.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_config.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_const.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_coro.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_crypto_coin.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_crypto_ecc.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_crypto_passwd.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_crypto_tinfoil.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_datfile.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_dyndeps.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_encoding.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_gis.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_grammar.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_hashitem.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_hashset.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_health.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_hive.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_httpapi.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_interval.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_jsonstor.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_layer.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_link.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_lmdbslab.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_modelrev.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_module.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_msgpack.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_multislabseqn.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_nexus.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_node.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_output.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_platforms_linux.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_queue.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_ratelimit.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_reflect.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_rstorm.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_scope.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_scrape.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_slaboffs.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_slabseqn.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_snap.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_spooled.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_storm_format.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_aha.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_auth.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_backup.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_basex.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_cache.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_cell.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_compression.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_cortex.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_easyperm.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_env.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_ethereum.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_gen.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_gis.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_hashes.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_hex.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_imap.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_infosec.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_ipv6.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_iters.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_json.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_log.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_macro.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_mime.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_model.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_modelext.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_oauth.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_pack.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_random.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_scrape.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_smtp.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_spooled.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_stats.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_stix.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_storm.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_tabular.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_vault.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_xml.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormlib_yaml.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormsvc.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_stormwhois.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_structlog.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_task.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_thishost.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_time.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_trigger.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_types.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_urlhelp.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_version.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lib_view.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lookup_iso3166.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_lookup_phonenum.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_mindmeld.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_auth.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_base.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_belief.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_biz.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_crypto.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_dns.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_doc.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_economic.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_files.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_geopol.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_geospace.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_gov_cn.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_gov_intl.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_gov_us.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_inet.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_infotech.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_language.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_material.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_math.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_media.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_orgs.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_person.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_planning.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_proj.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_science.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_syn.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_telco.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_model_transport.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_servers_axon.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_servers_cortex.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_servers_cryotank.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_servers_stemcell.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_servers_univ.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_telepath.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_aha.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_autodoc.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_axon2axon.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_backup.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_cellauth.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_changelog.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_cryo_cat.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_cryo_list.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_csvtool.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_docker_validate.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_easycert.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_feed.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_genpkg.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_guid.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_healthcheck.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_hiveload.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_hivesave.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_json2mpk.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_livebackup.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_modrole.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_moduser.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_promote.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_pullfile.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_pushfile.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_reload.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_rstorm.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_snapshot.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_tools_storm.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_utils.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_utils_getrefs.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/test_utils_stormcov.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tests/utils.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/aha/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/aha/clone.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/aha/easycert.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/aha/enroll.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/aha/list.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/aha/provision/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/aha/provision/service.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/aha/provision/user.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/autodoc.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/axon2axon.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/backup.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/cellauth.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/changelog.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/cmdr.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/cryo/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/cryo/cat.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/cryo/list.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/csvtool.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/docker/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/docker/validate.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/easycert.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/feed.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/genpkg.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/guid.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/healthcheck.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/hive/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/hive/load.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/hive/save.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/json2mpk.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/livebackup.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/modrole.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/moduser.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/promote.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/pullfile.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/pushfile.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/reload.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/rstorm.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/snapshot.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/tools/storm.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/utils/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/utils/getrefs.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/utils/stormcov/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/utils/stormcov/plugin.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cashaddress/LICENSE +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cashaddress/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cashaddress/base58.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cashaddress/convert.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cashaddress/crypto.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cashaddress/tests/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cashaddress/tests/test_cashaddress.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cpython/LICENSE +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cpython/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cpython/lib/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cpython/lib/email/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cpython/lib/email/_parseaddr.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cpython/lib/email/utils.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cpython/lib/ipaddress.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cpython/lib/test/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cpython/lib/test/support/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cpython/lib/test/test_email/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cpython/lib/test/test_email/test_email.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cpython/lib/test/test_email/test_utils.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/cpython/lib/test/test_ipaddress.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/substrateinterface/LICENSE +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/substrateinterface/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/substrateinterface/tests/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/substrateinterface/tests/test_ss58.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/substrateinterface/utils/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/substrateinterface/utils/ss58.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/utils.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/xrpl/LICENSE +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/xrpl/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/xrpl/constants.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/xrpl/core/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/xrpl/core/addresscodec/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/xrpl/core/addresscodec/codec.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/xrpl/core/addresscodec/exceptions.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/xrpl/core/addresscodec/main.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/xrpl/core/addresscodec/utils.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/xrpl/tests/__init__.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/xrpl/tests/test_codec.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/xrpl/tests/test_main.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse/vendor/xrpl/tests/test_main_test_cases.py +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse.egg-info/SOURCES.txt +0 -0
- {synapse-2.188.1 → synapse-2.190.0}/synapse.egg-info/dependency_links.txt +0 -0
- {synapse-2.188.1 → synapse-2.190.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.190.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
|
|
@@ -19,7 +19,7 @@ Classifier: Operating System :: POSIX :: Linux
|
|
|
19
19
|
Requires-Python: >=3.11
|
|
20
20
|
Description-Content-Type: text/x-rst
|
|
21
21
|
License-File: LICENSE
|
|
22
|
-
Requires-Dist: pyOpenSSL<
|
|
22
|
+
Requires-Dist: pyOpenSSL<24.3.0,>=24.0.0
|
|
23
23
|
Requires-Dist: cryptography<44.0.0,>=43.0.1
|
|
24
24
|
Requires-Dist: msgpack<1.1.0,>=1.0.5
|
|
25
25
|
Requires-Dist: xxhash<3.6.0,>=1.4.4
|
|
@@ -4,7 +4,7 @@ build-backend = 'setuptools.build_meta'
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = 'synapse'
|
|
7
|
-
version = '2.
|
|
7
|
+
version = '2.190.0'
|
|
8
8
|
authors = [
|
|
9
9
|
{ name = 'The Vertex Project LLC', email = 'root@vertex.link'},
|
|
10
10
|
]
|
|
@@ -23,7 +23,7 @@ classifiers = [
|
|
|
23
23
|
'Operating System :: POSIX :: Linux',
|
|
24
24
|
]
|
|
25
25
|
dependencies = [
|
|
26
|
-
'pyOpenSSL>=24.0.0,<
|
|
26
|
+
'pyOpenSSL>=24.0.0,<24.3.0',
|
|
27
27
|
'cryptography>=43.0.1,<44.0.0',
|
|
28
28
|
'msgpack>=1.0.5,<1.1.0',
|
|
29
29
|
'xxhash>=1.4.4,<3.6.0',
|
|
@@ -5830,14 +5830,18 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
5830
5830
|
opts = self._initStormOpts(opts)
|
|
5831
5831
|
|
|
5832
5832
|
if self.stormpool is not None and opts.get('mirror', True):
|
|
5833
|
-
extra = await self.getLogExtra(text=text)
|
|
5834
5833
|
proxy = await self._getMirrorProxy(opts)
|
|
5835
5834
|
|
|
5836
5835
|
if proxy is not None:
|
|
5837
|
-
|
|
5836
|
+
proxname = proxy._ahainfo.get('name')
|
|
5837
|
+
extra = await self.getLogExtra(mirror=proxname, hash=s_storm.queryhash(text))
|
|
5838
|
+
logger.info(f'Offloading Storm query to mirror {proxname}.', extra=extra)
|
|
5838
5839
|
|
|
5839
5840
|
mirropts = await self._getMirrorOpts(opts)
|
|
5840
5841
|
|
|
5842
|
+
mirropts.setdefault('_loginfo', {})
|
|
5843
|
+
mirropts['_loginfo']['pool:from'] = self.ahasvcname
|
|
5844
|
+
|
|
5841
5845
|
try:
|
|
5842
5846
|
return await proxy.count(text, opts=mirropts)
|
|
5843
5847
|
|
|
@@ -5911,10 +5915,15 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
5911
5915
|
proxy = await self._getMirrorProxy(opts)
|
|
5912
5916
|
|
|
5913
5917
|
if proxy is not None:
|
|
5914
|
-
|
|
5918
|
+
proxname = proxy._ahainfo.get('name')
|
|
5919
|
+
extra = await self.getLogExtra(mirror=proxname, hash=s_storm.queryhash(text))
|
|
5920
|
+
logger.info(f'Offloading Storm query to mirror {proxname}.', extra=extra)
|
|
5915
5921
|
|
|
5916
5922
|
mirropts = await self._getMirrorOpts(opts)
|
|
5917
5923
|
|
|
5924
|
+
mirropts.setdefault('_loginfo', {})
|
|
5925
|
+
mirropts['_loginfo']['pool:from'] = self.ahasvcname
|
|
5926
|
+
|
|
5918
5927
|
try:
|
|
5919
5928
|
async for mesg in proxy.storm(text, opts=mirropts):
|
|
5920
5929
|
yield mesg
|
|
@@ -5941,10 +5950,15 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
5941
5950
|
proxy = await self._getMirrorProxy(opts)
|
|
5942
5951
|
|
|
5943
5952
|
if proxy is not None:
|
|
5944
|
-
|
|
5953
|
+
proxname = proxy._ahainfo.get('name')
|
|
5954
|
+
extra = await self.getLogExtra(mirror=proxname, hash=s_storm.queryhash(text))
|
|
5955
|
+
logger.info(f'Offloading Storm query to mirror {proxname}.', extra=extra)
|
|
5945
5956
|
|
|
5946
5957
|
mirropts = await self._getMirrorOpts(opts)
|
|
5947
5958
|
|
|
5959
|
+
mirropts.setdefault('_loginfo', {})
|
|
5960
|
+
mirropts['_loginfo']['pool:from'] = self.ahasvcname
|
|
5961
|
+
|
|
5948
5962
|
try:
|
|
5949
5963
|
return await proxy.callStorm(text, opts=mirropts)
|
|
5950
5964
|
except s_exc.TimeOut:
|
|
@@ -5966,10 +5980,15 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
5966
5980
|
proxy = await self._getMirrorProxy(opts)
|
|
5967
5981
|
|
|
5968
5982
|
if proxy is not None:
|
|
5969
|
-
|
|
5983
|
+
proxname = proxy._ahainfo.get('name')
|
|
5984
|
+
extra = await self.getLogExtra(mirror=proxname, hash=s_storm.queryhash(text))
|
|
5985
|
+
logger.info(f'Offloading Storm query to mirror {proxname}.', extra=extra)
|
|
5970
5986
|
|
|
5971
5987
|
mirropts = await self._getMirrorOpts(opts)
|
|
5972
5988
|
|
|
5989
|
+
mirropts.setdefault('_loginfo', {})
|
|
5990
|
+
mirropts['_loginfo']['pool:from'] = self.ahasvcname
|
|
5991
|
+
|
|
5973
5992
|
try:
|
|
5974
5993
|
async for mesg in proxy.exportStorm(text, opts=mirropts):
|
|
5975
5994
|
yield mesg
|
|
@@ -6152,6 +6171,7 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
6152
6171
|
info['text'] = text
|
|
6153
6172
|
info['username'] = user.name
|
|
6154
6173
|
info['user'] = user.iden
|
|
6174
|
+
info['hash'] = s_storm.queryhash(text)
|
|
6155
6175
|
stormlogger.log(self.stormloglvl, 'Executing storm query {%s} as [%s]', text, user.name,
|
|
6156
6176
|
extra={'synapse': info})
|
|
6157
6177
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import types
|
|
2
2
|
import pprint
|
|
3
3
|
import asyncio
|
|
4
|
+
import hashlib
|
|
4
5
|
import logging
|
|
5
6
|
import argparse
|
|
6
7
|
import contextlib
|
|
@@ -18,7 +19,6 @@ import synapse.lib.chop as s_chop
|
|
|
18
19
|
import synapse.lib.coro as s_coro
|
|
19
20
|
import synapse.lib.node as s_node
|
|
20
21
|
import synapse.lib.snap as s_snap
|
|
21
|
-
import synapse.lib.time as s_time
|
|
22
22
|
import synapse.lib.cache as s_cache
|
|
23
23
|
import synapse.lib.layer as s_layer
|
|
24
24
|
import synapse.lib.scope as s_scope
|
|
@@ -626,7 +626,7 @@ stormcmds = (
|
|
|
626
626
|
{
|
|
627
627
|
'name': 'feed.list',
|
|
628
628
|
'descr': 'List the feed functions available in the Cortex',
|
|
629
|
-
'
|
|
629
|
+
'cmdargs': (),
|
|
630
630
|
'storm': '''
|
|
631
631
|
$lib.print('Storm feed list:')
|
|
632
632
|
for $flinfo in $lib.feed.list() {
|
|
@@ -824,19 +824,51 @@ stormcmds = (
|
|
|
824
824
|
{
|
|
825
825
|
'name': 'pkg.list',
|
|
826
826
|
'descr': 'List the storm packages loaded in the cortex.',
|
|
827
|
-
'
|
|
827
|
+
'cmdargs': (
|
|
828
|
+
('--verbose', {'default': False, 'action': 'store_true',
|
|
829
|
+
'help': 'Display build time for each package.'}),
|
|
830
|
+
),
|
|
828
831
|
'storm': '''
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
+
init {
|
|
833
|
+
$conf = ({
|
|
834
|
+
"columns": [
|
|
835
|
+
{"name": "name", "width": 40},
|
|
836
|
+
{"name": "vers", "width": 10},
|
|
837
|
+
],
|
|
838
|
+
"separators": {
|
|
839
|
+
"row:outline": false,
|
|
840
|
+
"column:outline": false,
|
|
841
|
+
"header:row": "#",
|
|
842
|
+
"data:row": "",
|
|
843
|
+
"column": "",
|
|
844
|
+
},
|
|
845
|
+
})
|
|
846
|
+
if $cmdopts.verbose {
|
|
847
|
+
$conf.columns.append(({"name": "time", "width": 20}))
|
|
848
|
+
}
|
|
849
|
+
$printer = $lib.tabular.printer($conf)
|
|
850
|
+
}
|
|
832
851
|
|
|
833
|
-
|
|
852
|
+
$pkgs = $lib.pkg.list()
|
|
834
853
|
|
|
835
|
-
|
|
854
|
+
if $($pkgs.size() > 0) {
|
|
836
855
|
$lib.print('Loaded storm packages:')
|
|
856
|
+
$lib.print($printer.header())
|
|
837
857
|
for $pkg in $pkgs {
|
|
838
|
-
$
|
|
858
|
+
$row = (
|
|
859
|
+
$pkg.name, $pkg.version,
|
|
860
|
+
)
|
|
861
|
+
if $cmdopts.verbose {
|
|
862
|
+
try {
|
|
863
|
+
$row.append($lib.time.format($pkg.build.time, '%Y-%m-%d %H:%M:%S'))
|
|
864
|
+
} catch StormRuntimeError as _ {
|
|
865
|
+
$row.append('not available')
|
|
866
|
+
}
|
|
867
|
+
}
|
|
868
|
+
$lib.print($printer.row($row))
|
|
839
869
|
}
|
|
870
|
+
} else {
|
|
871
|
+
$lib.print('No storm packages installed.')
|
|
840
872
|
}
|
|
841
873
|
'''
|
|
842
874
|
},
|
|
@@ -1649,6 +1681,10 @@ stormcmds = (
|
|
|
1649
1681
|
},
|
|
1650
1682
|
)
|
|
1651
1683
|
|
|
1684
|
+
@s_cache.memoize(size=1024)
|
|
1685
|
+
def queryhash(text):
|
|
1686
|
+
return hashlib.md5(text.encode(errors='surrogatepass'), usedforsecurity=False).hexdigest()
|
|
1687
|
+
|
|
1652
1688
|
class DmonManager(s_base.Base):
|
|
1653
1689
|
'''
|
|
1654
1690
|
Manager for StormDmon objects.
|
|
@@ -292,13 +292,6 @@ class LibHttp(s_stormtypes.Lib):
|
|
|
292
292
|
'codereason': self.codereason,
|
|
293
293
|
}
|
|
294
294
|
|
|
295
|
-
def strify(self, item):
|
|
296
|
-
if isinstance(item, (list, tuple)):
|
|
297
|
-
return [(str(k), str(v)) for (k, v) in item]
|
|
298
|
-
elif isinstance(item, dict):
|
|
299
|
-
return {str(k): str(v) for k, v in item.items()}
|
|
300
|
-
return item
|
|
301
|
-
|
|
302
295
|
@s_stormtypes.stormfunc(readonly=True)
|
|
303
296
|
async def urlencode(self, text):
|
|
304
297
|
text = await s_stormtypes.tostr(text)
|
|
@@ -341,7 +334,7 @@ class LibHttp(s_stormtypes.Lib):
|
|
|
341
334
|
ssl_verify = await s_stormtypes.tobool(ssl_verify, noneok=True)
|
|
342
335
|
ssl_opts = await s_stormtypes.toprim(ssl_opts)
|
|
343
336
|
|
|
344
|
-
headers =
|
|
337
|
+
headers = s_stormtypes.strifyHttpArg(headers)
|
|
345
338
|
|
|
346
339
|
sock = await WebSocket.anit()
|
|
347
340
|
|
|
@@ -410,9 +403,9 @@ class LibHttp(s_stormtypes.Lib):
|
|
|
410
403
|
|
|
411
404
|
kwargs = {'allow_redirects': allow_redirects}
|
|
412
405
|
if params:
|
|
413
|
-
kwargs['params'] =
|
|
406
|
+
kwargs['params'] = s_stormtypes.strifyHttpArg(params, multi=True)
|
|
414
407
|
|
|
415
|
-
headers =
|
|
408
|
+
headers = s_stormtypes.strifyHttpArg(headers)
|
|
416
409
|
|
|
417
410
|
if proxy is not None:
|
|
418
411
|
self.runt.confirm(('storm', 'lib', 'inet', 'http', 'proxy'))
|
|
@@ -60,6 +60,19 @@ def confirmEasyPerm(item, perm, mesg=None):
|
|
|
60
60
|
def allowedEasyPerm(item, perm):
|
|
61
61
|
return s_scope.get('runt').allowedEasyPerm(item, perm)
|
|
62
62
|
|
|
63
|
+
def strifyHttpArg(item, multi=False):
|
|
64
|
+
if isinstance(item, (list, tuple)):
|
|
65
|
+
return [(str(k), str(v)) for (k, v) in item]
|
|
66
|
+
elif isinstance(item, dict):
|
|
67
|
+
retn = {}
|
|
68
|
+
for name, valu in item.items():
|
|
69
|
+
if isinstance(valu, (list, tuple)) and multi:
|
|
70
|
+
retn[str(name)] = [str(v) for v in valu]
|
|
71
|
+
else:
|
|
72
|
+
retn[str(name)] = str(valu)
|
|
73
|
+
return retn
|
|
74
|
+
return item
|
|
75
|
+
|
|
63
76
|
class StormTypesRegistry:
|
|
64
77
|
# The following types are currently undefined.
|
|
65
78
|
base_undefined_types = (
|
|
@@ -2306,13 +2319,6 @@ class LibAxon(Lib):
|
|
|
2306
2319
|
'hashset': self.hashset,
|
|
2307
2320
|
}
|
|
2308
2321
|
|
|
2309
|
-
def strify(self, item):
|
|
2310
|
-
if isinstance(item, (list, tuple)):
|
|
2311
|
-
return [(str(k), str(v)) for (k, v) in item]
|
|
2312
|
-
elif isinstance(item, dict):
|
|
2313
|
-
return {str(k): str(v) for k, v in item.items()}
|
|
2314
|
-
return item
|
|
2315
|
-
|
|
2316
2322
|
@stormfunc(readonly=True)
|
|
2317
2323
|
async def readlines(self, sha256, errors='ignore'):
|
|
2318
2324
|
if not self.runt.allowed(('axon', 'get')):
|
|
@@ -2384,8 +2390,8 @@ class LibAxon(Lib):
|
|
|
2384
2390
|
if proxy is not None:
|
|
2385
2391
|
self.runt.confirm(('storm', 'lib', 'inet', 'http', 'proxy'))
|
|
2386
2392
|
|
|
2387
|
-
params =
|
|
2388
|
-
headers =
|
|
2393
|
+
params = strifyHttpArg(params, multi=True)
|
|
2394
|
+
headers = strifyHttpArg(headers)
|
|
2389
2395
|
|
|
2390
2396
|
await self.runt.snap.core.getAxon()
|
|
2391
2397
|
|
|
@@ -2423,8 +2429,8 @@ class LibAxon(Lib):
|
|
|
2423
2429
|
timeout = await toprim(timeout)
|
|
2424
2430
|
ssl_opts = await toprim(ssl_opts)
|
|
2425
2431
|
|
|
2426
|
-
params =
|
|
2427
|
-
headers =
|
|
2432
|
+
params = strifyHttpArg(params, multi=True)
|
|
2433
|
+
headers = strifyHttpArg(headers)
|
|
2428
2434
|
|
|
2429
2435
|
if proxy is not None:
|
|
2430
2436
|
self.runt.confirm(('storm', 'lib', 'inet', 'http', 'proxy'))
|
|
@@ -5008,9 +5014,12 @@ class List(Prim):
|
|
|
5008
5014
|
{'name': 'valu', 'type': 'any', 'desc': 'The value to check.', },
|
|
5009
5015
|
),
|
|
5010
5016
|
'returns': {'type': 'boolean', 'desc': 'True if the item is in the list, false otherwise.', }}},
|
|
5011
|
-
{'name': 'pop', 'desc': 'Pop and return the
|
|
5017
|
+
{'name': 'pop', 'desc': 'Pop and return the entry at the specified index in the list. If no index is specified, pop the last entry.',
|
|
5012
5018
|
'type': {'type': 'function', '_funcname': '_methListPop',
|
|
5013
|
-
'
|
|
5019
|
+
'args': (
|
|
5020
|
+
{'name': 'index', 'type': 'int', 'desc': 'Index of entry to pop.', 'default': -1},
|
|
5021
|
+
),
|
|
5022
|
+
'returns': {'type': 'any', 'desc': 'The entry at the specified index in the list.', }}},
|
|
5014
5023
|
{'name': 'size', 'desc': 'Return the length of the list.',
|
|
5015
5024
|
'type': {'type': 'function', '_funcname': '_methListSize',
|
|
5016
5025
|
'returns': {'type': 'int', 'desc': 'The size of the list.', }}},
|
|
@@ -5153,11 +5162,12 @@ class List(Prim):
|
|
|
5153
5162
|
return prim in self.valu
|
|
5154
5163
|
|
|
5155
5164
|
@stormfunc(readonly=True)
|
|
5156
|
-
async def _methListPop(self):
|
|
5165
|
+
async def _methListPop(self, index=-1):
|
|
5166
|
+
index = await toint(index)
|
|
5157
5167
|
try:
|
|
5158
|
-
return self.valu.pop()
|
|
5159
|
-
except IndexError:
|
|
5160
|
-
mesg =
|
|
5168
|
+
return self.valu.pop(index)
|
|
5169
|
+
except IndexError as exc:
|
|
5170
|
+
mesg = str(exc)
|
|
5161
5171
|
raise s_exc.StormRuntimeError(mesg=mesg)
|
|
5162
5172
|
|
|
5163
5173
|
@stormfunc(readonly=True)
|
|
@@ -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, 190, 0)
|
|
227
227
|
verstring = '.'.join([str(x) for x in version])
|
|
228
|
-
commit = '
|
|
228
|
+
commit = 'ea92cb42c33f8793e9d72834aa8d12b6456eee8b'
|
|
@@ -1,20 +1,17 @@
|
|
|
1
1
|
import shutil
|
|
2
2
|
import asyncio
|
|
3
|
-
import hashlib
|
|
4
3
|
import logging
|
|
5
|
-
import itertools
|
|
6
4
|
import collections
|
|
7
5
|
|
|
8
6
|
import synapse.exc as s_exc
|
|
9
7
|
import synapse.common as s_common
|
|
10
8
|
|
|
11
9
|
import synapse.lib.cell as s_cell
|
|
12
|
-
import synapse.lib.coro as s_coro
|
|
13
10
|
import synapse.lib.snap as s_snap
|
|
14
11
|
import synapse.lib.layer as s_layer
|
|
15
12
|
import synapse.lib.nexus as s_nexus
|
|
16
13
|
import synapse.lib.scope as s_scope
|
|
17
|
-
import synapse.lib.
|
|
14
|
+
import synapse.lib.storm as s_storm
|
|
18
15
|
import synapse.lib.scrape as s_scrape
|
|
19
16
|
import synapse.lib.msgpack as s_msgpack
|
|
20
17
|
import synapse.lib.schemas as s_schemas
|
|
@@ -1004,7 +1001,7 @@ class View(s_nexus.Pusher): # type: ignore
|
|
|
1004
1001
|
if editformat not in ('nodeedits', 'count', 'none'):
|
|
1005
1002
|
raise s_exc.BadConfValu(mesg=f'invalid edit format, got {editformat}', name='editformat', valu=editformat)
|
|
1006
1003
|
|
|
1007
|
-
texthash =
|
|
1004
|
+
texthash = s_storm.queryhash(text)
|
|
1008
1005
|
|
|
1009
1006
|
async def runStorm():
|
|
1010
1007
|
cancelled = False
|
|
@@ -709,6 +709,9 @@ class RiskModule(s_module.CoreModule):
|
|
|
709
709
|
('vuln', ('risk:vuln', {}), {
|
|
710
710
|
'doc': 'The vulnerability that the node is susceptible to.'}),
|
|
711
711
|
|
|
712
|
+
('technique', ('ou:technique', {}), {
|
|
713
|
+
'doc': 'The technique that the node is susceptible to.'}),
|
|
714
|
+
|
|
712
715
|
('period', ('ival', {}), {
|
|
713
716
|
'doc': 'The time window where the node was vulnerable.'}),
|
|
714
717
|
|
|
@@ -5,7 +5,6 @@ import time
|
|
|
5
5
|
import asyncio
|
|
6
6
|
import hashlib
|
|
7
7
|
import logging
|
|
8
|
-
import textwrap
|
|
9
8
|
|
|
10
9
|
import regex
|
|
11
10
|
|
|
@@ -16,13 +15,13 @@ import synapse.common as s_common
|
|
|
16
15
|
import synapse.cortex as s_cortex
|
|
17
16
|
import synapse.telepath as s_telepath
|
|
18
17
|
|
|
19
|
-
import synapse.lib.aha as s_aha
|
|
20
18
|
import synapse.lib.base as s_base
|
|
21
19
|
import synapse.lib.cell as s_cell
|
|
22
20
|
import synapse.lib.coro as s_coro
|
|
23
21
|
import synapse.lib.node as s_node
|
|
24
22
|
import synapse.lib.time as s_time
|
|
25
23
|
import synapse.lib.layer as s_layer
|
|
24
|
+
import synapse.lib.storm as s_storm
|
|
26
25
|
import synapse.lib.output as s_output
|
|
27
26
|
import synapse.lib.msgpack as s_msgpack
|
|
28
27
|
import synapse.lib.version as s_version
|
|
@@ -37,6 +36,10 @@ from synapse.tests.utils import alist
|
|
|
37
36
|
|
|
38
37
|
logger = logging.getLogger(__name__)
|
|
39
38
|
|
|
39
|
+
def jsonlines(text):
|
|
40
|
+
lines = [k for k in text.split('\n') if k]
|
|
41
|
+
return [json.loads(line) for line in lines]
|
|
42
|
+
|
|
40
43
|
class CortexTest(s_t_utils.SynTest):
|
|
41
44
|
'''
|
|
42
45
|
The tests that should be run with different types of layers
|
|
@@ -8072,6 +8075,8 @@ class CortexBasicTest(s_t_utils.SynTest):
|
|
|
8072
8075
|
|
|
8073
8076
|
async with self.getTestAha() as aha:
|
|
8074
8077
|
|
|
8078
|
+
ahanet = aha.conf.req('aha:network')
|
|
8079
|
+
|
|
8075
8080
|
async with await s_base.Base.anit() as base:
|
|
8076
8081
|
|
|
8077
8082
|
with self.getTestDir() as dirn:
|
|
@@ -8107,43 +8112,89 @@ class CortexBasicTest(s_t_utils.SynTest):
|
|
|
8107
8112
|
self.stormIsInPrint('Storm pool configuration set.', msgs)
|
|
8108
8113
|
|
|
8109
8114
|
await core00.fini()
|
|
8115
|
+
await core01.fini()
|
|
8110
8116
|
|
|
8111
8117
|
core00 = await base.enter_context(self.getTestCore(dirn=dirn00))
|
|
8118
|
+
core01 = await base.enter_context(self.getTestCore(dirn=dirn01, conf={'storm:log': True}))
|
|
8112
8119
|
|
|
8113
8120
|
await core00.stormpool.waitready(timeout=12)
|
|
8114
8121
|
|
|
8115
|
-
|
|
8116
|
-
|
|
8122
|
+
# storm()
|
|
8123
|
+
q = 'inet:asn=0'
|
|
8124
|
+
qhash = s_storm.queryhash(q)
|
|
8125
|
+
with self.getStructuredAsyncLoggerStream('synapse') as stream:
|
|
8126
|
+
msgs = await alist(core00.storm(q))
|
|
8117
8127
|
self.len(1, [m for m in msgs if m[0] == 'node'])
|
|
8118
8128
|
|
|
8119
|
-
stream.
|
|
8120
|
-
data = stream.read()
|
|
8121
|
-
self.isin('Offloading Storm query', data)
|
|
8129
|
+
data = stream.getvalue()
|
|
8122
8130
|
self.notin('Timeout', data)
|
|
8131
|
+
msgs = jsonlines(data)
|
|
8132
|
+
self.len(2, msgs)
|
|
8123
8133
|
|
|
8124
|
-
|
|
8125
|
-
|
|
8134
|
+
self.eq(msgs[0].get('message'), f'Offloading Storm query to mirror 01.core.{ahanet}.')
|
|
8135
|
+
self.eq(msgs[0].get('hash'), qhash)
|
|
8136
|
+
self.eq(msgs[0].get('mirror'), f'01.core.{ahanet}')
|
|
8126
8137
|
|
|
8127
|
-
|
|
8128
|
-
|
|
8129
|
-
self.
|
|
8138
|
+
self.eq(msgs[1].get('message'), f'Executing storm query {{{q}}} as [root]')
|
|
8139
|
+
self.eq(msgs[1].get('hash'), qhash)
|
|
8140
|
+
self.eq(msgs[1].get('pool:from'), f'00.core.{ahanet}')
|
|
8141
|
+
|
|
8142
|
+
# callStorm()
|
|
8143
|
+
q = 'inet:asn=0 return($lib.true)'
|
|
8144
|
+
qhash = s_storm.queryhash(q)
|
|
8145
|
+
with self.getStructuredAsyncLoggerStream('synapse') as stream:
|
|
8146
|
+
self.true(await core00.callStorm(q))
|
|
8147
|
+
|
|
8148
|
+
data = stream.getvalue()
|
|
8130
8149
|
self.notin('Timeout', data)
|
|
8150
|
+
msgs = jsonlines(data)
|
|
8151
|
+
self.len(2, msgs)
|
|
8131
8152
|
|
|
8132
|
-
|
|
8133
|
-
|
|
8153
|
+
self.eq(msgs[0].get('message'), f'Offloading Storm query to mirror 01.core.{ahanet}.')
|
|
8154
|
+
self.eq(msgs[0].get('hash'), qhash)
|
|
8155
|
+
self.eq(msgs[0].get('mirror'), f'01.core.{ahanet}')
|
|
8134
8156
|
|
|
8135
|
-
|
|
8136
|
-
|
|
8137
|
-
self.
|
|
8157
|
+
self.eq(msgs[1].get('message'), f'Executing storm query {{{q}}} as [root]')
|
|
8158
|
+
self.eq(msgs[1].get('hash'), qhash)
|
|
8159
|
+
self.eq(msgs[1].get('pool:from'), f'00.core.{ahanet}')
|
|
8160
|
+
|
|
8161
|
+
# exportStorm()
|
|
8162
|
+
q = 'inet:asn=0'
|
|
8163
|
+
qhash = s_storm.queryhash(q)
|
|
8164
|
+
with self.getStructuredAsyncLoggerStream('synapse') as stream:
|
|
8165
|
+
self.len(1, await alist(core00.exportStorm(q)))
|
|
8166
|
+
|
|
8167
|
+
data = stream.getvalue()
|
|
8138
8168
|
self.notin('Timeout', data)
|
|
8169
|
+
msgs = jsonlines(data)
|
|
8170
|
+
self.len(2, msgs)
|
|
8139
8171
|
|
|
8140
|
-
|
|
8141
|
-
|
|
8172
|
+
self.eq(msgs[0].get('message'), f'Offloading Storm query to mirror 01.core.{ahanet}.')
|
|
8173
|
+
self.eq(msgs[0].get('hash'), qhash)
|
|
8174
|
+
self.eq(msgs[0].get('mirror'), f'01.core.{ahanet}')
|
|
8142
8175
|
|
|
8143
|
-
|
|
8144
|
-
|
|
8145
|
-
self.
|
|
8176
|
+
self.eq(msgs[1].get('message'), f'Executing storm query {{{q}}} as [root]')
|
|
8177
|
+
self.eq(msgs[1].get('hash'), qhash)
|
|
8178
|
+
self.eq(msgs[1].get('pool:from'), f'00.core.{ahanet}')
|
|
8179
|
+
|
|
8180
|
+
# count()
|
|
8181
|
+
q = 'inet:asn=0'
|
|
8182
|
+
qhash = s_storm.queryhash(q)
|
|
8183
|
+
with self.getStructuredAsyncLoggerStream('synapse') as stream:
|
|
8184
|
+
self.eq(1, await core00.count(q))
|
|
8185
|
+
|
|
8186
|
+
data = stream.getvalue()
|
|
8146
8187
|
self.notin('Timeout', data)
|
|
8188
|
+
msgs = jsonlines(data)
|
|
8189
|
+
self.len(2, msgs)
|
|
8190
|
+
|
|
8191
|
+
self.eq(msgs[0].get('message'), f'Offloading Storm query to mirror 01.core.{ahanet}.')
|
|
8192
|
+
self.eq(msgs[0].get('hash'), qhash)
|
|
8193
|
+
self.eq(msgs[0].get('mirror'), f'01.core.{ahanet}')
|
|
8194
|
+
|
|
8195
|
+
self.eq(msgs[1].get('message'), f'Executing storm query {{{q}}} as [root]')
|
|
8196
|
+
self.eq(msgs[1].get('hash'), qhash)
|
|
8197
|
+
self.eq(msgs[1].get('pool:from'), f'00.core.{ahanet}')
|
|
8147
8198
|
|
|
8148
8199
|
with patch('synapse.cortex.CoreApi.getNexsIndx', _hang):
|
|
8149
8200
|
|
|
@@ -1351,7 +1351,7 @@ class AstTest(s_test.SynTest):
|
|
|
1351
1351
|
{n.ndef for n in nodes})
|
|
1352
1352
|
|
|
1353
1353
|
msgs = await core.stormlist('pkg.list')
|
|
1354
|
-
self.stormIsInPrint('foo
|
|
1354
|
+
self.stormIsInPrint('foo 0.0.1', msgs, whitespace=False)
|
|
1355
1355
|
|
|
1356
1356
|
msgs = await core.stormlist('pkg.del asdf')
|
|
1357
1357
|
self.stormIsInPrint('No package names match "asdf". Aborting.', msgs)
|
|
@@ -862,8 +862,8 @@ class StormTest(s_t_utils.SynTest):
|
|
|
862
862
|
pkg1 = {'name': 'haha', 'version': '1.2.3'}
|
|
863
863
|
await core.addStormPkg(pkg1)
|
|
864
864
|
msgs = await core.stormlist('pkg.list')
|
|
865
|
-
self.
|
|
866
|
-
self.
|
|
865
|
+
self.stormIsInPrint('haha', msgs)
|
|
866
|
+
self.stormIsInPrint('hehe', msgs)
|
|
867
867
|
|
|
868
868
|
self.true(await core.callStorm('return($lib.pkg.has(haha))'))
|
|
869
869
|
|
|
@@ -871,6 +871,15 @@ class StormTest(s_t_utils.SynTest):
|
|
|
871
871
|
self.none(await core.callStorm('return($lib.pkg.get(haha))'))
|
|
872
872
|
self.false(await core.callStorm('return($lib.pkg.has(haha))'))
|
|
873
873
|
|
|
874
|
+
msgs = await core.stormlist('pkg.list --verbose')
|
|
875
|
+
self.stormIsInPrint('not available', msgs)
|
|
876
|
+
|
|
877
|
+
pkg2 = {'name': 'hoho', 'version': '4.5.6', 'build': {'time': 1732017600000}}
|
|
878
|
+
await core.addStormPkg(pkg2)
|
|
879
|
+
self.eq('4.5.6', await core.callStorm('return($lib.pkg.get(hoho).version)'))
|
|
880
|
+
msgs = await core.stormlist('pkg.list --verbose')
|
|
881
|
+
self.stormIsInPrint('2024-11-19 12:00:00', msgs)
|
|
882
|
+
|
|
874
883
|
# test for $lib.queue.gen()
|
|
875
884
|
self.eq(0, await core.callStorm('return($lib.queue.gen(woot).size())'))
|
|
876
885
|
# and again to test *not* creating it...
|
|
@@ -464,6 +464,15 @@ class StormHttpTest(s_test.SynTest):
|
|
|
464
464
|
self.isin('mesg', errinfo)
|
|
465
465
|
self.eq('', errinfo.get('mesg')) # timeouterror has no mesg
|
|
466
466
|
|
|
467
|
+
q = '''
|
|
468
|
+
$params=({"foo": ["bar", "baz"], "key": [["valu"]]})
|
|
469
|
+
$resp = $lib.inet.http.request(GET, $url, params=$params, ssl_verify=$lib.false)
|
|
470
|
+
return ( $resp.json() )
|
|
471
|
+
'''
|
|
472
|
+
resp = await core.callStorm(q, opts=opts)
|
|
473
|
+
data = resp.get('result')
|
|
474
|
+
self.eq(data.get('params'), {'foo': ['bar', 'baz'], 'key': ["('valu',)"]})
|
|
475
|
+
|
|
467
476
|
async def test_storm_http_post(self):
|
|
468
477
|
|
|
469
478
|
async with self.getTestCore() as core:
|
|
@@ -1665,8 +1665,23 @@ class StormTypesTest(s_test.SynTest):
|
|
|
1665
1665
|
self.eq('bar', await core.callStorm('$foo = (foo, bar) return($foo.1)'))
|
|
1666
1666
|
self.eq('foo', await core.callStorm('$foo = (foo, bar) return($foo."-2")'))
|
|
1667
1667
|
self.eq('bar', await core.callStorm('$foo = (foo, bar) return($foo.pop())'))
|
|
1668
|
-
|
|
1668
|
+
|
|
1669
|
+
self.eq(3, await core.callStorm('$list = ([1, 2, 3, 4]) return($list.pop(2))'))
|
|
1670
|
+
self.eq(2, await core.callStorm('$list = ([1, 2, 3, 4]) return($list.pop(-3))'))
|
|
1671
|
+
self.eq(4, await core.callStorm('$list = ([1, 2, 3, 4]) $list.pop(2) return($list.pop(2))'))
|
|
1672
|
+
self.eq([1, 3, 4], await core.callStorm('$list = ([1, 2, 3, 4]) $list.pop(1) return($list)'))
|
|
1673
|
+
|
|
1674
|
+
with self.raises(s_exc.StormRuntimeError) as exc:
|
|
1669
1675
|
await core.callStorm('$lib.list().pop()')
|
|
1676
|
+
self.eq(exc.exception.get('mesg'), 'pop from empty list')
|
|
1677
|
+
|
|
1678
|
+
with self.raises(s_exc.StormRuntimeError) as exc:
|
|
1679
|
+
await core.callStorm('$list = ([1, 2, 3, 4]) return($list.pop(13))')
|
|
1680
|
+
self.eq(exc.exception.get('mesg'), 'pop index out of range')
|
|
1681
|
+
|
|
1682
|
+
with self.raises(s_exc.StormRuntimeError) as exc:
|
|
1683
|
+
await core.callStorm('$list = ([1, 2, 3, 4]) return($list.pop(-5))')
|
|
1684
|
+
self.eq(exc.exception.get('mesg'), 'pop index out of range')
|
|
1670
1685
|
|
|
1671
1686
|
somelist = ["foo", "bar", "baz", "bar"]
|
|
1672
1687
|
q = '''
|
|
@@ -523,6 +523,7 @@ class RiskModelTest(s_t_utils.SynTest):
|
|
|
523
523
|
:period=(2022, ?)
|
|
524
524
|
:node=(inet:fqdn, vertex.link)
|
|
525
525
|
:vuln={[ risk:vuln=* :name=redtree ]}
|
|
526
|
+
:technique={[ ou:technique=* :name=foo ]}
|
|
526
527
|
:mitigated=true
|
|
527
528
|
:mitigations={[ risk:mitigation=* :name=patchstuff ]}
|
|
528
529
|
]
|
|
@@ -535,6 +536,7 @@ class RiskModelTest(s_t_utils.SynTest):
|
|
|
535
536
|
self.len(1, await core.nodes('risk:vulnerable -> risk:vuln'))
|
|
536
537
|
self.len(1, await core.nodes('risk:vuln:name=redtree -> risk:vulnerable :node -> *'))
|
|
537
538
|
self.len(1, await core.nodes('risk:vulnerable -> risk:mitigation'))
|
|
539
|
+
self.len(1, await core.nodes('risk:vulnerable -> ou:technique'))
|
|
538
540
|
|
|
539
541
|
nodes = await core.nodes('''
|
|
540
542
|
[ risk:outage=*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: synapse
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.190.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
|
|
@@ -19,7 +19,7 @@ Classifier: Operating System :: POSIX :: Linux
|
|
|
19
19
|
Requires-Python: >=3.11
|
|
20
20
|
Description-Content-Type: text/x-rst
|
|
21
21
|
License-File: LICENSE
|
|
22
|
-
Requires-Dist: pyOpenSSL<
|
|
22
|
+
Requires-Dist: pyOpenSSL<24.3.0,>=24.0.0
|
|
23
23
|
Requires-Dist: cryptography<44.0.0,>=43.0.1
|
|
24
24
|
Requires-Dist: msgpack<1.1.0,>=1.0.5
|
|
25
25
|
Requires-Dist: xxhash<3.6.0,>=1.4.4
|