assemblyline-core 4.5.0.33__tar.gz → 4.5.0.34__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 assemblyline-core might be problematic. Click here for more details.
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/PKG-INFO +1 -1
- assemblyline-core-4.5.0.34/assemblyline_core/VERSION +1 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/dispatching/client.py +13 -18
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/ingester/ingester.py +11 -1
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/tasking_client.py +5 -4
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/updater/helper.py +18 -4
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/workflow/run_workflow.py +1 -1
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core.egg-info/PKG-INFO +1 -1
- assemblyline-core-4.5.0.33/assemblyline_core/VERSION +0 -1
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/LICENCE.md +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/README.md +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/__init__.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/alerter/__init__.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/alerter/processing.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/alerter/run_alerter.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/archiver/__init__.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/archiver/run_archiver.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/badlist_client.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/dispatching/__init__.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/dispatching/__main__.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/dispatching/dispatcher.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/dispatching/schedules.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/dispatching/timeout.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/expiry/__init__.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/expiry/run_expiry.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/ingester/__init__.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/ingester/__main__.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/ingester/constants.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/metrics/__init__.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/metrics/es_metrics.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/metrics/heartbeat_formatter.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/metrics/helper.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/metrics/metrics_server.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/metrics/run_heartbeat_manager.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/metrics/run_metrics_aggregator.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/metrics/run_statistics_aggregator.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/plumber/__init__.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/plumber/run_plumber.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/replay/__init__.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/replay/client.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/replay/creator/__init__.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/replay/creator/run.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/replay/creator/run_worker.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/replay/loader/__init__.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/replay/loader/run.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/replay/loader/run_worker.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/replay/replay.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/safelist_client.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/scaler/__init__.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/scaler/collection.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/scaler/controllers/__init__.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/scaler/controllers/docker_ctl.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/scaler/controllers/interface.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/scaler/controllers/kubernetes_ctl.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/scaler/run_scaler.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/scaler/scaler_server.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/server_base.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/signature_client.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/submission_client.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/updater/__init__.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/updater/run_updater.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/vacuum/__init__.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/vacuum/crawler.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/vacuum/department_map.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/vacuum/safelist.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/vacuum/stream_map.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/vacuum/worker.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/workflow/__init__.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core.egg-info/SOURCES.txt +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core.egg-info/dependency_links.txt +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core.egg-info/requires.txt +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core.egg-info/top_level.txt +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/setup.cfg +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/setup.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/test/test_alerter.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/test/test_badlist_client.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/test/test_dispatcher.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/test/test_expiry.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/test/test_plumber.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/test/test_replay.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/test/test_safelist_client.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/test/test_scaler.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/test/test_scheduler.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/test/test_signature_client.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/test/test_simulation.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/test/test_vacuum.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/test/test_worker_ingest.py +0 -0
- {assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/test/test_worker_submit.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
4.5.0.34
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/dispatching/client.py
RENAMED
|
@@ -254,7 +254,8 @@ class DispatchClient:
|
|
|
254
254
|
|
|
255
255
|
@elasticapm.capture_span(span_type='dispatch_client')
|
|
256
256
|
def service_finished(self, sid: str, result_key: str, result: Result,
|
|
257
|
-
temporary_data: Optional[dict[str, Any]] = None
|
|
257
|
+
temporary_data: Optional[dict[str, Any]] = None,
|
|
258
|
+
version="create"):
|
|
258
259
|
"""Notifies the dispatcher of service completion, and possible new files to dispatch."""
|
|
259
260
|
# Make sure the dispatcher knows we were working on this task
|
|
260
261
|
task_key = ServiceTask.make_key(sid=sid, service_name=result.response.service_name, sha=result.sha256)
|
|
@@ -272,28 +273,22 @@ class DispatchClient:
|
|
|
272
273
|
self.ds.emptyresult.save(result_key, {"expiry_ts": result.expiry_ts})
|
|
273
274
|
else:
|
|
274
275
|
while True:
|
|
275
|
-
old, version = self.ds.result.get_if_exists(result_key, version=True)
|
|
276
|
-
if old:
|
|
277
|
-
if old.expiry_ts and result.expiry_ts:
|
|
278
|
-
result.expiry_ts = max(result.expiry_ts, old.expiry_ts)
|
|
279
|
-
else:
|
|
280
|
-
result.expiry_ts = None
|
|
281
276
|
try:
|
|
282
|
-
if self.ds.result.exists(result_key):
|
|
283
|
-
# A result already exists for this key
|
|
284
|
-
# Regenerate entire result key based on result and modified task (ignore caching)
|
|
285
|
-
task.ignore_cache = True
|
|
286
|
-
result_key = Result.help_build_key(sha256=task.fileinfo.sha256,
|
|
287
|
-
service_name=result.response.service_name,
|
|
288
|
-
service_version=result.response.service_version,
|
|
289
|
-
service_tool_version=result.response.service_tool_version,
|
|
290
|
-
is_empty=False,
|
|
291
|
-
task=task)
|
|
292
|
-
version = "create"
|
|
293
277
|
self.ds.result.save(result_key, result, version=version)
|
|
294
278
|
break
|
|
295
279
|
except VersionConflictException as vce:
|
|
296
280
|
self.log.info(f"Retrying to save results due to version conflict: {str(vce)}")
|
|
281
|
+
# A result already exists for this key
|
|
282
|
+
# Regenerate entire result key based on result and modified task (ignore caching)
|
|
283
|
+
version = "create"
|
|
284
|
+
result.created = now_as_iso()
|
|
285
|
+
task.ignore_cache = True
|
|
286
|
+
result_key = Result.help_build_key(sha256=task.fileinfo.sha256,
|
|
287
|
+
service_name=result.response.service_name,
|
|
288
|
+
service_version=result.response.service_version,
|
|
289
|
+
service_tool_version=result.response.service_tool_version,
|
|
290
|
+
is_empty=False,
|
|
291
|
+
task=task)
|
|
297
292
|
|
|
298
293
|
# Send the result key to any watching systems
|
|
299
294
|
msg = {'status': 'OK', 'cache_key': result_key}
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/ingester/ingester.py
RENAMED
|
@@ -36,6 +36,7 @@ from assemblyline.remote.datatypes.queues.priority import PriorityQueue
|
|
|
36
36
|
from assemblyline.remote.datatypes.queues.comms import CommsQueue
|
|
37
37
|
from assemblyline.remote.datatypes.queues.multi import MultiQueue
|
|
38
38
|
from assemblyline.remote.datatypes.hash import Hash
|
|
39
|
+
from assemblyline.remote.datatypes.user_quota_tracker import UserQuotaTracker
|
|
39
40
|
from assemblyline import odm
|
|
40
41
|
from assemblyline.odm.models.submission import SubmissionParams, Submission as DatabaseSubmission
|
|
41
42
|
from assemblyline.odm.models.alert import EXTENDED_SCAN_VALUES
|
|
@@ -180,6 +181,9 @@ class Ingester(ThreadedCoreBase):
|
|
|
180
181
|
# Utility object to handle post-processing actions
|
|
181
182
|
self.postprocess_worker = ActionWorker(cache=True, config=self.config, datastore=self.datastore,
|
|
182
183
|
redis_persist=self.redis_persist)
|
|
184
|
+
# Async Submission quota tracker
|
|
185
|
+
self.async_submission_tracker = UserQuotaTracker('async_submissions', timeout=24 * 60 * 60, # 1 day timeout
|
|
186
|
+
redis=self.redis_persist)
|
|
183
187
|
|
|
184
188
|
if self.config.core.metrics.apm_server.server_url is not None:
|
|
185
189
|
self.log.info(f"Exporting application metrics to: {self.config.core.metrics.apm_server.server_url}")
|
|
@@ -640,7 +644,7 @@ class Ingester(ThreadedCoreBase):
|
|
|
640
644
|
'archived': False,
|
|
641
645
|
'archive_ts': None,
|
|
642
646
|
'classification': task.params.classification,
|
|
643
|
-
'expiry_ts':now_as_iso(task.params.ttl * 24 * 60 * 60),
|
|
647
|
+
'expiry_ts': now_as_iso(task.params.ttl * 24 * 60 * 60),
|
|
644
648
|
'from_archive': False,
|
|
645
649
|
'metadata': task.submission.metadata,
|
|
646
650
|
'params': task.params.as_primitives(),
|
|
@@ -863,6 +867,9 @@ class Ingester(ThreadedCoreBase):
|
|
|
863
867
|
return True
|
|
864
868
|
|
|
865
869
|
def _notify_drop(self, task: IngestTask):
|
|
870
|
+
if self.config.ui.enforce_quota:
|
|
871
|
+
self.async_submission_tracker.end(task.params.submitter)
|
|
872
|
+
|
|
866
873
|
self.send_notification(task)
|
|
867
874
|
|
|
868
875
|
c12n = task.params.classification
|
|
@@ -936,4 +943,7 @@ class Ingester(ThreadedCoreBase):
|
|
|
936
943
|
task.extended_scan = 'submitted'
|
|
937
944
|
task.params.psid = None
|
|
938
945
|
|
|
946
|
+
if self.config.ui.enforce_quota:
|
|
947
|
+
self.async_submission_tracker.end(task.params.submitter)
|
|
948
|
+
|
|
939
949
|
self.send_notification(task)
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/tasking_client.py
RENAMED
|
@@ -24,6 +24,7 @@ from assemblyline.remote.datatypes.events import EventSender, EventWatcher
|
|
|
24
24
|
from assemblyline.remote.datatypes.hash import ExpiringHash
|
|
25
25
|
from assemblyline_core.dispatching.client import DispatchClient
|
|
26
26
|
|
|
27
|
+
|
|
27
28
|
class TaskingClientException(Exception):
|
|
28
29
|
pass
|
|
29
30
|
|
|
@@ -252,7 +253,7 @@ class TaskingClient:
|
|
|
252
253
|
# If we are allowed, try to see if the result has been cached
|
|
253
254
|
if not task.ignore_cache and not service_data.disable_cache:
|
|
254
255
|
# Checking for previous results for this key
|
|
255
|
-
result = self.datastore.result.get_if_exists(result_key)
|
|
256
|
+
result, version = self.datastore.result.get_if_exists(result_key, version=True)
|
|
256
257
|
if result:
|
|
257
258
|
metric_factory.increment('cache_hit')
|
|
258
259
|
if result.result.score:
|
|
@@ -262,8 +263,8 @@ class TaskingClient:
|
|
|
262
263
|
|
|
263
264
|
result.archive_ts = None
|
|
264
265
|
|
|
265
|
-
if task.ttl:
|
|
266
|
-
result.expiry_ts = now_as_iso(task.ttl * 24 * 60 * 60)
|
|
266
|
+
if task.ttl and result.expiry_ts:
|
|
267
|
+
result.expiry_ts = max(result.expiry_ts, now_as_iso(task.ttl * 24 * 60 * 60))
|
|
267
268
|
|
|
268
269
|
# Create a list of files to freshen
|
|
269
270
|
freshen_hashes = [task.fileinfo.sha256]
|
|
@@ -286,7 +287,7 @@ class TaskingClient:
|
|
|
286
287
|
for sha256 in freshen_hashes:
|
|
287
288
|
self.datastore.save_or_freshen_file(sha256, {}, result.expiry_ts, result.classification)
|
|
288
289
|
|
|
289
|
-
self.dispatch_client.service_finished(task.sid, result_key, result)
|
|
290
|
+
self.dispatch_client.service_finished(task.sid, result_key, result, version=version)
|
|
290
291
|
cache_found = True
|
|
291
292
|
|
|
292
293
|
if not cache_found:
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/updater/helper.py
RENAMED
|
@@ -217,7 +217,7 @@ def get_latest_tag_for_service(
|
|
|
217
217
|
|
|
218
218
|
# Pre-filter tags to only consider 'compatible' tags relative to the running system
|
|
219
219
|
tags = [t for t in tags
|
|
220
|
-
if re.match(f"({FRAMEWORK_VERSION})
|
|
220
|
+
if re.match(f"({FRAMEWORK_VERSION})\.({SYSTEM_VERSION})\.\\d+\.({update_channel})\\d+", t)]
|
|
221
221
|
|
|
222
222
|
if not tags:
|
|
223
223
|
logger.warning(f"{prefix}Cannot fetch latest tag for service {service_name} - {image_name}"
|
|
@@ -252,14 +252,28 @@ def _get_dockerhub_tags(image_name, update_channel, proxies=None):
|
|
|
252
252
|
# Find latest tag for each types
|
|
253
253
|
rv = []
|
|
254
254
|
namespace, repository = image_name.split('/', 1)
|
|
255
|
-
url = f"https://{DEFAULT_DOCKER_REGISTRY}/v2/namespaces/{namespace}/repositories/{repository}/tags"
|
|
256
|
-
|
|
255
|
+
url = f"https://{DEFAULT_DOCKER_REGISTRY}/v2/namespaces/{namespace}/repositories/{repository}/tags" \
|
|
256
|
+
f"?page_size=50&page=1&name={update_channel}&ordering=last_updated"
|
|
257
257
|
|
|
258
258
|
while True:
|
|
259
259
|
resp = requests.get(url, proxies=proxies)
|
|
260
260
|
if resp.ok:
|
|
261
261
|
resp_data = resp.json()
|
|
262
|
-
|
|
262
|
+
if namespace == "cccs":
|
|
263
|
+
# The tags are coming from a repository managed by the Assemblyline team
|
|
264
|
+
for x in resp_data['results']:
|
|
265
|
+
tag_name = x['name']
|
|
266
|
+
if tag_name == f"{FRAMEWORK_VERSION}.{SYSTEM_VERSION}.{update_channel}":
|
|
267
|
+
# Ignore tag aliases containing the update_channel
|
|
268
|
+
continue
|
|
269
|
+
|
|
270
|
+
if tag_name.startswith(f"{FRAMEWORK_VERSION}.{SYSTEM_VERSION}"):
|
|
271
|
+
# Because the order of paging is based on `last_updated`,
|
|
272
|
+
# we can return the first valid candidate
|
|
273
|
+
return [tag_name]
|
|
274
|
+
else:
|
|
275
|
+
# The tags are coming from another repository, so we're don't know the ordering of tags
|
|
276
|
+
rv.extend([x['name'] for x in resp_data['results']])
|
|
263
277
|
# Page until there are no results left
|
|
264
278
|
url = resp_data.get('next', None)
|
|
265
279
|
if url is None:
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/workflow/run_workflow.py
RENAMED
|
@@ -175,7 +175,7 @@ class WorkflowManager(ServerBase):
|
|
|
175
175
|
|
|
176
176
|
except SearchException:
|
|
177
177
|
self.log.warning(f"Invalid query '{safe_str(workflow.query or '')}' in workflow "
|
|
178
|
-
f"'{workflow.name or 'unknown'}' by '{workflow.
|
|
178
|
+
f"'{workflow.name or 'unknown'}' by '{workflow.creator or 'unknown'}'")
|
|
179
179
|
|
|
180
180
|
# End of transaction
|
|
181
181
|
if self.apm_client:
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
4.5.0.33
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/alerter/__init__.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/alerter/processing.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/alerter/run_alerter.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/archiver/__init__.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/archiver/run_archiver.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/badlist_client.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/dispatching/__init__.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/dispatching/__main__.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/dispatching/schedules.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/dispatching/timeout.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/expiry/__init__.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/expiry/run_expiry.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/ingester/__init__.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/ingester/__main__.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/ingester/constants.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/metrics/__init__.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/metrics/es_metrics.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/metrics/helper.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/plumber/__init__.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/plumber/run_plumber.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/replay/__init__.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/replay/client.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/replay/creator/run.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/replay/loader/run.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/replay/replay.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/safelist_client.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/scaler/__init__.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/scaler/collection.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/scaler/run_scaler.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/scaler/scaler_server.py
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/signature_client.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/submission_client.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/updater/__init__.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/updater/run_updater.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/vacuum/__init__.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/vacuum/crawler.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/vacuum/department_map.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/vacuum/safelist.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/vacuum/stream_map.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/vacuum/worker.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core/workflow/__init__.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core.egg-info/requires.txt
RENAMED
|
File without changes
|
{assemblyline-core-4.5.0.33 → assemblyline-core-4.5.0.34}/assemblyline_core.egg-info/top_level.txt
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
|