assemblyline 4.7.2.dev43__tar.gz → 4.7.2.dev45__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.
- {assemblyline-4.7.2.dev43/assemblyline.egg-info → assemblyline-4.7.2.dev45}/PKG-INFO +1 -1
- assemblyline-4.7.2.dev45/assemblyline/VERSION +1 -0
- assemblyline-4.7.2.dev45/assemblyline/common/net.py +131 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45/assemblyline.egg-info}/PKG-INFO +1 -1
- assemblyline-4.7.2.dev43/assemblyline/VERSION +0 -1
- assemblyline-4.7.2.dev43/assemblyline/common/net.py +0 -93
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/LICENCE.md +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/MANIFEST.in +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/README.md +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/__init__.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/cachestore/__init__.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/__init__.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/archiving.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/attack_map.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/backupmanager.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/banner.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/bundling.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/caching.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/chunk.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/classification.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/classification.yml +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/cleanup_filestore.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/codec.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/comms.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/constants.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/custom.magic +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/custom.yara +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/dict_utils.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/digests.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/dispatcher.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/entropy.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/exceptions.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/file.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/forge.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/heuristics.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/hexdump.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/identify.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/identify_defaults.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/importing.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/iprange.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/isotime.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/log.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/logformat.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/lucene.lark +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/memory_zip.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/metrics.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/net_static.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/null.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/path.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/postprocess.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/random_user.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/security.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/signaturing.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/str_utils.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/tag_safelist.yml +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/tagging.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/threading.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/uid.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/version.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datasource/__init__.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datasource/al.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datasource/alert.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datasource/common.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datastore/__init__.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datastore/bulk.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datastore/collection.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datastore/exceptions.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datastore/helper.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datastore/store.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datastore/support/__init__.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datastore/support/build.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datastore/support/schemas.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/filestore/__init__.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/filestore/transport/__init__.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/filestore/transport/azure.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/filestore/transport/base.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/filestore/transport/ftp.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/filestore/transport/http.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/filestore/transport/local.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/filestore/transport/s3.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/filestore/transport/sftp.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/__init__.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/base.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/common.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/__init__.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/alert.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/alerter_heartbeat.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/archive_heartbeat.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/changes.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/dispatcher_heartbeat.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/dispatching.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/elastic_heartbeat.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/expiry_heartbeat.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/ingest_heartbeat.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/metrics.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/retrohunt_heartbeat.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/scaler_heartbeat.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/scaler_status_heartbeat.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/service_heartbeat.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/service_timing_heartbeat.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/submission.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/task.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/vacuum_heartbeat.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/__init__.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/actions.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/alert.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/apikey.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/badlist.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/cached_file.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/config.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/emptyresult.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/error.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/file.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/filescore.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/heuristic.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/__init__.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/file.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/filetypes/__init__.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/filetypes/pe.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/ontology.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/results/__init__.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/results/antivirus.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/results/http.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/results/malware_config.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/results/network.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/results/process.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/results/sandbox.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/results/signature.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/replay.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/result.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/retrohunt.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/safelist.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/service.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/service_delta.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/signature.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/statistics.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/submission.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/submission_summary.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/submission_tree.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/tagging.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/user.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/user_favorites.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/user_settings.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/workflow.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/random_data/__init__.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/random_data/create_test_data.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/random_data/sample_rules.yar +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/random_data/sample_suricata.rules +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/randomizer.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/py.typed +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/__init__.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/__init__.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/cache.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/counters.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/daily_quota_tracker.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/events.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/exporting_counter.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/hash.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/lock.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/queues/__init__.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/queues/comms.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/queues/multi.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/queues/named.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/queues/priority.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/set.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/user_quota_tracker.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/run/__init__.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/run/cli.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/run/pubsub_reader.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/run/suricata_importer.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/run/yara_importer.py +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline.egg-info/SOURCES.txt +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline.egg-info/dependency_links.txt +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline.egg-info/entry_points.txt +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline.egg-info/requires.txt +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline.egg-info/top_level.txt +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/pyproject.toml +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/setup.cfg +0 -0
- {assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/setup.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
4.7.2.dev45
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
from ipaddress import ip_address, IPv4Network
|
|
2
|
+
import socket
|
|
3
|
+
import os
|
|
4
|
+
import functools
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
from assemblyline.common.net_static import TLDS_ALPHA_BY_DOMAIN, TLDS_SPECIAL_BY_DOMAIN
|
|
8
|
+
SYSTEM_LOCAL_TLD = os.getenv('SYSTEM_LOCAL_TLD', '')
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def is_valid_port(value: int) -> bool:
|
|
12
|
+
try:
|
|
13
|
+
if 1 <= int(value) <= 65535:
|
|
14
|
+
return True
|
|
15
|
+
except ValueError:
|
|
16
|
+
pass
|
|
17
|
+
|
|
18
|
+
return False
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
@functools.cache
|
|
22
|
+
def find_top_level_domains() -> set[str]:
|
|
23
|
+
"""Combine (once and memoize) the three different sources of TLD."""
|
|
24
|
+
single_label_special = {d for d in TLDS_SPECIAL_BY_DOMAIN if '.' not in d}
|
|
25
|
+
local_tlds = {
|
|
26
|
+
tld.strip().strip('.').upper()
|
|
27
|
+
for tld in SYSTEM_LOCAL_TLD.split(";")
|
|
28
|
+
if tld.strip().strip('.')
|
|
29
|
+
}
|
|
30
|
+
return TLDS_ALPHA_BY_DOMAIN | single_label_special | local_tlds
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def is_valid_domain(domain: str) -> bool:
|
|
34
|
+
"""
|
|
35
|
+
Validate a domain name.
|
|
36
|
+
|
|
37
|
+
Checks:
|
|
38
|
+
- No @ symbol
|
|
39
|
+
- Each label contains only alphanumeric characters or hyphens
|
|
40
|
+
- No leading or trailing hyphens in labels
|
|
41
|
+
- TLD is a recognized top-level domain
|
|
42
|
+
"""
|
|
43
|
+
if "@" in domain or not domain:
|
|
44
|
+
return False
|
|
45
|
+
|
|
46
|
+
labels = domain.split(".")
|
|
47
|
+
for label in labels:
|
|
48
|
+
if not label or label.startswith("-") or label.endswith("-"):
|
|
49
|
+
return False
|
|
50
|
+
if not all(c.isalnum() or c == "-" for c in label):
|
|
51
|
+
return False
|
|
52
|
+
|
|
53
|
+
if len(labels) < 2:
|
|
54
|
+
return False
|
|
55
|
+
|
|
56
|
+
tld = labels[-1].upper()
|
|
57
|
+
if not tld.isascii():
|
|
58
|
+
try:
|
|
59
|
+
tld = tld.encode('idna').decode('ascii').upper()
|
|
60
|
+
except ValueError:
|
|
61
|
+
return False
|
|
62
|
+
|
|
63
|
+
combined_tlds = find_top_level_domains()
|
|
64
|
+
if tld in combined_tlds:
|
|
65
|
+
return True
|
|
66
|
+
|
|
67
|
+
domain_upper = domain.upper()
|
|
68
|
+
return any(domain_upper.endswith(d) for d in TLDS_SPECIAL_BY_DOMAIN)
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
def is_valid_ip(ip: str) -> bool:
|
|
72
|
+
parts = ip.split(".")
|
|
73
|
+
if len(parts) == 4:
|
|
74
|
+
for p in parts:
|
|
75
|
+
try:
|
|
76
|
+
if not (0 <= int(p) <= 255):
|
|
77
|
+
return False
|
|
78
|
+
except ValueError:
|
|
79
|
+
return False
|
|
80
|
+
|
|
81
|
+
if int(parts[0]) == 0:
|
|
82
|
+
return False
|
|
83
|
+
|
|
84
|
+
if int(parts[3]) == 0:
|
|
85
|
+
return False
|
|
86
|
+
|
|
87
|
+
return True
|
|
88
|
+
|
|
89
|
+
return False
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
def is_ip_in_network(ip: str, network: IPv4Network) -> bool:
|
|
93
|
+
if not is_valid_ip(ip):
|
|
94
|
+
return False
|
|
95
|
+
|
|
96
|
+
return ip_address(ip) in network
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
def is_valid_email(email: str) -> bool:
|
|
100
|
+
"""
|
|
101
|
+
Validate an email address.
|
|
102
|
+
|
|
103
|
+
Checks:
|
|
104
|
+
- Exactly one @ symbol
|
|
105
|
+
- Non-empty local and domain parts
|
|
106
|
+
- Domain passes is_valid_domain()
|
|
107
|
+
- Unquoted local part: no leading/trailing dots, no consecutive dots
|
|
108
|
+
- Quoted local part (e.g., "user..name"): allowed as-is
|
|
109
|
+
"""
|
|
110
|
+
if email.count("@") != 1:
|
|
111
|
+
return False
|
|
112
|
+
|
|
113
|
+
local, domain = email.rsplit("@", 1)
|
|
114
|
+
|
|
115
|
+
if not local or not domain:
|
|
116
|
+
return False
|
|
117
|
+
|
|
118
|
+
if not is_valid_domain(domain):
|
|
119
|
+
return False
|
|
120
|
+
|
|
121
|
+
if local.startswith('"') and local.endswith('"'):
|
|
122
|
+
return len(local) > 2
|
|
123
|
+
|
|
124
|
+
if local.startswith(".") or local.endswith(".") or ".." in local:
|
|
125
|
+
return False
|
|
126
|
+
|
|
127
|
+
return True
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
def get_hostname() -> str:
|
|
131
|
+
return socket.gethostname()
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
4.7.2.dev43
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
from ipaddress import ip_address, IPv4Network
|
|
2
|
-
import socket
|
|
3
|
-
import os
|
|
4
|
-
import functools
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
from assemblyline.common.net_static import TLDS_ALPHA_BY_DOMAIN, TLDS_SPECIAL_BY_DOMAIN
|
|
8
|
-
SYSTEM_LOCAL_TLD = os.getenv('SYSTEM_LOCAL_TLD', '')
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
def is_valid_port(value: int) -> bool:
|
|
12
|
-
try:
|
|
13
|
-
if 1 <= int(value) <= 65535:
|
|
14
|
-
return True
|
|
15
|
-
except ValueError:
|
|
16
|
-
pass
|
|
17
|
-
|
|
18
|
-
return False
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
@functools.cache
|
|
22
|
-
def find_top_level_domains():
|
|
23
|
-
"""Combine (once and memoize) the three different sources of TLD."""
|
|
24
|
-
combined_tlds = TLDS_ALPHA_BY_DOMAIN.union({d for d in TLDS_SPECIAL_BY_DOMAIN if '.' not in d})
|
|
25
|
-
local_tld = [tld.strip().strip('.').upper() for tld in SYSTEM_LOCAL_TLD.split(";")]
|
|
26
|
-
combined_tlds |= {tld for tld in local_tld if tld}
|
|
27
|
-
return combined_tlds
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
def is_valid_domain(domain: str) -> bool:
|
|
31
|
-
if "@" in domain:
|
|
32
|
-
return False
|
|
33
|
-
|
|
34
|
-
if "." in domain:
|
|
35
|
-
domain = domain.upper()
|
|
36
|
-
tld = domain.split(".")[-1]
|
|
37
|
-
if not tld.isascii():
|
|
38
|
-
try:
|
|
39
|
-
tld = tld.encode('idna').decode('ascii').upper()
|
|
40
|
-
except ValueError:
|
|
41
|
-
return False
|
|
42
|
-
|
|
43
|
-
combined_tlds = find_top_level_domains()
|
|
44
|
-
if tld in combined_tlds:
|
|
45
|
-
# Single term TLD check
|
|
46
|
-
return True
|
|
47
|
-
|
|
48
|
-
elif any(domain.endswith(d) for d in TLDS_SPECIAL_BY_DOMAIN):
|
|
49
|
-
# Multi-term TLD check
|
|
50
|
-
return True
|
|
51
|
-
|
|
52
|
-
return False
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
def is_valid_ip(ip: str) -> bool:
|
|
56
|
-
parts = ip.split(".")
|
|
57
|
-
if len(parts) == 4:
|
|
58
|
-
for p in parts:
|
|
59
|
-
try:
|
|
60
|
-
if not (0 <= int(p) <= 255):
|
|
61
|
-
return False
|
|
62
|
-
except ValueError:
|
|
63
|
-
return False
|
|
64
|
-
|
|
65
|
-
if int(parts[0]) == 0:
|
|
66
|
-
return False
|
|
67
|
-
|
|
68
|
-
if int(parts[3]) == 0:
|
|
69
|
-
return False
|
|
70
|
-
|
|
71
|
-
return True
|
|
72
|
-
|
|
73
|
-
return False
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
def is_ip_in_network(ip: str, network: IPv4Network) -> bool:
|
|
77
|
-
if not is_valid_ip(ip):
|
|
78
|
-
return False
|
|
79
|
-
|
|
80
|
-
return ip_address(ip) in network
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
def is_valid_email(email: str) -> bool:
|
|
84
|
-
parts = email.split("@")
|
|
85
|
-
if len(parts) == 2:
|
|
86
|
-
if is_valid_domain(parts[1]):
|
|
87
|
-
return True
|
|
88
|
-
|
|
89
|
-
return False
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
def get_hostname() -> str:
|
|
93
|
-
return socket.gethostname()
|
|
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
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/classification.yml
RENAMED
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/cleanup_filestore.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
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/common/identify_defaults.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
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datastore/support/__init__.py
RENAMED
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datastore/support/build.py
RENAMED
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/datastore/support/schemas.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/filestore/transport/__init__.py
RENAMED
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/filestore/transport/azure.py
RENAMED
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/filestore/transport/base.py
RENAMED
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/filestore/transport/ftp.py
RENAMED
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/filestore/transport/http.py
RENAMED
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/filestore/transport/local.py
RENAMED
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/filestore/transport/s3.py
RENAMED
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/filestore/transport/sftp.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/alerter_heartbeat.py
RENAMED
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/archive_heartbeat.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/dispatching.py
RENAMED
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/elastic_heartbeat.py
RENAMED
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/expiry_heartbeat.py
RENAMED
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/ingest_heartbeat.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/scaler_heartbeat.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/service_heartbeat.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/submission.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/messages/vacuum_heartbeat.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/cached_file.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/emptyresult.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/__init__.py
RENAMED
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/file.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/ontology/ontology.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
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/service_delta.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/submission_summary.py
RENAMED
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/submission_tree.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/user_favorites.py
RENAMED
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/models/user_settings.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/random_data/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/odm/random_data/sample_rules.yar
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/__init__.py
RENAMED
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/cache.py
RENAMED
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/counters.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/events.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/queues/comms.py
RENAMED
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/queues/multi.py
RENAMED
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline/remote/datatypes/queues/named.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
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{assemblyline-4.7.2.dev43 → assemblyline-4.7.2.dev45}/assemblyline.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|