synapse 2.168.0__tar.gz → 2.170.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.168.0/synapse.egg-info → synapse-2.170.0}/PKG-INFO +1 -1
- {synapse-2.168.0 → synapse-2.170.0}/pyproject.toml +1 -1
- {synapse-2.168.0 → synapse-2.170.0}/synapse/cortex.py +99 -10
- {synapse-2.168.0 → synapse-2.170.0}/synapse/datamodel.py +5 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/agenda.py +3 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/ast.py +70 -12
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/cell.py +83 -21
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/httpapi.py +3 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/layer.py +75 -6
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/node.py +7 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/snap.py +25 -5
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/storm.py +1 -1
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/cortex.py +1 -1
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/model.py +420 -1
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormtypes.py +68 -3
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/types.py +35 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/version.py +2 -2
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/view.py +94 -24
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/files.py +40 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/inet.py +8 -4
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/infotech.py +355 -17
- synapse-2.170.0/synapse/tests/files/cpedata.json +525034 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_cortex.py +99 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_agenda.py +17 -3
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_ast.py +66 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_cell.py +133 -52
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_layer.py +52 -1
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_scrape.py +72 -71
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_snap.py +16 -1
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_storm.py +118 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_cortex.py +27 -0
- synapse-2.170.0/synapse/tests/test_lib_stormlib_model.py +829 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormtypes.py +161 -14
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_types.py +20 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_view.py +77 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_model_files.py +51 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_model_inet.py +63 -1
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_model_infotech.py +187 -26
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/utils.py +12 -0
- {synapse-2.168.0 → synapse-2.170.0/synapse.egg-info}/PKG-INFO +1 -1
- {synapse-2.168.0 → synapse-2.170.0}/synapse.egg-info/SOURCES.txt +1 -0
- synapse-2.168.0/synapse/tests/test_lib_stormlib_model.py +0 -297
- {synapse-2.168.0 → synapse-2.170.0}/LICENSE +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/README.rst +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/setup.cfg +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/axon.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/cells.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/cmds/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/cmds/boss.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/cmds/cortex.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/cmds/hive.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/common.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/cryotank.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/daemon.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/attack-flow/LICENSE.txt +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/attack-flow/README.md +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/attack-flow/attack-flow-schema-2.0.0.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/certs/cas/The Vertex Project Intermediate CA 00.crt +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/certs/cas/The Vertex Project ROOT CA.crt +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/certs/crls/The Vertex Project Intermediate CA 00.crl +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/certs/crls/The Vertex Project ROOT CA.crl +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/iana.tlds.mpk +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/README.md +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/LICENSE.txt +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/binary.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/bundle.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/core.json +0 -0
- {synapse-2.168.0 → synapse-2.170.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.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/dictionary.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension-definition.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/extension.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/external-reference.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/granular-marking.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hashes-type.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/hex.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/identifier.json +0 -0
- {synapse-2.168.0 → synapse-2.170.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.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/language-content.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/marking-definition.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/properties.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/timestamp.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/common/url-regex.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/artifact.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/autonomous-system.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/directory.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/domain-name.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-addr.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/email-message.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/file.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv4-addr.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/ipv6-addr.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mac-addr.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/mutex.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/network-traffic.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/process.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/software.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/url.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/user-account.json +0 -0
- {synapse-2.168.0 → synapse-2.170.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.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/observables/x509-certificate.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/attack-pattern.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/campaign.json +0 -0
- {synapse-2.168.0 → synapse-2.170.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.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/grouping.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/identity.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/incident.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/indicator.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/infrastructure.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/intrusion-set.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/location.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware-analysis.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/malware.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/note.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/observed-data.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/opinion.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/report.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/threat-actor.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/tool.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sdos/vulnerability.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/relationship.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/data/jsonschemas/raw.githubusercontent.com/oasis-open/cti-stix2-json-schemas/stix2.1/schemas/sros/sighting.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/exc.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/glob.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/aha.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/autodoc.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/base.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/boss.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/cache.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/certdir.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/chop.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/cli.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/cmd.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/cmdr.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/config.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/const.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/coro.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/crypto/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/crypto/coin.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/crypto/ecc.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/crypto/passwd.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/crypto/rsa.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/crypto/tinfoil.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/datfile.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/dyndeps.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/encoding.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/gis.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/grammar.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/hashitem.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/hashset.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/health.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/hive.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/hiveauth.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/ingest.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/interval.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/jsonstor.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/jupyter.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/link.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/lmdbslab.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/modelrev.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/module.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/modules.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/msgpack.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/multislabseqn.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/nexus.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/oauth.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/output.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/parser.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/platforms/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/platforms/common.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/platforms/darwin.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/platforms/freebsd.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/platforms/linux.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/platforms/windows.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/queue.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/ratelimit.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/reflect.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/rstorm.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/schemas.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/scope.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/scrape.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/share.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/slaboffs.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/slabseqn.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/spooled.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/storm.lark +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/storm_format.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormctrl.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormhttp.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/aha.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/auth.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/backup.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/basex.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/cache.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/cell.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/compression.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/easyperm.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/ethereum.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/gen.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/gis.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/graph.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/hashes.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/hex.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/imap.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/infosec.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/ipv6.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/iters.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/json.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/log.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/macro.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/math.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/mime.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/modelext.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/notifications.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/oauth.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/pack.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/project.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/random.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/scrape.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/smtp.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/spooled.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/stats.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/stix.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/storm.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/vault.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/version.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/xml.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormlib/yaml.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormsvc.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/stormwhois.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/structlog.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/task.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/thishost.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/thisplat.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/threads.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/time.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/trigger.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lib/urlhelp.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lookup/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lookup/cvss.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lookup/iana.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lookup/iso3166.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lookup/macho.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lookup/pe.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lookup/phonenum.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/lookup/timezones.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/mindmeld.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/auth.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/base.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/belief.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/biz.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/crypto.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/dns.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/economic.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/geopol.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/geospace.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/gov/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/gov/cn.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/gov/intl.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/gov/us.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/language.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/material.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/media.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/orgs.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/person.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/planning.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/proj.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/risk.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/science.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/syn.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/telco.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/models/transport.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/servers/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/servers/aha.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/servers/axon.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/servers/cell.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/servers/cortex.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/servers/cryotank.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/servers/jsonstor.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/servers/stemcell.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/telepath.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/TestUtilsGetrefs.test_basics.yaml +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/attack_flow/CISA AA22-138B VMWare Workspace (Alt).json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/attack_flow/CISA_Iranian_APT.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/certdir/cas/ca.crt +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/certdir/cas/ca.key +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/certdir/hosts/localhost.crt +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/certdir/hosts/localhost.key +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/certdir/users/root.crt +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/certdir/users/root.key +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/certdir/users/user.crt +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/certdir/users/user.key +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/rstorm/httpresp1.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/rstorm/httpresp2.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/rstorm/httpresp3.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/rstorm/httprespmulti.yaml +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/rstorm/testsvc.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stix_export/basic.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stix_export/custom0.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stix_export/risk0.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stix_import/apt1.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stix_import/oasis-example-00.json +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormcov/argvquery.storm +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormcov/dupesubs.storm +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormcov/lookup.storm +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormcov/pivot.storm +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormcov/spin.storm +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormcov/stormctrl.storm +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormmod/common +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormpkg/badapidef.yaml +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormpkg/badcmdname.yaml +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormpkg/badjsonpkg.yaml +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormpkg/docs/foobar.md +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormpkg/docs/foobar.svg +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormpkg/dotstorm/dotstorm.yaml +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormpkg/dotstorm/storm/commands/dotstorm.bar.storm +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormpkg/dotstorm/storm/modules/dotstorm.foo.storm +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormpkg/nocontent.yaml +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormpkg/nomime.yaml +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormpkg/nopath.yaml +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormpkg/nosuchfile.yaml +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormpkg/notitle.yaml +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormpkg/optic/index.html +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormpkg/storm/commands/invalidCMD +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormpkg/storm/commands/testpkg.baz +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormpkg/storm/commands/testpkgcmd +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormpkg/storm/modules/apimod +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormpkg/storm/modules/testmod +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormpkg/testpkg.yaml +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormpkg/workflows/testpkg-bam.newp +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormpkg/workflows/testpkg-baz.yaml +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/stormpkg/workflows/testpkg-foo.yaml +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/test.dat +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/files/testcore/cell.yaml +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/nopmod.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_axon.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_cmds_boss.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_cmds_cortex.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_cmds_hive.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_common.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_cryotank.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_daemon.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_data.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_datamodel.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_exc.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_glob.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_init.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_aha.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_autodoc.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_base.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_boss.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_cache.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_certdir.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_chop.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_cli.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_config.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_const.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_coro.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_crypto_coin.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_crypto_ecc.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_crypto_passwd.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_crypto_tinfoil.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_datfile.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_dyndeps.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_encoding.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_gis.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_grammar.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_hashitem.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_hashset.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_health.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_hive.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_hiveauth.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_httpapi.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_interval.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_jsonstor.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_jupyter.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_link.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_lmdbslab.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_modelrev.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_module.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_msgpack.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_multislabseqn.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_nexus.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_node.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_output.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_platforms_linux.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_queue.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_ratelimit.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_reflect.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_rstorm.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_scope.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_slaboffs.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_slabseqn.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_spooled.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_storm_format.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormhttp.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_aha.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_auth.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_backup.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_basex.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_cache.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_cell.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_compression.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_easyperm.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_ethereum.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_gen.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_gis.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_hashes.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_hex.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_imap.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_infosec.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_ipv6.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_iters.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_json.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_log.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_macro.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_mime.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_modelext.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_oauth.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_pack.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_random.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_scrape.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_smtp.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_spooled.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_stats.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_stix.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_storm.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_vault.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_xml.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormlib_yaml.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormsvc.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_stormwhois.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_structlog.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_task.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_thishost.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_time.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_trigger.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_urlhelp.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lib_version.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lookup_iso3166.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_lookup_phonenum.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_mindmeld.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_model_auth.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_model_base.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_model_belief.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_model_biz.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_model_crypto.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_model_dns.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_model_economic.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_model_geopol.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_model_geospace.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_model_gov_cn.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_model_gov_intl.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_model_gov_us.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_model_language.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_model_material.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_model_media.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_model_orgs.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_model_person.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_model_planning.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_model_proj.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_model_risk.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_model_science.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_model_syn.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_model_telco.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_model_transport.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_servers_axon.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_servers_cortex.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_servers_cryotank.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_servers_stemcell.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_servers_univ.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_telepath.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_tools_aha.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_tools_autodoc.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_tools_axon2axon.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_tools_backup.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_tools_cellauth.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_tools_cryo_cat.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_tools_cryo_list.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_tools_csvtool.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_tools_docker_validate.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_tools_easycert.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_tools_feed.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_tools_genpkg.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_tools_guid.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_tools_healthcheck.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_tools_hiveload.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_tools_hivesave.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_tools_json2mpk.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_tools_livebackup.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_tools_modrole.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_tools_moduser.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_tools_pullfile.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_tools_pushfile.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_tools_reload.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_tools_rstorm.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_tools_storm.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_utils.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_utils_getrefs.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tests/test_utils_stormcov.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/aha/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/aha/easycert.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/aha/enroll.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/aha/list.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/aha/provision/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/aha/provision/service.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/aha/provision/user.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/autodoc.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/axon2axon.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/backup.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/cellauth.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/cmdr.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/cryo/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/cryo/cat.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/cryo/list.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/csvtool.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/docker/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/docker/validate.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/easycert.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/feed.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/genpkg.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/guid.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/healthcheck.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/hive/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/hive/load.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/hive/save.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/json2mpk.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/livebackup.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/modrole.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/moduser.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/promote.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/pullfile.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/pushfile.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/reload.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/rstorm.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/tools/storm.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/utils/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/utils/getrefs.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/utils/stormcov/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/utils/stormcov/plugin.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/cashaddress/LICENSE +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/cashaddress/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/cashaddress/base58.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/cashaddress/convert.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/cashaddress/crypto.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/cashaddress/tests/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/cashaddress/tests/test_cashaddress.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/substrateinterface/LICENSE +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/substrateinterface/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/substrateinterface/tests/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/substrateinterface/tests/test_ss58.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/substrateinterface/utils/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/substrateinterface/utils/ss58.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/utils.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/xrpl/LICENSE +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/xrpl/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/xrpl/constants.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/xrpl/core/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/xrpl/core/addresscodec/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/xrpl/core/addresscodec/codec.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/xrpl/core/addresscodec/exceptions.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/xrpl/core/addresscodec/main.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/xrpl/core/addresscodec/utils.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/xrpl/tests/__init__.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/xrpl/tests/test_codec.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/xrpl/tests/test_main.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse/vendor/xrpl/tests/test_main_test_cases.py +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse.egg-info/dependency_links.txt +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse.egg-info/requires.txt +0 -0
- {synapse-2.168.0 → synapse-2.170.0}/synapse.egg-info/top_level.txt +0 -0
|
@@ -573,14 +573,6 @@ class CoreApi(s_cell.CellApi):
|
|
|
573
573
|
async def delStormDmon(self, iden):
|
|
574
574
|
return await self.cell.delStormDmon(iden)
|
|
575
575
|
|
|
576
|
-
@s_cell.adminapi(log=True)
|
|
577
|
-
async def enableMigrationMode(self): # pragma: no cover
|
|
578
|
-
s_common.deprdate('CoreApi.enableMigrationMode', '2024-05-05')
|
|
579
|
-
|
|
580
|
-
@s_cell.adminapi(log=True)
|
|
581
|
-
async def disableMigrationMode(self): # pragma: no cover
|
|
582
|
-
s_common.deprdate('CoreApi.disableMigrationMode', '2024-05-05')
|
|
583
|
-
|
|
584
576
|
@s_cell.adminapi()
|
|
585
577
|
async def cloneLayer(self, iden, ldef=None):
|
|
586
578
|
|
|
@@ -1350,6 +1342,17 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
1350
1342
|
'ex': 'node.prop.del.inet:ipv4.asn',
|
|
1351
1343
|
'desc': 'Controls removing a specific property from a form of node in a layer.'},
|
|
1352
1344
|
|
|
1345
|
+
{'perm': ('node', 'data', 'set'), 'gate': 'layer',
|
|
1346
|
+
'desc': 'Permits a user to set node data in a given layer.'},
|
|
1347
|
+
{'perm': ('node', 'data', 'set', '<key>'), 'gate': 'layer',
|
|
1348
|
+
'ex': 'node.data.set.hehe',
|
|
1349
|
+
'desc': 'Permits a user to set node data in a given layer for a specific key.'},
|
|
1350
|
+
{'perm': ('node', 'data', 'pop'), 'gate': 'layer',
|
|
1351
|
+
'desc': 'Permits a user to remove node data in a given layer.'},
|
|
1352
|
+
{'perm': ('node', 'data', 'pop', '<key>'), 'gate': 'layer',
|
|
1353
|
+
'ex': 'node.data.pop.hehe',
|
|
1354
|
+
'desc': 'Permits a user to remove node data in a given layer for a specific key.'},
|
|
1355
|
+
|
|
1353
1356
|
{'perm': ('pkg', 'add'), 'gate': 'cortex',
|
|
1354
1357
|
'desc': 'Controls access to adding storm packages.'},
|
|
1355
1358
|
{'perm': ('pkg', 'del'), 'gate': 'cortex',
|
|
@@ -3863,7 +3866,8 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
3863
3866
|
with open(idenpath, 'w') as fd:
|
|
3864
3867
|
fd.write(jsoniden)
|
|
3865
3868
|
|
|
3866
|
-
|
|
3869
|
+
# Disable sysctl checks for embedded jsonstor server
|
|
3870
|
+
conf = {'cell:guid': jsoniden, 'health:sysctl:checks': False}
|
|
3867
3871
|
self.jsonstor = await s_jsonstor.JsonStorCell.anit(path, conf=conf, parent=self)
|
|
3868
3872
|
|
|
3869
3873
|
self.onfini(self.jsonstor)
|
|
@@ -3940,7 +3944,8 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
3940
3944
|
turl = self.conf.get('axon')
|
|
3941
3945
|
if turl is None:
|
|
3942
3946
|
path = os.path.join(self.dirn, 'axon')
|
|
3943
|
-
|
|
3947
|
+
# Disable sysctl checks for embedded axon server
|
|
3948
|
+
conf = {'health:sysctl:checks': False}
|
|
3944
3949
|
|
|
3945
3950
|
proxyurl = self.conf.get('http:proxy')
|
|
3946
3951
|
if proxyurl is not None:
|
|
@@ -4491,6 +4496,87 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
4491
4496
|
await self.feedBeholder('view:add', pack, gates=[iden])
|
|
4492
4497
|
return pack
|
|
4493
4498
|
|
|
4499
|
+
async def delViewWithLayer(self, iden):
|
|
4500
|
+
'''
|
|
4501
|
+
Delete a Cortex View and its write Layer if not in use by other View stacks.
|
|
4502
|
+
|
|
4503
|
+
Note:
|
|
4504
|
+
Any children of the View will have their parent View updated to
|
|
4505
|
+
the deleted View's parent (if present). The deleted View's write Layer
|
|
4506
|
+
will also be removed from any child Views which contain it in their
|
|
4507
|
+
Layer stack. If the Layer is used in Views which are not children of
|
|
4508
|
+
the deleted View, the Layer will be preserved, otherwise it will be
|
|
4509
|
+
deleted as well.
|
|
4510
|
+
'''
|
|
4511
|
+
view = self.views.get(iden)
|
|
4512
|
+
if view is None:
|
|
4513
|
+
raise s_exc.NoSuchView(mesg=f'No such view {iden=}', iden=iden)
|
|
4514
|
+
|
|
4515
|
+
if view.info.get('protected'):
|
|
4516
|
+
mesg = f'Cannot delete view ({iden}) that has protected set.'
|
|
4517
|
+
raise s_exc.CantDelView(mesg=mesg)
|
|
4518
|
+
|
|
4519
|
+
layriden = view.layers[0].iden
|
|
4520
|
+
pareiden = None
|
|
4521
|
+
if view.parent is not None:
|
|
4522
|
+
pareiden = view.parent.iden
|
|
4523
|
+
|
|
4524
|
+
return await self._push('view:delwithlayer', iden, layriden, newparent=pareiden)
|
|
4525
|
+
|
|
4526
|
+
@s_nexus.Pusher.onPush('view:delwithlayer', passitem=True)
|
|
4527
|
+
async def _delViewWithLayer(self, viewiden, layriden, nexsitem, newparent=None):
|
|
4528
|
+
|
|
4529
|
+
if viewiden == self.view.iden:
|
|
4530
|
+
raise s_exc.SynErr(mesg='Cannot delete the main view')
|
|
4531
|
+
|
|
4532
|
+
if (view := self.views.get(viewiden)) is not None:
|
|
4533
|
+
|
|
4534
|
+
await self.hive.pop(('cortex', 'views', viewiden))
|
|
4535
|
+
await view.delete()
|
|
4536
|
+
|
|
4537
|
+
self._calcViewsByLayer()
|
|
4538
|
+
await self.feedBeholder('view:del', {'iden': viewiden}, gates=[viewiden])
|
|
4539
|
+
await self.auth.delAuthGate(viewiden)
|
|
4540
|
+
|
|
4541
|
+
if newparent is not None:
|
|
4542
|
+
newview = self.views.get(newparent)
|
|
4543
|
+
|
|
4544
|
+
layrinuse = False
|
|
4545
|
+
for view in self.viewsbylayer[layriden]:
|
|
4546
|
+
if not view.isForkOf(viewiden):
|
|
4547
|
+
layrinuse = True
|
|
4548
|
+
continue
|
|
4549
|
+
|
|
4550
|
+
view.layers = [lyr for lyr in view.layers if lyr.iden != layriden]
|
|
4551
|
+
await view.info.set('layers', [lyr.iden for lyr in view.layers])
|
|
4552
|
+
|
|
4553
|
+
if view.parent.iden == viewiden:
|
|
4554
|
+
if newparent is None:
|
|
4555
|
+
view.parent = None
|
|
4556
|
+
await view.info.pop('parent')
|
|
4557
|
+
else:
|
|
4558
|
+
view.parent = newview
|
|
4559
|
+
await view.info.set('parent', newparent)
|
|
4560
|
+
|
|
4561
|
+
if not layrinuse and (layr := self.layers.get(layriden)) is not None:
|
|
4562
|
+
del self.layers[layriden]
|
|
4563
|
+
|
|
4564
|
+
for pdef in layr.layrinfo.get('pushs', {}).values():
|
|
4565
|
+
await self.delActiveCoro(pdef.get('iden'))
|
|
4566
|
+
|
|
4567
|
+
for pdef in layr.layrinfo.get('pulls', {}).values():
|
|
4568
|
+
await self.delActiveCoro(pdef.get('iden'))
|
|
4569
|
+
|
|
4570
|
+
await self.feedBeholder('layer:del', {'iden': layriden}, gates=[layriden])
|
|
4571
|
+
await self.auth.delAuthGate(layriden)
|
|
4572
|
+
self.dynitems.pop(layriden)
|
|
4573
|
+
|
|
4574
|
+
await self.hive.pop(('cortex', 'layers', layriden))
|
|
4575
|
+
|
|
4576
|
+
await layr.delete()
|
|
4577
|
+
|
|
4578
|
+
layr.deloffs = nexsitem[0]
|
|
4579
|
+
|
|
4494
4580
|
async def delView(self, iden):
|
|
4495
4581
|
view = self.views.get(iden)
|
|
4496
4582
|
if view is None:
|
|
@@ -5153,12 +5239,15 @@ class Cortex(s_oauth.OAuthMixin, s_cell.Cell): # type: ignore
|
|
|
5153
5239
|
|
|
5154
5240
|
return dmon
|
|
5155
5241
|
|
|
5242
|
+
@s_cell.from_leader
|
|
5156
5243
|
async def getStormDmon(self, iden):
|
|
5157
5244
|
return self.stormdmons.getDmonDef(iden)
|
|
5158
5245
|
|
|
5246
|
+
@s_cell.from_leader
|
|
5159
5247
|
async def getStormDmons(self):
|
|
5160
5248
|
return self.stormdmons.getDmonDefs()
|
|
5161
5249
|
|
|
5250
|
+
@s_cell.from_leader
|
|
5162
5251
|
async def getStormDmonLog(self, iden):
|
|
5163
5252
|
return self.stormdmons.getDmonRunlog(iden)
|
|
5164
5253
|
|
|
@@ -330,11 +330,16 @@ class Form:
|
|
|
330
330
|
'prop': [],
|
|
331
331
|
'ndef': [],
|
|
332
332
|
'array': [],
|
|
333
|
+
'ndefarray': [],
|
|
333
334
|
}
|
|
334
335
|
|
|
335
336
|
for name, prop in self.props.items():
|
|
336
337
|
|
|
337
338
|
if isinstance(prop.type, s_types.Array):
|
|
339
|
+
if isinstance(prop.type.arraytype, s_types.Ndef):
|
|
340
|
+
self.refsout['ndefarray'].append(name)
|
|
341
|
+
continue
|
|
342
|
+
|
|
338
343
|
typename = prop.type.arraytype.name
|
|
339
344
|
if self.modl.forms.get(typename) is not None:
|
|
340
345
|
self.refsout['array'].append((name, typename))
|
|
@@ -1943,6 +1943,12 @@ class PivotOut(PivotOper):
|
|
|
1943
1943
|
continue
|
|
1944
1944
|
|
|
1945
1945
|
if isinstance(prop.type, s_types.Array):
|
|
1946
|
+
if isinstance(prop.type.arraytype, s_types.Ndef):
|
|
1947
|
+
for item in valu:
|
|
1948
|
+
if (pivo := await runt.snap.getNodeByNdef(item)) is not None:
|
|
1949
|
+
yield pivo, path.fork(pivo)
|
|
1950
|
+
continue
|
|
1951
|
+
|
|
1946
1952
|
typename = prop.type.opts.get('type')
|
|
1947
1953
|
if runt.model.forms.get(typename) is not None:
|
|
1948
1954
|
for item in valu:
|
|
@@ -2177,13 +2183,13 @@ class FormPivot(PivotOper):
|
|
|
2177
2183
|
|
|
2178
2184
|
# plain old pivot...
|
|
2179
2185
|
async def pgenr(node, strict=True):
|
|
2180
|
-
|
|
2181
|
-
valu = node.ndef[1]
|
|
2182
|
-
|
|
2183
2186
|
if isarray:
|
|
2184
|
-
|
|
2187
|
+
if isinstance(prop.type.arraytype, s_types.Ndef):
|
|
2188
|
+
ngenr = runt.snap.nodesByPropArray(prop.full, '=', node.ndef)
|
|
2189
|
+
else:
|
|
2190
|
+
ngenr = runt.snap.nodesByPropArray(prop.full, '=', node.ndef[1])
|
|
2185
2191
|
else:
|
|
2186
|
-
ngenr = runt.snap.nodesByPropValu(prop.full, '=',
|
|
2192
|
+
ngenr = runt.snap.nodesByPropValu(prop.full, '=', node.ndef[1])
|
|
2187
2193
|
|
|
2188
2194
|
# TODO cache/bypass normalization in loop!
|
|
2189
2195
|
async for pivo in ngenr:
|
|
@@ -2266,6 +2272,16 @@ class FormPivot(PivotOper):
|
|
|
2266
2272
|
if pivo is not None:
|
|
2267
2273
|
yield pivo
|
|
2268
2274
|
|
|
2275
|
+
for refsname in refs.get('ndefarray'):
|
|
2276
|
+
|
|
2277
|
+
found = True
|
|
2278
|
+
|
|
2279
|
+
if (refsvalu := node.get(refsname)) is not None:
|
|
2280
|
+
for aval in refsvalu:
|
|
2281
|
+
if aval[0] == destform.name:
|
|
2282
|
+
if (pivo := await runt.snap.getNodeByNdef(aval)) is not None:
|
|
2283
|
+
yield pivo
|
|
2284
|
+
|
|
2269
2285
|
#########################################################################
|
|
2270
2286
|
# reverse "-> form" pivots (ie inet:fqdn -> inet:dns:a)
|
|
2271
2287
|
refs = destform.getRefsOut()
|
|
@@ -2303,6 +2319,14 @@ class FormPivot(PivotOper):
|
|
|
2303
2319
|
async for pivo in runt.snap.nodesByPropValu(refsprop.full, '=', node.ndef):
|
|
2304
2320
|
yield pivo
|
|
2305
2321
|
|
|
2322
|
+
for refsname in refs.get('ndefarray'):
|
|
2323
|
+
|
|
2324
|
+
found = True
|
|
2325
|
+
|
|
2326
|
+
refsprop = destform.props.get(refsname)
|
|
2327
|
+
async for pivo in runt.snap.nodesByPropArray(refsprop.full, '=', node.ndef):
|
|
2328
|
+
yield pivo
|
|
2329
|
+
|
|
2306
2330
|
if strict and not found:
|
|
2307
2331
|
mesg = f'No pivot found for {node.form.name} -> {destform.name}.'
|
|
2308
2332
|
raise self.addExcInfo(s_exc.NoSuchPivot(n1=node.form.name, n2=destform.name, mesg=mesg))
|
|
@@ -2389,6 +2413,12 @@ class PropPivotOut(PivotOper):
|
|
|
2389
2413
|
continue
|
|
2390
2414
|
|
|
2391
2415
|
if prop.type.isarray:
|
|
2416
|
+
if isinstance(prop.type.arraytype, s_types.Ndef):
|
|
2417
|
+
for item in valu:
|
|
2418
|
+
if (pivo := await runt.snap.getNodeByNdef(item)) is not None:
|
|
2419
|
+
yield pivo, path.fork(pivo)
|
|
2420
|
+
continue
|
|
2421
|
+
|
|
2392
2422
|
fname = prop.type.arraytype.name
|
|
2393
2423
|
if runt.model.forms.get(fname) is None:
|
|
2394
2424
|
if not warned:
|
|
@@ -2442,6 +2472,14 @@ class PropPivot(PivotOper):
|
|
|
2442
2472
|
|
|
2443
2473
|
# pivoting from an array prop to a non-array prop needs an extra loop
|
|
2444
2474
|
if srcprop.type.isarray and not prop.type.isarray:
|
|
2475
|
+
if isinstance(srcprop.type.arraytype, s_types.Ndef) and prop.isform:
|
|
2476
|
+
for aval in valu:
|
|
2477
|
+
if aval[0] != prop.form.name:
|
|
2478
|
+
continue
|
|
2479
|
+
|
|
2480
|
+
if (pivo := await runt.snap.getNodeByNdef(aval)) is not None:
|
|
2481
|
+
yield pivo
|
|
2482
|
+
return
|
|
2445
2483
|
|
|
2446
2484
|
for arrayval in valu:
|
|
2447
2485
|
async for pivo in runt.snap.nodesByPropValu(prop.full, '=', arrayval):
|
|
@@ -2449,6 +2487,18 @@ class PropPivot(PivotOper):
|
|
|
2449
2487
|
|
|
2450
2488
|
return
|
|
2451
2489
|
|
|
2490
|
+
if isinstance(srcprop.type, s_types.Ndef) and prop.isform:
|
|
2491
|
+
if valu[0] != prop.form.name:
|
|
2492
|
+
return
|
|
2493
|
+
|
|
2494
|
+
pivo = await runt.snap.getNodeByNdef(valu)
|
|
2495
|
+
if pivo is None:
|
|
2496
|
+
await runt.snap.warn(f'Missing node corresponding to ndef {valu}', log=False, ndef=valu)
|
|
2497
|
+
return
|
|
2498
|
+
yield pivo
|
|
2499
|
+
|
|
2500
|
+
return
|
|
2501
|
+
|
|
2452
2502
|
if prop.type.isarray and not srcprop.type.isarray:
|
|
2453
2503
|
genr = runt.snap.nodesByPropArray(prop.full, '=', valu)
|
|
2454
2504
|
else:
|
|
@@ -2463,7 +2513,6 @@ class PropPivot(PivotOper):
|
|
|
2463
2513
|
|
|
2464
2514
|
if isinstance(name, list) or (prop := runt.model.props.get(name)) is None:
|
|
2465
2515
|
|
|
2466
|
-
proplist = None
|
|
2467
2516
|
if isinstance(name, list):
|
|
2468
2517
|
proplist = name
|
|
2469
2518
|
else:
|
|
@@ -2485,7 +2534,7 @@ class PropPivot(PivotOper):
|
|
|
2485
2534
|
async for pivo in pgenr(node, srcprop, valu, strict=False):
|
|
2486
2535
|
yield pivo
|
|
2487
2536
|
|
|
2488
|
-
return
|
|
2537
|
+
return listpivot
|
|
2489
2538
|
|
|
2490
2539
|
return self.pivogenr(runt, prop)
|
|
2491
2540
|
|
|
@@ -2771,15 +2820,24 @@ class TagCond(Cond):
|
|
|
2771
2820
|
kid = self.kids[0]
|
|
2772
2821
|
|
|
2773
2822
|
if not isinstance(kid, TagMatch):
|
|
2774
|
-
# TODO: we might hint based on variable value
|
|
2775
2823
|
return []
|
|
2776
2824
|
|
|
2777
|
-
if
|
|
2825
|
+
if kid.hasglob():
|
|
2778
2826
|
return []
|
|
2779
2827
|
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
|
|
2828
|
+
if kid.isconst:
|
|
2829
|
+
return (
|
|
2830
|
+
('tag', {'name': await kid.compute(None, None)}),
|
|
2831
|
+
)
|
|
2832
|
+
|
|
2833
|
+
if kid.isRuntSafe(runt):
|
|
2834
|
+
name = await kid.compute(runt, path)
|
|
2835
|
+
if name and '*' not in name:
|
|
2836
|
+
return (
|
|
2837
|
+
('tag', {'name': name}),
|
|
2838
|
+
)
|
|
2839
|
+
|
|
2840
|
+
return []
|
|
2783
2841
|
|
|
2784
2842
|
async def getCondEval(self, runt):
|
|
2785
2843
|
|
|
@@ -55,6 +55,7 @@ import synapse.lib.lmdbslab as s_lmdbslab
|
|
|
55
55
|
import synapse.lib.thisplat as s_thisplat
|
|
56
56
|
|
|
57
57
|
import synapse.lib.crypto.passwd as s_passwd
|
|
58
|
+
import synapse.lib.platforms.linux as s_linux
|
|
58
59
|
|
|
59
60
|
import synapse.tools.backup as s_t_backup
|
|
60
61
|
|
|
@@ -109,6 +110,25 @@ def adminapi(log=False):
|
|
|
109
110
|
|
|
110
111
|
return decrfunc
|
|
111
112
|
|
|
113
|
+
def from_leader(func):
|
|
114
|
+
'''
|
|
115
|
+
Decorator used to indicate that the decorated method must call up to the
|
|
116
|
+
leader to perform it's work.
|
|
117
|
+
|
|
118
|
+
This only works on Cell classes and subclasses. The decorated method name
|
|
119
|
+
MUST be the same as the telepath API name.
|
|
120
|
+
'''
|
|
121
|
+
@functools.wraps(func)
|
|
122
|
+
async def wrapper(self, *args, **kwargs):
|
|
123
|
+
if not self.isactive:
|
|
124
|
+
proxy = await self.nexsroot.client.proxy()
|
|
125
|
+
api = getattr(proxy, func.__name__)
|
|
126
|
+
return await api(*args, **kwargs)
|
|
127
|
+
|
|
128
|
+
return await func(self, *args, **kwargs)
|
|
129
|
+
|
|
130
|
+
return wrapper
|
|
131
|
+
|
|
112
132
|
async def _doIterBackup(path, chunksize=1024):
|
|
113
133
|
'''
|
|
114
134
|
Create tarball and stream bytes.
|
|
@@ -924,6 +944,11 @@ class Cell(s_nexus.Pusher, s_telepath.Aware):
|
|
|
924
944
|
'minimum': 0,
|
|
925
945
|
'maximum': 100,
|
|
926
946
|
},
|
|
947
|
+
'health:sysctl:checks': {
|
|
948
|
+
'default': True,
|
|
949
|
+
'description': 'Enable sysctl parameter checks and warn if values are not optimal.',
|
|
950
|
+
'type': 'boolean',
|
|
951
|
+
},
|
|
927
952
|
'aha:name': {
|
|
928
953
|
'description': 'The name of the cell service in the aha service registry.',
|
|
929
954
|
'type': 'string',
|
|
@@ -1049,6 +1074,12 @@ class Cell(s_nexus.Pusher, s_telepath.Aware):
|
|
|
1049
1074
|
VERSION = s_version.version
|
|
1050
1075
|
VERSTRING = s_version.verstring
|
|
1051
1076
|
|
|
1077
|
+
SYSCTL_VALS = {
|
|
1078
|
+
'vm.dirty_expire_centisecs': 20,
|
|
1079
|
+
'vm.dirty_writeback_centisecs': 20,
|
|
1080
|
+
}
|
|
1081
|
+
SYSCTL_CHECK_FREQ = 60.0
|
|
1082
|
+
|
|
1052
1083
|
async def __anit__(self, dirn, conf=None, readonly=False, parent=None):
|
|
1053
1084
|
|
|
1054
1085
|
# phase 1
|
|
@@ -1177,16 +1208,24 @@ class Cell(s_nexus.Pusher, s_telepath.Aware):
|
|
|
1177
1208
|
self.cellinfo = await node.dict()
|
|
1178
1209
|
self.onfini(node)
|
|
1179
1210
|
|
|
1180
|
-
|
|
1181
|
-
self.
|
|
1211
|
+
# Check the cell version didn't regress
|
|
1212
|
+
if (lastver := self.cellinfo.get('cell:version')) is not None and self.VERSION < lastver:
|
|
1213
|
+
mesg = f'Cell version regression ({self.getCellType()}) is not allowed! Stored version: {lastver}, current version: {self.VERSION}.'
|
|
1214
|
+
logger.error(mesg)
|
|
1215
|
+
raise s_exc.BadVersion(mesg=mesg, currver=self.VERSION, lastver=lastver)
|
|
1182
1216
|
|
|
1183
|
-
|
|
1184
|
-
|
|
1217
|
+
await self.cellinfo.set('cell:version', self.VERSION)
|
|
1218
|
+
|
|
1219
|
+
# Check the synapse version didn't regress
|
|
1220
|
+
if (lastver := self.cellinfo.get('synapse:version')) is not None and s_version.version < lastver:
|
|
1221
|
+
mesg = f'Synapse version regression ({self.getCellType()}) is not allowed! Stored version: {lastver}, current version: {s_version.version}.'
|
|
1222
|
+
logger.error(mesg)
|
|
1223
|
+
raise s_exc.BadVersion(mesg=mesg, currver=s_version.version, lastver=lastver)
|
|
1185
1224
|
|
|
1186
|
-
|
|
1225
|
+
await self.cellinfo.set('synapse:version', s_version.version)
|
|
1187
1226
|
|
|
1188
|
-
|
|
1189
|
-
|
|
1227
|
+
node = await self.hive.open(('cellvers',))
|
|
1228
|
+
self.cellvers = await node.dict(nexs=True)
|
|
1190
1229
|
|
|
1191
1230
|
self.auth = await self._initCellAuth()
|
|
1192
1231
|
|
|
@@ -1217,6 +1256,9 @@ class Cell(s_nexus.Pusher, s_telepath.Aware):
|
|
|
1217
1256
|
self._health_funcs = []
|
|
1218
1257
|
self.addHealthFunc(self._cellHealth)
|
|
1219
1258
|
|
|
1259
|
+
if self.conf.get('health:sysctl:checks'):
|
|
1260
|
+
self.schedCoro(self._runSysctlLoop())
|
|
1261
|
+
|
|
1220
1262
|
# initialize network backend infrastructure
|
|
1221
1263
|
await self._initAhaRegistry()
|
|
1222
1264
|
|
|
@@ -1295,14 +1337,20 @@ class Cell(s_nexus.Pusher, s_telepath.Aware):
|
|
|
1295
1337
|
|
|
1296
1338
|
async def _onBootOptimize(self):
|
|
1297
1339
|
|
|
1340
|
+
bdir = s_common.genpath(self.dirn, 'backups')
|
|
1298
1341
|
tdir = s_common.gendir(self.dirn, 'tmp')
|
|
1299
1342
|
tdev = os.stat(tdir).st_dev
|
|
1300
1343
|
|
|
1344
|
+
logger.warning('Collecting LMDB files for onboot optimization.')
|
|
1345
|
+
|
|
1301
1346
|
lmdbs = []
|
|
1302
1347
|
for (root, dirs, files) in os.walk(self.dirn):
|
|
1303
1348
|
for dirname in dirs:
|
|
1304
1349
|
filepath = os.path.join(root, dirname, 'data.mdb')
|
|
1305
1350
|
if os.path.isfile(filepath):
|
|
1351
|
+
if filepath.startswith(bdir):
|
|
1352
|
+
logger.debug(f'Skipping backup file {filepath}')
|
|
1353
|
+
continue
|
|
1306
1354
|
if os.stat(filepath).st_dev != tdev:
|
|
1307
1355
|
logger.warning(f'Unable to run onboot:optimize, {filepath} is not on the same volume as {tdir}')
|
|
1308
1356
|
return
|
|
@@ -1414,6 +1462,30 @@ class Cell(s_nexus.Pusher, s_telepath.Aware):
|
|
|
1414
1462
|
|
|
1415
1463
|
await self._checkspace.timewait(timeout=self.FREE_SPACE_CHECK_FREQ)
|
|
1416
1464
|
|
|
1465
|
+
async def _runSysctlLoop(self):
|
|
1466
|
+
while not self.isfini:
|
|
1467
|
+
fixvals = []
|
|
1468
|
+
sysctls = s_linux.getSysctls()
|
|
1469
|
+
|
|
1470
|
+
for name, valu in self.SYSCTL_VALS.items():
|
|
1471
|
+
if (sysval := sysctls.get(name)) != valu:
|
|
1472
|
+
fixvals.append({'name': name, 'expected': valu, 'actual': sysval})
|
|
1473
|
+
|
|
1474
|
+
if not fixvals:
|
|
1475
|
+
# All sysctl parameters have been set to recommended values, no
|
|
1476
|
+
# need to keep checking.
|
|
1477
|
+
break
|
|
1478
|
+
|
|
1479
|
+
fixnames = [k['name'] for k in fixvals]
|
|
1480
|
+
mesg = f'Sysctl values different than expected: {", ".join(fixnames)}. '
|
|
1481
|
+
mesg += 'See https://synapse.docs.vertex.link/en/latest/synapse/devopsguide.html#performance-tuning '
|
|
1482
|
+
mesg += 'for information about these sysctl parameters.'
|
|
1483
|
+
|
|
1484
|
+
extra = await self.getLogExtra(sysctls=fixvals)
|
|
1485
|
+
logger.warning(mesg, extra=extra)
|
|
1486
|
+
|
|
1487
|
+
await asyncio.sleep(self.SYSCTL_CHECK_FREQ)
|
|
1488
|
+
|
|
1417
1489
|
def _getAhaAdmin(self):
|
|
1418
1490
|
name = self.conf.get('aha:admin')
|
|
1419
1491
|
if name is not None:
|
|
@@ -2891,24 +2963,10 @@ class Cell(s_nexus.Pusher, s_telepath.Aware):
|
|
|
2891
2963
|
self.onfini(self.dmon.fini)
|
|
2892
2964
|
|
|
2893
2965
|
async def _initCellHive(self):
|
|
2894
|
-
isnew = not self.slab.dbexists('hive')
|
|
2895
|
-
|
|
2896
2966
|
db = self.slab.initdb('hive')
|
|
2897
2967
|
hive = await s_hive.SlabHive.anit(self.slab, db=db, nexsroot=self.getCellNexsRoot())
|
|
2898
2968
|
self.onfini(hive)
|
|
2899
2969
|
|
|
2900
|
-
if isnew:
|
|
2901
|
-
path = os.path.join(self.dirn, 'hiveboot.yaml')
|
|
2902
|
-
if os.path.isfile(path):
|
|
2903
|
-
s_common.deprdate('Initial hive config from hiveboot.yaml', '2024-05-05')
|
|
2904
|
-
logger.debug(f'Loading cell hive from {path}')
|
|
2905
|
-
tree = s_common.yamlload(path)
|
|
2906
|
-
if tree is not None:
|
|
2907
|
-
# Pack and unpack the tree to avoid tuple/list issues
|
|
2908
|
-
# for in-memory structures.
|
|
2909
|
-
tree = s_common.tuplify(tree)
|
|
2910
|
-
await hive.loadHiveTree(tree)
|
|
2911
|
-
|
|
2912
2970
|
return hive
|
|
2913
2971
|
|
|
2914
2972
|
async def _initCellSlab(self, readonly=False):
|
|
@@ -3732,6 +3790,10 @@ class Cell(s_nexus.Pusher, s_telepath.Aware):
|
|
|
3732
3790
|
logconf = s_common.setlogging(logger, defval=opts.log_level,
|
|
3733
3791
|
structlog=opts.structured_logging)
|
|
3734
3792
|
|
|
3793
|
+
logger.info(f'Starting {cls.getCellType()} version {cls.VERSTRING}, Synapse version: {s_version.verstring}',
|
|
3794
|
+
extra={'synapse': {'svc_type': cls.getCellType(), 'svc_version': cls.VERSTRING,
|
|
3795
|
+
'synapse_version': s_version.verstring}})
|
|
3796
|
+
|
|
3735
3797
|
await cls._initBootRestore(opts.dirn)
|
|
3736
3798
|
|
|
3737
3799
|
try:
|