assemblyline-core 4.5.1.dev167__tar.gz → 4.5.1.dev169__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.1.dev167 → assemblyline-core-4.5.1.dev169}/PKG-INFO +1 -1
- assemblyline-core-4.5.1.dev169/assemblyline_core/VERSION +1 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/tasking_client.py +4 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/updater/helper.py +11 -5
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/updater/run_updater.py +11 -5
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core.egg-info/PKG-INFO +1 -1
- assemblyline-core-4.5.1.dev167/assemblyline_core/VERSION +0 -1
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/LICENCE.md +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/README.md +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/alerter/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/alerter/processing.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/alerter/run_alerter.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/archiver/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/archiver/run_archiver.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/badlist_client.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/dispatching/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/dispatching/__main__.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/dispatching/client.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/dispatching/dispatcher.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/dispatching/schedules.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/dispatching/timeout.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/expiry/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/expiry/run_expiry.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/ingester/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/ingester/__main__.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/ingester/constants.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/ingester/ingester.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/metrics/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/metrics/es_metrics.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/metrics/heartbeat_formatter.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/metrics/helper.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/metrics/metrics_server.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/metrics/run_heartbeat_manager.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/metrics/run_metrics_aggregator.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/metrics/run_statistics_aggregator.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/plumber/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/plumber/run_plumber.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/replay/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/replay/client.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/replay/creator/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/replay/creator/run.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/replay/creator/run_worker.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/replay/loader/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/replay/loader/run.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/replay/loader/run_worker.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/replay/replay.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/safelist_client.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/scaler/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/scaler/collection.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/scaler/controllers/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/scaler/controllers/docker_ctl.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/scaler/controllers/interface.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/scaler/controllers/kubernetes_ctl.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/scaler/run_scaler.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/scaler/scaler_server.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/server_base.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/signature_client.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/submission_client.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/updater/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/vacuum/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/vacuum/crawler.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/vacuum/department_map.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/vacuum/safelist.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/vacuum/stream_map.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/vacuum/worker.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/workflow/__init__.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/workflow/run_workflow.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core.egg-info/SOURCES.txt +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core.egg-info/dependency_links.txt +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core.egg-info/requires.txt +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core.egg-info/top_level.txt +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/setup.cfg +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/setup.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_alerter.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_badlist_client.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_dispatcher.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_expiry.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_plumber.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_replay.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_safelist_client.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_scaler.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_scheduler.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_signature_client.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_simulation.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_vacuum.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_worker_ingest.py +0 -0
- {assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_worker_submit.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
4.5.1.dev169
|
|
@@ -177,6 +177,10 @@ class TaskingClient:
|
|
|
177
177
|
|
|
178
178
|
heuristic = Heuristic(heuristic)
|
|
179
179
|
heuristic_id = heuristic.heur_id
|
|
180
|
+
existing_heuristic_obj = self.datastore.heuristic.get_if_exists(heuristic_id)
|
|
181
|
+
if existing_heuristic_obj:
|
|
182
|
+
# Ensure statistics of heuristic are preserved
|
|
183
|
+
heuristic.stats = existing_heuristic_obj.stats
|
|
180
184
|
plan.add_upsert_operation(heuristic_id, heuristic)
|
|
181
185
|
except Exception as e:
|
|
182
186
|
msg = f"{service.name} has an invalid heuristic ({heuristic_id}): {str(e)}"
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import json
|
|
2
1
|
import requests
|
|
3
2
|
import re
|
|
4
3
|
import socket
|
|
5
4
|
import string
|
|
5
|
+
import time
|
|
6
6
|
|
|
7
7
|
from assemblyline.common.version import FRAMEWORK_VERSION, SYSTEM_VERSION
|
|
8
8
|
from assemblyline.odm.models.config import Config as SystemConfig
|
|
@@ -13,7 +13,7 @@ from collections import defaultdict
|
|
|
13
13
|
from logging import Logger
|
|
14
14
|
from packaging.version import parse, Version
|
|
15
15
|
|
|
16
|
-
DEFAULT_DOCKER_REGISTRY = "
|
|
16
|
+
DEFAULT_DOCKER_REGISTRY = "hub.docker.com"
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
class ContainerRegistry():
|
|
@@ -201,7 +201,7 @@ def get_latest_tag_for_service(
|
|
|
201
201
|
server, image_name = process_image(image)
|
|
202
202
|
|
|
203
203
|
# Append server to image if not the default server
|
|
204
|
-
if server !=
|
|
204
|
+
if server != DEFAULT_DOCKER_REGISTRY:
|
|
205
205
|
image_name = "/".join([server, image_name])
|
|
206
206
|
|
|
207
207
|
return image_name, tag_name, auth_config
|
|
@@ -211,8 +211,10 @@ def get_latest_tag_for_service(
|
|
|
211
211
|
def _get_dockerhub_tags(image_name, update_channel, proxies=None):
|
|
212
212
|
# Find latest tag for each types
|
|
213
213
|
rv = []
|
|
214
|
-
|
|
215
|
-
|
|
214
|
+
namespace, repository = image_name.split('/', 1)
|
|
215
|
+
url = f"https://{DEFAULT_DOCKER_REGISTRY}/v2/namespaces/{namespace}/repositories/{repository}/tags"
|
|
216
|
+
f"?page_size=50&page=1&name={update_channel}"
|
|
217
|
+
|
|
216
218
|
while True:
|
|
217
219
|
resp = requests.get(url, proxies=proxies)
|
|
218
220
|
if resp.ok:
|
|
@@ -222,6 +224,10 @@ def _get_dockerhub_tags(image_name, update_channel, proxies=None):
|
|
|
222
224
|
url = resp_data.get('next', None)
|
|
223
225
|
if url is None:
|
|
224
226
|
break
|
|
227
|
+
elif resp.status_code == 429:
|
|
228
|
+
# Based on https://docs.docker.com/docker-hub/api/latest/#tag/rate-limiting
|
|
229
|
+
# We've hit the rate limit so we have to wait and try again later
|
|
230
|
+
time.sleep(int(time.now()) - int(resp.headers['retry-after']))
|
|
225
231
|
else:
|
|
226
232
|
break
|
|
227
233
|
|
|
@@ -359,11 +359,17 @@ class KubernetesUpdateInterface:
|
|
|
359
359
|
|
|
360
360
|
if blocking:
|
|
361
361
|
try:
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
362
|
+
pod_name = None
|
|
363
|
+
while not pod_name:
|
|
364
|
+
time.sleep(3)
|
|
365
|
+
# Obtain the name of the pod that spawned from the Job
|
|
366
|
+
pod = self.api.list_namespaced_pod(namespace=self.namespace,
|
|
367
|
+
label_selector=",".join([f"{k}={v}"
|
|
368
|
+
for k, v in labels.items()]),
|
|
369
|
+
limit=1)
|
|
370
|
+
if pod.items:
|
|
371
|
+
pod_name = pod.items[0].metadata.name
|
|
372
|
+
|
|
367
373
|
while not (status.failed or status.succeeded):
|
|
368
374
|
time.sleep(3)
|
|
369
375
|
status = self.batch_api.read_namespaced_job(namespace=self.namespace, name=name,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
4.5.1.dev167
|
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/__init__.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
|
{assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/replay/client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/replay/replay.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-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/server_base.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
|
{assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/assemblyline_core/vacuum/worker.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-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_badlist_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_safelist_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_signature_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_worker_ingest.py
RENAMED
|
File without changes
|
{assemblyline-core-4.5.1.dev167 → assemblyline-core-4.5.1.dev169}/test/test_worker_submit.py
RENAMED
|
File without changes
|