assemblyline-core 4.4.1.dev296__tar.gz → 4.4.1.dev297__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.

Files changed (84) hide show
  1. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/PKG-INFO +1 -1
  2. assemblyline-core-4.4.1.dev297/assemblyline_core/VERSION +1 -0
  3. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/dispatching/client.py +2 -0
  4. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/submission_client.py +8 -7
  5. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/tasking_client.py +6 -1
  6. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core.egg-info/PKG-INFO +1 -1
  7. assemblyline-core-4.4.1.dev296/assemblyline_core/VERSION +0 -1
  8. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/LICENCE.md +0 -0
  9. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/README.md +0 -0
  10. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/__init__.py +0 -0
  11. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/alerter/__init__.py +0 -0
  12. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/alerter/processing.py +0 -0
  13. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/alerter/run_alerter.py +0 -0
  14. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/archiver/__init__.py +0 -0
  15. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/archiver/run_archiver.py +0 -0
  16. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/badlist_client.py +0 -0
  17. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/dispatching/__init__.py +0 -0
  18. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/dispatching/__main__.py +0 -0
  19. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/dispatching/dispatcher.py +0 -0
  20. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/dispatching/schedules.py +0 -0
  21. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/dispatching/timeout.py +0 -0
  22. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/expiry/__init__.py +0 -0
  23. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/expiry/run_expiry.py +0 -0
  24. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/ingester/__init__.py +0 -0
  25. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/ingester/__main__.py +0 -0
  26. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/ingester/constants.py +0 -0
  27. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/ingester/ingester.py +0 -0
  28. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/metrics/__init__.py +0 -0
  29. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/metrics/es_metrics.py +0 -0
  30. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/metrics/heartbeat_formatter.py +0 -0
  31. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/metrics/helper.py +0 -0
  32. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/metrics/metrics_server.py +0 -0
  33. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/metrics/run_heartbeat_manager.py +0 -0
  34. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/metrics/run_metrics_aggregator.py +0 -0
  35. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/metrics/run_statistics_aggregator.py +0 -0
  36. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/plumber/__init__.py +0 -0
  37. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/plumber/run_plumber.py +0 -0
  38. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/replay/__init__.py +0 -0
  39. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/replay/client.py +0 -0
  40. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/replay/creator/__init__.py +0 -0
  41. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/replay/creator/run.py +0 -0
  42. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/replay/creator/run_worker.py +0 -0
  43. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/replay/loader/__init__.py +0 -0
  44. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/replay/loader/run.py +0 -0
  45. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/replay/loader/run_worker.py +0 -0
  46. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/replay/replay.py +0 -0
  47. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/safelist_client.py +0 -0
  48. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/scaler/__init__.py +0 -0
  49. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/scaler/collection.py +0 -0
  50. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/scaler/controllers/__init__.py +0 -0
  51. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/scaler/controllers/docker_ctl.py +0 -0
  52. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/scaler/controllers/interface.py +0 -0
  53. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/scaler/controllers/kubernetes_ctl.py +0 -0
  54. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/scaler/run_scaler.py +0 -0
  55. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/scaler/scaler_server.py +0 -0
  56. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/server_base.py +0 -0
  57. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/updater/__init__.py +0 -0
  58. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/updater/helper.py +0 -0
  59. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/updater/run_updater.py +0 -0
  60. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/vacuum/__init__.py +0 -0
  61. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/vacuum/crawler.py +0 -0
  62. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/vacuum/department_map.py +0 -0
  63. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/vacuum/safelist.py +0 -0
  64. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/vacuum/stream_map.py +0 -0
  65. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/vacuum/worker.py +0 -0
  66. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/workflow/__init__.py +0 -0
  67. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core/workflow/run_workflow.py +0 -0
  68. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core.egg-info/SOURCES.txt +0 -0
  69. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core.egg-info/dependency_links.txt +0 -0
  70. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core.egg-info/requires.txt +0 -0
  71. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/assemblyline_core.egg-info/top_level.txt +0 -0
  72. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/setup.cfg +0 -0
  73. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/setup.py +0 -0
  74. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/test/test_alerter.py +0 -0
  75. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/test/test_dispatcher.py +0 -0
  76. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/test/test_expiry.py +0 -0
  77. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/test/test_plumber.py +0 -0
  78. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/test/test_replay.py +0 -0
  79. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/test/test_scaler.py +0 -0
  80. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/test/test_scheduler.py +0 -0
  81. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/test/test_simulation.py +0 -0
  82. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/test/test_vacuum.py +0 -0
  83. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/test/test_worker_ingest.py +0 -0
  84. {assemblyline-core-4.4.1.dev296 → assemblyline-core-4.4.1.dev297}/test/test_worker_submit.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: assemblyline-core
3
- Version: 4.4.1.dev296
3
+ Version: 4.4.1.dev297
4
4
  Summary: Assemblyline 4 - Core components
5
5
  Home-page: https://github.com/CybercentreCanada/assemblyline-core/
6
6
  Author: CCCS Assemblyline development team
@@ -0,0 +1 @@
1
+ 4.4.1.dev297
@@ -15,6 +15,7 @@ from assemblyline.common import forge
15
15
  from assemblyline.common.constants import DISPATCH_RUNNING_TASK_HASH, SUBMISSION_QUEUE, \
16
16
  make_watcher_list_name, DISPATCH_TASK_HASH
17
17
  from assemblyline.common.forge import CachedObject, get_service_queue
18
+ from assemblyline.common.isotime import now_as_iso
18
19
  from assemblyline.datastore.exceptions import VersionConflictException
19
20
  from assemblyline.odm.base import DATEFORMAT
20
21
  from assemblyline.odm.messages.dispatching import DispatcherCommandMessage, CREATE_WATCH, \
@@ -267,6 +268,7 @@ class DispatchClient:
267
268
  # Save or freshen the result, the CONTENT of the result shouldn't change, but we need to keep the
268
269
  # most distant expiry time to prevent pulling it out from under another submission too early
269
270
  if result.is_empty():
271
+ result.expiry_ts = now_as_iso(self.config.submission.emptyresult_dtl * 24 * 60 * 60)
270
272
  self.ds.emptyresult.save(result_key, {"expiry_ts": result.expiry_ts})
271
273
  else:
272
274
  while True:
@@ -27,7 +27,7 @@ from typing import List, Optional, Tuple, Dict
27
27
  from assemblyline.common import forge
28
28
  from assemblyline.common.codec import decode_file
29
29
  from assemblyline.common.dict_utils import flatten
30
- from assemblyline.common.isotime import epoch_to_iso, now, now_as_iso
30
+ from assemblyline.common.isotime import epoch_to_iso, now
31
31
  from assemblyline.common.str_utils import safe_str
32
32
  from assemblyline.datastore.helper import AssemblylineDatastore
33
33
  from assemblyline.filestore import FileStore
@@ -135,15 +135,16 @@ class SubmissionClient:
135
135
 
136
136
  # Figure out the expiry for the submission if none was provided
137
137
  if expiry is None:
138
+ # Enforce maximum DTL
139
+ if self.config.submission.max_dtl > 0:
140
+ if int(submission_obj.params.ttl):
141
+ submission_obj.params.ttl = min(int(submission_obj.params.ttl), self.config.submission.max_dtl)
142
+ else:
143
+ submission_obj.params.ttl = self.config.submission.max_dtl
144
+
138
145
  if submission_obj.params.ttl:
139
146
  expiry = epoch_to_iso(submission_obj.time.timestamp() + submission_obj.params.ttl * SECONDS_PER_DAY)
140
147
 
141
- # Enforce the max_dtl
142
- if self.config.submission.max_dtl > 0:
143
- max_expiry = now_as_iso(self.config.submission.max_dtl * SECONDS_PER_DAY)
144
- if not expiry or expiry > max_expiry:
145
- expiry = max_expiry
146
-
147
148
  max_size = self.config.submission.max_file_size
148
149
 
149
150
  for local_file in local_files:
@@ -263,7 +263,12 @@ class TaskingClient:
263
263
 
264
264
  if not cache_found:
265
265
  # Checking for previous empty results for this key
266
- result = self.datastore.emptyresult.get_if_exists(f"{result_key}.e")
266
+ try:
267
+ result = self.datastore.emptyresult.get_if_exists(f"{result_key}.e")
268
+ except ValueError:
269
+ self.log.warning(f"Got poisoned empty result cache record for key {result_key}.e, cleaning up...")
270
+ self.datastore.emptyresult.delete(f"{result_key}.e")
271
+
267
272
  if result:
268
273
  metric_factory.increment('cache_hit')
269
274
  metric_factory.increment('not_scored')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: assemblyline-core
3
- Version: 4.4.1.dev296
3
+ Version: 4.4.1.dev297
4
4
  Summary: Assemblyline 4 - Core components
5
5
  Home-page: https://github.com/CybercentreCanada/assemblyline-core/
6
6
  Author: CCCS Assemblyline development team
@@ -1 +0,0 @@
1
- 4.4.1.dev296