howler-api 2.10.0.dev166__tar.gz → 2.10.0.dev168__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.
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/PKG-INFO +1 -1
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/api/v1/tool.py +5 -6
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/services/hit_service.py +1 -1
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/pyproject.toml +1 -1
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/README.md +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/__init__.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/actions/__init__.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/actions/add_label.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/actions/add_to_bundle.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/actions/change_field.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/actions/demote.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/actions/example_plugin.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/actions/prioritization.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/actions/promote.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/actions/remove_from_bundle.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/actions/remove_label.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/actions/transition.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/api/__init__.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/api/base.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/api/socket.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/api/v1/__init__.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/api/v1/action.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/api/v1/analytic.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/api/v1/auth.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/api/v1/borealis.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/api/v1/configs.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/api/v1/dossier.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/api/v1/help.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/api/v1/hit.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/api/v1/notebook.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/api/v1/overview.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/api/v1/search.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/api/v1/template.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/api/v1/user.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/api/v1/utils/__init__.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/api/v1/utils/etag.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/api/v1/view.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/app.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/common/README.md +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/common/__init__.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/common/classification.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/common/classification.yml +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/common/exceptions.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/common/hexdump.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/common/iprange.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/common/loader.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/common/logging/__init__.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/common/logging/audit.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/common/logging/format.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/common/net.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/common/net_static.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/common/random_user.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/common/swagger.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/config.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/cronjobs/__init__.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/cronjobs/retention.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/cronjobs/rules.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/datastore/README.md +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/datastore/__init__.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/datastore/bulk.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/datastore/collection.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/datastore/constants.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/datastore/exceptions.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/datastore/howler_store.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/datastore/migrations/fix_process.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/datastore/operations.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/datastore/schemas.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/datastore/store.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/datastore/support/__init__.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/datastore/support/build.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/datastore/support/schemas.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/datastore/types.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/error.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/external/__init__.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/external/generate_mitre.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/external/generate_sigma_rules.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/external/generate_tlds.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/external/reindex_data.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/external/wipe_databases.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/gunicorn_config.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/healthz.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/helper/__init__.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/helper/azure.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/helper/discover.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/helper/hit.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/helper/oauth.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/helper/search.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/helper/workflow.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/helper/ws.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/README.md +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/__init__.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/base.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/charter.txt +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/helper.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/howler_enum.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/__init__.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/action.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/analytic.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/assemblyline.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/aws.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/azure.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/cbs.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/config.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/dossier.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/__init__.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/agent.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/autonomous_system.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/client.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/cloud.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/code_signature.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/container.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/dns.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/egress.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/elf.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/email.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/error.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/event.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/faas.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/file.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/geo.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/group.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/hash.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/host.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/http.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/ingress.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/interface.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/network.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/observer.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/organization.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/os.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/pe.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/process.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/registry.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/related.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/rule.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/server.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/threat.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/tls.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/url.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/user.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/user_agent.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/vulnerability.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/gcp.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/hit.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/howler_data.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/lead.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/localized_label.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/overview.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/pivot.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/template.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/user.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/view.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/random_data.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/randomizer.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/patched.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/plugins/__init__.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/plugins/config.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/remote/__init__.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/remote/datatypes/README.md +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/remote/datatypes/__init__.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/remote/datatypes/counters.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/remote/datatypes/events.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/remote/datatypes/hash.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/remote/datatypes/lock.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/remote/datatypes/queues/__init__.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/remote/datatypes/queues/comms.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/remote/datatypes/queues/multi.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/remote/datatypes/queues/named.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/remote/datatypes/queues/priority.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/remote/datatypes/set.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/remote/datatypes/user_quota_tracker.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/security/__init__.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/security/socket.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/security/utils.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/services/__init__.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/services/action_service.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/services/analytic_service.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/services/auth_service.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/services/config_service.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/services/dossier_service.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/services/event_service.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/services/jwt_service.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/services/lucene_service.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/services/notebook_service.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/services/user_service.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/utils/__init__.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/utils/annotations.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/utils/chunk.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/utils/dict_utils.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/utils/isotime.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/utils/list_utils.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/utils/lucene.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/utils/path.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/utils/socket_utils.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/utils/str_utils.py +0 -0
- {howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/utils/uid.py +0 -0
|
@@ -22,8 +22,6 @@ SUB_API = "tools"
|
|
|
22
22
|
tool_api = make_subapi_blueprint(SUB_API, api_version=1)
|
|
23
23
|
tool_api._doc = "Manage the tools"
|
|
24
24
|
|
|
25
|
-
FIELDS = Hit.flat_fields()
|
|
26
|
-
|
|
27
25
|
logger = get_logger(__file__)
|
|
28
26
|
|
|
29
27
|
hit_helper = OdmHelper(Hit)
|
|
@@ -78,6 +76,7 @@ def create_one_or_many_hits(tool_name: str, user: User, **kwargs): # noqa: C901
|
|
|
78
76
|
return bad_request(err="Invalid: 'hits' field is missing or invalid.")
|
|
79
77
|
warnings = []
|
|
80
78
|
# Validate field_map targets
|
|
79
|
+
hit_fields = Hit.flat_fields()
|
|
81
80
|
for targets in field_map.values():
|
|
82
81
|
for target in targets:
|
|
83
82
|
# This is checking to see if the target matches one of two cases:
|
|
@@ -85,7 +84,7 @@ def create_one_or_many_hits(tool_name: str, user: User, **kwargs): # noqa: C901
|
|
|
85
84
|
# Compound fields - hit.obj of type dict (should also match)
|
|
86
85
|
# This allows significantly easier creation of hits, since you don't need to deconstruct every dict into
|
|
87
86
|
# individual fields
|
|
88
|
-
if target not in
|
|
87
|
+
if target not in hit_fields and not any(f for f in hit_fields.keys() if get_parent_key(f) == target):
|
|
89
88
|
warning = f"Invalid target field in the map: {target}"
|
|
90
89
|
if ignore_extra_values:
|
|
91
90
|
warnings.append(warning)
|
|
@@ -114,11 +113,11 @@ def create_one_or_many_hits(tool_name: str, user: User, **kwargs): # noqa: C901
|
|
|
114
113
|
for target in targets:
|
|
115
114
|
_val = val
|
|
116
115
|
try:
|
|
117
|
-
field_data: Optional[_Field] =
|
|
116
|
+
field_data: Optional[_Field] = hit_fields[target]
|
|
118
117
|
except KeyError:
|
|
119
|
-
logger.debug(f"`{target}` not in
|
|
118
|
+
logger.debug(f"`{target}` not in hit fields")
|
|
120
119
|
field_data = next(
|
|
121
|
-
(v for k, v in
|
|
120
|
+
(v for k, v in hit_fields.items() if get_parent_key(k) == target),
|
|
122
121
|
None,
|
|
123
122
|
)
|
|
124
123
|
|
|
@@ -385,7 +385,7 @@ def update_hit(
|
|
|
385
385
|
):
|
|
386
386
|
"""Update one or more properties of a hit in the database."""
|
|
387
387
|
# Status of a hit should only be updated through the transition function
|
|
388
|
-
if _modifies_prop("status", operations):
|
|
388
|
+
if _modifies_prop("howler.status", operations):
|
|
389
389
|
raise HowlerValueError(
|
|
390
390
|
"Status of a Hit cannot be modified like other properties. Please use a transition to do so."
|
|
391
391
|
)
|
|
@@ -148,7 +148,7 @@ suppress-none-returning = true
|
|
|
148
148
|
[tool.poetry]
|
|
149
149
|
package-mode = true
|
|
150
150
|
name = "howler-api"
|
|
151
|
-
version = "2.10.0.
|
|
151
|
+
version = "2.10.0.dev168"
|
|
152
152
|
description = "Howler - API server"
|
|
153
153
|
authors = [
|
|
154
154
|
"Canadian Centre for Cyber Security <howler@cyber.gc.ca>",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/datastore/migrations/fix_process.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/external/generate_sigma_rules.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/autonomous_system.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/code_signature.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/odm/models/ecs/vulnerability.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/remote/datatypes/queues/__init__.py
RENAMED
|
File without changes
|
{howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/remote/datatypes/queues/comms.py
RENAMED
|
File without changes
|
{howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/remote/datatypes/queues/multi.py
RENAMED
|
File without changes
|
{howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/remote/datatypes/queues/named.py
RENAMED
|
File without changes
|
{howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/remote/datatypes/queues/priority.py
RENAMED
|
File without changes
|
|
File without changes
|
{howler_api-2.10.0.dev166 → howler_api-2.10.0.dev168}/howler/remote/datatypes/user_quota_tracker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|