diff --git a/blocking.py b/blocking.py index 30382a03d..aea6a5d02 100644 --- a/blocking.py +++ b/blocking.py @@ -1009,6 +1009,8 @@ def load_cw_lists(base_dir: str, verbose: bool) -> {}: if not os.path.isdir(base_dir + '/cwlists'): return {} result = {} + # NOTE: here we do want to allow recursive walk through + # possible subdirectories for _, _, files in os.walk(base_dir + '/cwlists'): for fname in files: if not fname.endswith('.json'): diff --git a/desktop_client.py b/desktop_client.py index 325e5c928..5c5986f9d 100644 --- a/desktop_client.py +++ b/desktop_client.py @@ -16,6 +16,7 @@ import webbrowser import urllib.parse from pathlib import Path from random import randint +from utils import safe_system_string from utils import text_in_file from utils import disallow_announce from utils import disallow_reply @@ -324,8 +325,10 @@ def _play_sound(sound_filename: str, return if player == 'ffplay': - os.system('ffplay ' + sound_filename + - ' -autoexit -hide_banner -nodisp 2> /dev/null') + cmd = \ + 'ffplay ' + safe_system_string(sound_filename) + \ + ' -autoexit -hide_banner -nodisp 2> /dev/null' + os.system(cmd) def _speaker_espeak(espeak, pitch: int, rate: int, srange: int, @@ -365,6 +368,7 @@ def _speaker_mimic3(pitch: int, rate: int, srange: int, ' --stdout' + \ ' "' + text + '" > ' + \ audio_filename + ' 2> /dev/null' + cmd = safe_system_string(cmd) try: os.system(cmd) except OSError as ex: @@ -388,11 +392,13 @@ def _speaker_picospeaker(pitch: int, rate: int, system_language: str, speaker_lang = speaker_str break say_text = str(say_text).replace('"', "'") - speaker_cmd = 'picospeaker ' + \ - '-l ' + speaker_lang + \ + speaker_text = html.unescape(str(say_text)) + speaker_cmd = \ + 'picospeaker ' + \ + '-l ' + safe_system_string(speaker_lang) + \ ' -r ' + str(rate) + \ ' -p ' + str(pitch) + ' "' + \ - html.unescape(str(say_text)) + '" 2> /dev/null' + safe_system_string(speaker_text) + '" 2> /dev/null' os.system(speaker_cmd) @@ -405,19 +411,30 @@ def _desktop_notification(notification_type: str, if notification_type == 'notify-send': # Ubuntu - os.system('notify-send "' + title + '" "' + message + '"') + cmd = \ + 'notify-send "' + safe_system_string(title) + \ + '" "' + safe_system_string(message) + '"' + os.system(cmd) elif notification_type == 'zenity': # Zenity - os.system('zenity --notification --title "' + title + - '" --text="' + message + '"') + cmd = \ + 'zenity --notification --title "' + safe_system_string(title) + \ + '" --text="' + safe_system_string(message) + '"' + os.system(cmd) elif notification_type == 'osascript': # Mac - os.system("osascript -e 'display notification \"" + - message + "\" with title \"" + title + "\"'") + cmd = \ + "osascript -e 'display notification \"" + \ + safe_system_string(message) + "\" with title \"" + \ + safe_system_string(title) + "\"'" + os.system(cmd) elif notification_type == 'New-BurntToastNotification': # Windows - os.system("New-BurntToastNotification -Text \"" + - title + "\", '" + message + "'") + cmd = \ + "New-BurntToastNotification -Text \"" + \ + safe_system_string(title) + "\", '" + \ + safe_system_string(message) + "'" + os.system(cmd) def _text_to_speech(say_str: str, screenreader: str, diff --git a/media.py b/media.py index ced8866c6..97d9fa8b8 100644 --- a/media.py +++ b/media.py @@ -15,6 +15,7 @@ import random from random import randint from hashlib import sha1 from auth import create_password +from utils import safe_system_string from utils import get_base_content_from_post from utils import get_full_domain from utils import get_image_extensions @@ -299,10 +300,13 @@ def _remove_meta_data(image_filename: str, output_filename: str) -> None: return if os.path.isfile('/usr/bin/exiftool'): print('Removing metadata from ' + output_filename + ' using exiftool') - os.system('exiftool -all= ' + output_filename) # nosec + cmd = 'exiftool -all= ' + safe_system_string(output_filename) + os.system(cmd) # nosec elif os.path.isfile('/usr/bin/mogrify'): print('Removing metadata from ' + output_filename + ' using mogrify') - os.system('/usr/bin/mogrify -strip ' + output_filename) # nosec + cmd = \ + '/usr/bin/mogrify -strip ' + safe_system_string(output_filename) + os.system(cmd) # nosec def _spoof_meta_data(base_dir: str, nickname: str, domain: str, @@ -339,7 +343,9 @@ def _spoof_meta_data(base_dir: str, nickname: str, domain: str, cam_make, cam_model, cam_serial_number) = \ spoof_geolocation(base_dir, spoof_city, curr_time_adjusted, decoy_seed, None, None) - if os.system('exiftool -artist=@"' + nickname + '@' + domain + '" ' + + safe_handle = safe_system_string(nickname + '@' + domain) + safe_license_url = safe_system_string(content_license_url) + if os.system('exiftool -artist=@"' + safe_handle + '" ' + '-Make="' + cam_make + '" ' + '-Model="' + cam_model + '" ' + '-Comment="' + str(cam_serial_number) + '" ' + @@ -351,7 +357,7 @@ def _spoof_meta_data(base_dir: str, nickname: str, domain: str, '-GPSLongitude=' + str(longitude) + ' ' + '-GPSLatitudeRef=' + latitude_ref + ' ' + '-GPSLatitude=' + str(latitude) + ' ' + - '-copyright="' + content_license_url + '" ' + + '-copyright="' + safe_license_url + '" ' + '-Comment="" ' + output_filename) != 0: # nosec print('ERROR: exiftool failed to run') @@ -364,8 +370,9 @@ def get_music_metadata(filename: str) -> {}: """Returns metadata for a music file """ result = None + safe_filename = safe_system_string(filename) try: - result = subprocess.run(['exiftool', '-v3', filename], + result = subprocess.run(['exiftool', '-v3', safe_filename], stdout=subprocess.PIPE) except BaseException as ex: print('EX: get_music_metadata failed ' + str(ex)) @@ -417,7 +424,8 @@ def convert_image_to_low_bandwidth(image_filename: str) -> None: cmd = \ '/usr/bin/convert +noise Multiplicative ' + \ '-evaluate median 10% -dither Floyd-Steinberg ' + \ - '-monochrome ' + image_filename + ' ' + low_bandwidth_filename + '-monochrome ' + safe_system_string(image_filename) + \ + ' ' + safe_system_string(low_bandwidth_filename) print('Low bandwidth image conversion: ' + cmd) subprocess.call(cmd, shell=True) # wait for conversion to happen @@ -666,9 +674,11 @@ def path_is_audio(path: str) -> bool: def get_image_dimensions(image_filename: str) -> (int, int): """Returns the dimensions of an image file """ + safe_image_filename = safe_system_string(image_filename) try: result = subprocess.run(['identify', '-format', '"%wx%h"', - image_filename], stdout=subprocess.PIPE) + safe_image_filename], + stdout=subprocess.PIPE) except BaseException: print('EX: get_image_dimensions unable to run identify command') return None, None diff --git a/newsdaemon.py b/newsdaemon.py index 2b62b4b32..5b5218232 100644 --- a/newsdaemon.py +++ b/newsdaemon.py @@ -452,6 +452,7 @@ def _create_news_mirror(base_dir: str, domain: str, no_of_dirs = 0 for _, dirs, _ in os.walk(mirror_dir): no_of_dirs = len(dirs) + break mirror_index_filename = base_dir + '/accounts/newsmirror.txt' diff --git a/person.py b/person.py index 4a3ceab95..737e7f2a7 100644 --- a/person.py +++ b/person.py @@ -38,6 +38,7 @@ from roles import set_role from roles import set_rolesFromList from roles import get_actor_roles_list from media import process_meta_data +from utils import safe_system_string from utils import get_attachment_property_value from utils import get_nickname_from_actor from utils import remove_html @@ -162,8 +163,9 @@ def set_profile_image(base_dir: str, http_prefix: str, save_json(person_json, person_filename) cmd = \ - '/usr/bin/convert ' + image_filename + ' -size ' + \ - resolution + ' -quality 50 ' + profile_filename + '/usr/bin/convert ' + safe_system_string(image_filename) + \ + ' -size ' + resolution + ' -quality 50 ' + \ + safe_system_string(profile_filename) subprocess.call(cmd, shell=True) process_meta_data(base_dir, nickname, domain, profile_filename, profile_filename, city, diff --git a/pgp.py b/pgp.py index 2b4bc3501..8b678c7ed 100644 --- a/pgp.py +++ b/pgp.py @@ -12,6 +12,7 @@ import base64 import subprocess from pathlib import Path from person import get_actor_json +from utils import safe_system_string from utils import contains_pgp_public_key from utils import is_pgp_encrypted from utils import get_full_domain @@ -348,7 +349,7 @@ def _pgp_import_pub_key(recipient_pub_key: str) -> str: """ # do a dry run cmd_import_pub_key = \ - 'echo "' + recipient_pub_key + \ + 'echo "' + safe_system_string(recipient_pub_key) + \ '" | gpg --dry-run --import 2> /dev/null' proc = subprocess.Popen([cmd_import_pub_key], stdout=subprocess.PIPE, shell=True) @@ -358,7 +359,8 @@ def _pgp_import_pub_key(recipient_pub_key: str) -> str: # this time for real cmd_import_pub_key = \ - 'echo "' + recipient_pub_key + '" | gpg --import 2> /dev/null' + 'echo "' + safe_system_string(recipient_pub_key) + \ + '" | gpg --import 2> /dev/null' proc = subprocess.Popen([cmd_import_pub_key], stdout=subprocess.PIPE, shell=True) (import_result, err) = proc.communicate() @@ -367,7 +369,8 @@ def _pgp_import_pub_key(recipient_pub_key: str) -> str: # get the key id cmd_import_pub_key = \ - 'echo "' + recipient_pub_key + '" | gpg --show-keys' + 'echo "' + safe_system_string(recipient_pub_key) + \ + '" | gpg --show-keys' proc = subprocess.Popen([cmd_import_pub_key], stdout=subprocess.PIPE, shell=True) (import_result, err) = proc.communicate() @@ -395,8 +398,9 @@ def _pgp_encrypt(content: str, recipient_pub_key: str) -> str: return None cmd_encrypt = \ - 'echo "' + content + '" | gpg --encrypt --armor --recipient ' + \ - key_id + ' 2> /dev/null' + 'echo "' + safe_system_string(content) + \ + '" | gpg --encrypt --armor --recipient ' + \ + safe_system_string(key_id) + ' 2> /dev/null' proc = subprocess.Popen([cmd_encrypt], stdout=subprocess.PIPE, shell=True) (encrypt_result, _) = proc.communicate() @@ -452,7 +456,8 @@ def pgp_decrypt(domain: str, content: str, fromHandle: str, _pgp_import_pub_key(pub_key) cmd_decrypt = \ - 'echo "' + content + '" | gpg --decrypt --armor 2> /dev/null' + 'echo "' + safe_system_string(content) + \ + '" | gpg --decrypt --armor 2> /dev/null' proc = subprocess.Popen([cmd_decrypt], stdout=subprocess.PIPE, shell=True) (decrypt_result, _) = proc.communicate() @@ -486,7 +491,7 @@ def pgp_local_public_key() -> str: key_id = _pgp_local_public_key_id() if not key_id: key_id = '' - cmd_str = "gpg --armor --export " + key_id + cmd_str = "gpg --armor --export " + safe_system_string(key_id) proc = subprocess.Popen([cmd_str], stdout=subprocess.PIPE, shell=True) (result, err) = proc.communicate() diff --git a/sbom.json b/sbom.json index fd04489f6..2b29081c6 100644 --- a/sbom.json +++ b/sbom.json @@ -17,10 +17,10 @@ "release_date": "2021-08-02", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "3419d2a831e8a39857bdc13e6aaa420f", "status": "pending", @@ -59,10 +59,10 @@ "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "52a4e37fe17ae40c068fc925dfd15261", "status": "pending", @@ -101,10 +101,10 @@ "release_date": "2021-10-06", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "407a17a739e481c1971830cbde766eef", "status": "pending", @@ -143,10 +143,10 @@ "release_date": "2022-04-05", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "c388ede2e78b71a7b662ef2e7123cfd2", "status": "pending", @@ -185,10 +185,10 @@ "release_date": "2022-04-05", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "f77f327a4dfefb1124ee2ccb233062fc", "status": "pending", @@ -227,12 +227,12 @@ "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, - "source_hash": "dc9f584b001b30f15763542824048dc8", + "source_hash": "1ea121be8b160722d3a6a5e88c8044b9", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "8e88dc854644baca443bb7bcead0aa26", @@ -269,10 +269,10 @@ "release_date": "2021-07-02", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "af675a4ab3c6e1ab3c55bab7d5e95cbc", "status": "pending", @@ -311,10 +311,10 @@ "release_date": "2022-05-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "b23e442fd43563d95ea93c626a7dc03e", "status": "pending", @@ -353,10 +353,10 @@ "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "48d9d804c08dc42a31270e6857743af1", "status": "pending", @@ -395,10 +395,10 @@ "release_date": "2022-04-05", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "57541e99e626937ea77e7bf4f1aa912b", "status": "pending", @@ -437,10 +437,10 @@ "release_date": "2022-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "356fbc25f5da5aaf2d8a872756d4951f", "status": "pending", @@ -479,10 +479,10 @@ "release_date": "2022-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "4ba03f7343696f8dbc2c5df8b9984b91", "status": "pending", @@ -512,21 +512,21 @@ "url": "https://spdx.org/licenses/AGPL-3.0-or-later.html" } ], - "lines": "285-939,944-1029,1143-1482,1489-1534,1578-1763,1759-1915", - "matched": "76%", - "oss_lines": "282-936,938-1023,996-1335,1325-1370,1385-1570,1688-1844", + "lines": "1407-1492,1517-1562,1606-1791,1787-1943", + "matched": "24%", + "oss_lines": "1275-1360,1325-1370,1385-1570,1688-1844", "purl": [ "pkg:gitlab/bashrc2/epicyon" ], "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, - "source_hash": "4ad3d4796d0e09f8ac61190cb0ffff82", + "source_hash": "1747680f627bb58498f111ffc5fc0506", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "8e88dc854644baca443bb7bcead0aa26", @@ -563,10 +563,10 @@ "release_date": "2022-04-05", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "9dcd68667fbcc274ceca47ad563de33c", "status": "pending", @@ -605,10 +605,10 @@ "release_date": "2022-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "b22c31798d2f630f583ce91abf745cae", "status": "pending", @@ -647,10 +647,10 @@ "release_date": "2022-04-05", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "c29faec47898154272fed3a659b1b314", "status": "pending", @@ -689,10 +689,10 @@ "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "7447fd0a3c2c283fbbf64114ecb51d91", "status": "pending", @@ -731,21 +731,21 @@ "url": "https://spdx.org/licenses/CC-BY-4.0.html" } ], - "lines": "5179-5492,5490-6456,6457-6834,6829-7367,7361-8117", + "lines": "5182-5290,5281-6474,6475-6852,6847-7385,7379-8119", "matched": "36%", - "oss_lines": "5190-5503,5635-6601,6392-6769,6948-7486,2984-3740", + "oss_lines": "5038-5146,5635-6828,6392-6769,6948-7486,2984-3724", "purl": [ "pkg:gitlab/bashrc2/epicyon" ], "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, - "source_hash": "89bfce01abd924dfe4153ee058fa98f1", + "source_hash": "6054944442c1e2ab1b4355fb930ba3da", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "8e88dc854644baca443bb7bcead0aa26", @@ -782,10 +782,10 @@ "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "12463bfc447735b9c90af51a37dabda6", "status": "pending", @@ -813,10 +813,10 @@ "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "638ac84256412a03da95fdb9f722fbf1", "status": "pending", @@ -844,10 +844,10 @@ "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "8a099b16f7ab77859111b22fa004ac6e", "status": "pending", @@ -886,21 +886,21 @@ "url": "https://spdx.org/licenses/CC-BY-4.0.html" } ], - "lines": "1-182,172-348,369-1421,1414-1713,1713-2586", + "lines": "1-182,172-348,369-1548,1539-2591", "matched": "99%", - "oss_lines": "1-182,197-373,319-1371,1508-1807,1782-2655", + "oss_lines": "1-182,197-373,1379-2558,1703-2755", "purl": [ "pkg:gitlab/bashrc2/epicyon" ], "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, - "source_hash": "83e8dc644bbe5a46103c5baeb3405684", + "source_hash": "aed24b0d15806e78f601125a866f15b5", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "8e88dc854644baca443bb7bcead0aa26", @@ -937,10 +937,10 @@ "release_date": "2022-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "d72220164a89e393b6b32e504c9fa3f7", "status": "pending", @@ -979,10 +979,10 @@ "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "570308c0946c0a7984064359d5417b49", "status": "pending", @@ -1021,10 +1021,10 @@ "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "28028dc040fdd816005d105ef2ca0c94", "status": "pending", @@ -1063,21 +1063,21 @@ "url": "https://spdx.org/licenses/CC-BY-4.0.html" } ], - "lines": "157-1819,1811-2454,2500-3655", + "lines": "171-1820,1812-2455,2501-2982,2980-3657", "matched": "94%", - "oss_lines": "1456-3118,1529-2172,2824-3979", + "oss_lines": "1456-3105,1529-2172,2495-2976,3213-3890", "purl": [ "pkg:gitlab/bashrc2/epicyon" ], "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, - "source_hash": "b9c36096532d5820d99485f85718ccee", + "source_hash": "41f7ad554c3d8ab7c20fe14e9aedcf27", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "8e88dc854644baca443bb7bcead0aa26", @@ -1114,10 +1114,10 @@ "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "823fd5a41d7164bb412fcd1d58ce08b7", "status": "pending", @@ -1156,12 +1156,12 @@ "release_date": "2022-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, - "source_hash": "239392f580f342b05f60122d9c564633", + "source_hash": "4406abbe178d2ce7977f6769d0b9a34d", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "d0c0ff44e466c2b609148ba01790dc81", @@ -1198,10 +1198,10 @@ "release_date": "2022-05-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "7206df5304d5b77fe1aed308448b32ef", "status": "pending", @@ -1240,10 +1240,10 @@ "release_date": "2022-05-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "fe4b340b5fd787e58662dd5e35615674", "status": "pending", @@ -1282,10 +1282,10 @@ "release_date": "2022-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "feabc89e40be1edcd09532a3d714b42f", "status": "pending", @@ -1313,10 +1313,10 @@ "release_date": "2021-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "4c0163853081cc1827a076049d455a45", "status": "pending", @@ -1344,10 +1344,10 @@ "release_date": "2021-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "9a92c1da40d84279786aebce19bf4d73", "status": "pending", @@ -1375,10 +1375,10 @@ "release_date": "2021-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "d4e390ca5271e41457c93416465e5c11", "status": "pending", @@ -1406,10 +1406,10 @@ "release_date": "2021-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "2583e5c40e2d52b66131d70d1963d9eb", "status": "pending", @@ -1437,10 +1437,10 @@ "release_date": "2021-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "56b1fdf21bdf2c5764c068a1aae2c8c1", "status": "pending", @@ -1468,10 +1468,10 @@ "release_date": "2021-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "bada67e06962cfb3d9e0d3dfd2a9f0d2", "status": "pending", @@ -1499,10 +1499,10 @@ "release_date": "2021-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "f8c752c7833003b4d9faf72fa658af1c", "status": "pending", @@ -1530,10 +1530,10 @@ "release_date": "2020-12-14", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "21ba2c11275a07ccf3890fbeab585525", "status": "pending", @@ -1561,10 +1561,10 @@ "release_date": "2021-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "da0a1dfc4d3cbefb8497057be56ce996", "status": "pending", @@ -1592,10 +1592,10 @@ "release_date": "2021-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "01b89f02b20f7c413b17a0192899b7a0", "status": "pending", @@ -1623,10 +1623,10 @@ "release_date": "2021-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "875565d51b7c18d9d3dbe53089999e82", "status": "pending", @@ -1654,10 +1654,10 @@ "release_date": "2021-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "a420a3a7da4275e5e4a66e0cfdb0be62", "status": "pending", @@ -1685,10 +1685,10 @@ "release_date": "2021-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "f598322f1d3a3b63199e7430fe3a1d6f", "status": "pending", @@ -1716,10 +1716,10 @@ "release_date": "2021-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "1027b41ecb961e6d0be30804717e6c09", "status": "pending", @@ -1747,10 +1747,10 @@ "release_date": "2021-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "1800187921633317111a294385a41a21", "status": "pending", @@ -1778,10 +1778,10 @@ "release_date": "2021-03-12", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "7415ea4fda98c0d93be0f5a959e4e3fa", "status": "pending", @@ -1809,10 +1809,10 @@ "release_date": "2021-03-12", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "209dda5cb26799aa32208505e357980c", "status": "pending", @@ -1840,10 +1840,10 @@ "release_date": "2021-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "0c318a51403bc9dbab393a9fda3cc393", "status": "pending", @@ -1871,10 +1871,10 @@ "release_date": "2021-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "46ba0ed85f5cf65550eecaacc0b9c826", "status": "pending", @@ -1902,10 +1902,10 @@ "release_date": "2021-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "266d6a89189dde9bddc97463999e6f3d", "status": "pending", @@ -1933,10 +1933,10 @@ "release_date": "2021-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "2a8dcf7d7f96e256058554eb45e7176b", "status": "pending", @@ -1964,10 +1964,10 @@ "release_date": "2021-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "437332c39cab732e72bd8a3e7cf37ed6", "status": "pending", @@ -1995,10 +1995,10 @@ "release_date": "2021-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "e1dae2a0e779c2aeae6be77bb79d5a37", "status": "pending", @@ -2026,10 +2026,10 @@ "release_date": "2021-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "8473a6a7a4cad17cfcaa3981b6c89e7b", "status": "pending", @@ -2057,10 +2057,10 @@ "release_date": "2021-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "e235adf86e30635cc4aed4ab836af4d3", "status": "pending", @@ -2088,10 +2088,10 @@ "release_date": "2021-05-31", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "b0ac8709499298dfecaad21597ae0c21", "status": "pending", @@ -2130,10 +2130,10 @@ "release_date": "2021-12-07", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "dad1ed7681af568070b573a9ed4996d9", "status": "pending", @@ -2161,10 +2161,10 @@ "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "ff6deb409ca8fd68dcf3cdce18fc1a79", "status": "pending", @@ -2179,10 +2179,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" } } ], @@ -2215,10 +2215,10 @@ "release_date": "2022-05-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "52dd18a58c05ec8b981bb85ea442b5b3", "status": "pending", @@ -2257,10 +2257,10 @@ "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "ee44eccc2412b1e64e91b0c58c206262", "status": "pending", @@ -2299,10 +2299,10 @@ "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "f8bbd74b4c7ebc896b26e995a68f6df6", "status": "pending", @@ -2341,10 +2341,10 @@ "release_date": "2021-10-06", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "3c7be88c964d95b6bfdfced820c2f324", "status": "pending", @@ -2354,6 +2354,18 @@ "version": "a8f17d37" } ], + "importFollowing.py": [ + { + "id": "none", + "server": { + "kb_version": { + "daily": "22.07.22", + "monthly": "22.06" + }, + "version": "4.5.4" + } + } + ], "inbox.py": [ { "component": "epicyon", @@ -2374,21 +2386,21 @@ "url": "https://spdx.org/licenses/AGPL-3.0-or-later.html" } ], - "lines": "2882-3006,3016-3309,3306-3851,3846-4523,4513-5488", + "lines": "2888-3012,3022-3315,3312-3858,3853-4530,4520-5495", "matched": "47%", - "oss_lines": "2851-2975,2856-3149,3859-4404,4093-4770,4092-5067", + "oss_lines": "2851-2975,2856-3149,3859-4405,4093-4770,4092-5067", "purl": [ "pkg:gitlab/bashrc2/epicyon" ], "release_date": "2022-05-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, - "source_hash": "be3b4a54d2daeef4cadc09c23366752e", + "source_hash": "1dc1231af201b93b982db6e97e2dd92b", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "26a51a1798a2817daaf5aa7276ca4a3b", @@ -2414,10 +2426,10 @@ "release_date": "2021-05-31", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "090d031316ba5e9c6b1dcd881d2cbbb1", "status": "pending", @@ -2456,10 +2468,10 @@ "release_date": "2022-04-05", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "77283c8e57c67cee5b4af86ce3220ff3", "status": "pending", @@ -2498,10 +2510,10 @@ "release_date": "2022-04-05", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "d74b42643665fba045e2696b2aebbaee", "status": "pending", @@ -2540,10 +2552,10 @@ "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "1de363afddfa48768de8a748cb25c494", "status": "pending", @@ -2582,10 +2594,10 @@ "release_date": "2022-04-05", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "8861626cb6c51bb1158c8aac02947f27", "status": "pending", @@ -2615,21 +2627,21 @@ "url": "https://spdx.org/licenses/AGPL-3.0-or-later.html" } ], - "lines": "1-321", - "matched": "99%", - "oss_lines": "1-321", + "lines": "1-31,74-359", + "matched": "87%", + "oss_lines": "1-31,36-321", "purl": [ "pkg:gitlab/bashrc2/epicyon" ], "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, - "source_hash": "99633c956f1655ae1a8236f5cc7d48ed", + "source_hash": "a74b772f7fa68246b77ab72a282d0f5f", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "8e88dc854644baca443bb7bcead0aa26", @@ -2681,10 +2693,10 @@ "release_date": "2021-05-31", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "cca1f68cf36a785f74563e383547fddc", "status": "pending", @@ -2723,10 +2735,10 @@ "release_date": "2022-04-05", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "608ca22ae0d7e4bf391a8f18298257c7", "status": "pending", @@ -2765,10 +2777,10 @@ "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "e76b3f17cef82ec751907fc15f8c07b6", "status": "pending", @@ -2807,10 +2819,10 @@ "release_date": "2021-09-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "e4bd67820a8ae0efb4ebd84cfcdb8727", "status": "pending", @@ -2849,10 +2861,10 @@ "release_date": "2022-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "3bc67ef9f955dd983c8f744c51e1e4f4", "status": "pending", @@ -2891,10 +2903,10 @@ "release_date": "2022-05-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "e8e3d4bc0ce2a4b84ab84b91e427c41d", "status": "pending", @@ -2933,12 +2945,12 @@ "release_date": "2021-09-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, - "source_hash": "debaae6ff98fc6953e2b1c75a994efa0", + "source_hash": "c4d1d9f54757f69ebe13298dc77ecf0e", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "93451a04990f28bd8b8b3e5193b1ae66", @@ -2975,10 +2987,10 @@ "release_date": "2022-05-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "c28260f7e309f070a7aed9b061aa39de", "status": "pending", @@ -3017,10 +3029,10 @@ "release_date": "2022-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "d188e1ffb1695bc2bc19de485ac4cca0", "status": "pending", @@ -3035,10 +3047,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" } } ], @@ -3047,10 +3059,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" } } ], @@ -3059,10 +3071,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" } } ], @@ -3071,10 +3083,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" } } ], @@ -3083,10 +3095,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" } } ], @@ -3095,10 +3107,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" } } ], @@ -3107,10 +3119,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" } } ], @@ -3119,10 +3131,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" } } ], @@ -3131,10 +3143,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" } } ], @@ -3143,10 +3155,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" } } ], @@ -3170,21 +3182,21 @@ "url": "https://spdx.org/licenses/AGPL-3.0-or-later.html" } ], - "lines": "1-143,165-526,515-695", - "matched": "98%", - "oss_lines": "2-144,151-512,587-767", + "lines": "1-143,205-550,539-719", + "matched": "92%", + "oss_lines": "2-144,250-595,587-767", "purl": [ "pkg:gitlab/bashrc2/epicyon" ], "release_date": "2022-05-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, - "source_hash": "2ff0cc003368e2e892ca6fdb4a22670f", + "source_hash": "f9c9bd38d6003870a63b43462a582922", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "26a51a1798a2817daaf5aa7276ca4a3b", @@ -3221,10 +3233,10 @@ "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "13da25790aa4692e6fabf9b38c390dc2", "status": "pending", @@ -3263,10 +3275,10 @@ "release_date": "2022-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "f6c1cf219b4cf93ddbf74af87173f2c9", "status": "pending", @@ -3305,10 +3317,10 @@ "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "9259e7339cb375f1080f347269239e29", "status": "pending", @@ -3338,21 +3350,21 @@ "url": "https://spdx.org/licenses/AGPL-3.0-or-later.html" } ], - "lines": "1821-2224,2218-2374,2364-5672", + "lines": "1832-1974,1966-2300,2289-5679", "matched": "68%", - "oss_lines": "2066-2469,2286-2442,4767-8075", + "oss_lines": "1842-1984,2219-2553,4767-8157", "purl": [ "pkg:gitlab/bashrc2/epicyon" ], "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, - "source_hash": "9a753356733328bbbad9b6aab775a372", + "source_hash": "85b0389c6d926ae53fe4ff0f671fa18e", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "8e88dc854644baca443bb7bcead0aa26", @@ -3388,10 +3400,10 @@ "release_date": "2022-05-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "bb5a4fcd9af8a6946c017dade5a0b22c", "status": "pending", @@ -3430,10 +3442,10 @@ "release_date": "2022-04-05", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "e87076f836731c3338152518d56ff8b0", "status": "pending", @@ -3472,10 +3484,10 @@ "release_date": "2022-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "a4b2f6e6e690dcaf9ac4b936ad1b6d5b", "status": "pending", @@ -3514,10 +3526,10 @@ "release_date": "2022-04-05", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "604b269595ff4a4194d5c85d7aa40f72", "status": "pending", @@ -3556,10 +3568,10 @@ "release_date": "2022-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "e4b60801f72bc3b470516e8aaa5231fe", "status": "pending", @@ -3598,10 +3610,10 @@ "release_date": "2022-04-05", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "802423b7911a380e12cd652d4b6596f9", "status": "pending", @@ -3616,10 +3628,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" } } ], @@ -3641,10 +3653,10 @@ "release_date": "2021-05-31", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "31c72aa9598ff7d00cff6f434541aad6", "status": "pending", @@ -3659,10 +3671,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" } } ], @@ -3671,10 +3683,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" } } ], @@ -3696,10 +3708,10 @@ "release_date": "2021-05-31", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "795389f777c891257a22ec233f907537", "status": "pending", @@ -3714,10 +3726,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" } } ], @@ -3726,10 +3738,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" } } ], @@ -3772,10 +3784,10 @@ "release_date": "2021-12-07", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "1901dea4c4b6465f8d6eea64d178b95d", "status": "pending", @@ -3790,10 +3802,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" } } ], @@ -3802,10 +3814,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" } } ], @@ -3814,10 +3826,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" } } ], @@ -3826,10 +3838,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" } } ], @@ -3838,10 +3850,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" } } ], @@ -3850,10 +3862,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" } } ], @@ -3862,10 +3874,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" } } ], @@ -3874,10 +3886,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" } } ], @@ -3886,10 +3898,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" } } ], @@ -3922,10 +3934,10 @@ "release_date": "2022-05-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "09f96ab956e9340c481a56f74469a46f", "status": "pending", @@ -3940,10 +3952,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" } } ], @@ -3976,10 +3988,10 @@ "release_date": "2022-04-05", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "9e92be356dcd23fa6544d528ccfaeb8d", "status": "pending", @@ -4018,10 +4030,10 @@ "release_date": "2022-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "d3a99697624041b8cd74800c2b632d0f", "status": "pending", @@ -4060,10 +4072,10 @@ "release_date": "2022-04-05", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "fa1df9b1f52aadbe8b8360aaac2a2015", "status": "pending", @@ -4102,10 +4114,10 @@ "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "d6c101b6e19c232b3227975cc7767b25", "status": "pending", @@ -4149,10 +4161,10 @@ "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "2323ad783fdacba2bce7f0fd8455a042", "status": "pending", @@ -4191,10 +4203,10 @@ "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "c66a22547cb6f59ee2bf22164113a5e3", "status": "pending", @@ -4222,10 +4234,10 @@ "release_date": "2022-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "80d10a9c527842eb43c9a4f03f21c5bd", "status": "pending", @@ -4264,21 +4276,21 @@ "url": "https://spdx.org/licenses/CC-BY-4.0.html" } ], - "lines": "4677-4913,4905-5716,5769-5840,5830-7306,7455-7514", + "lines": "4651-4698,4687-4923,4915-5729,5782-7320,7469-7503", "matched": "35%", - "oss_lines": "4954-5190,4895-5706,5596-5667,6816-8292,7110-7169", + "oss_lines": "2815-2862,4954-5190,4895-5709,5626-7164,7088-7122", "purl": [ "pkg:gitlab/bashrc2/epicyon" ], "release_date": "2022-05-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, - "source_hash": "871e594fd1a02cf5e93984b652045888", + "source_hash": "f6ea468b985093f0573cb9ee1198471b", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "26a51a1798a2817daaf5aa7276ca4a3b", @@ -4315,10 +4327,10 @@ "release_date": "2022-04-05", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "405f2f2ed1a931c66f6082796a025559", "status": "pending", @@ -4346,10 +4358,10 @@ "release_date": "2021-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "b379fc9dc0c612e41c96717a260680ad", "status": "pending", @@ -4377,10 +4389,10 @@ "release_date": "2021-05-31", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "bfc6cbf834c515ebf6cd82d9d5e7de6f", "status": "pending", @@ -4408,10 +4420,10 @@ "release_date": "2021-05-31", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "e6981c6d43024081b9fec13235a48f37", "status": "pending", @@ -4439,10 +4451,10 @@ "release_date": "2021-05-31", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "fb73dd63647efe22b9b0d673fb16c19c", "status": "pending", @@ -4470,10 +4482,10 @@ "release_date": "2021-05-31", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "0208bcf4859109b4559a7f78ccfc0a85", "status": "pending", @@ -4501,10 +4513,10 @@ "release_date": "2021-05-31", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "e6981c6d43024081b9fec13235a48f37", "status": "pending", @@ -4532,10 +4544,10 @@ "release_date": "2021-05-31", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "bfc6cbf834c515ebf6cd82d9d5e7de6f", "status": "pending", @@ -4550,10 +4562,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" } } ], @@ -4562,10 +4574,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" } } ], @@ -4587,10 +4599,10 @@ "release_date": "2021-05-31", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "01d2f26634dac1a31eee852a1a301e44", "status": "pending", @@ -4629,10 +4641,10 @@ "release_date": "2022-04-05", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "152ffc05b0e7888b9773ca81c93d5cbc", "status": "pending", @@ -4671,10 +4683,10 @@ "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "2bffa60a7fd35219165e36f2386f97ff", "status": "pending", @@ -4689,10 +4701,10 @@ "id": "none", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" } } ], @@ -4716,21 +4728,21 @@ "url": "https://spdx.org/licenses/AGPL-3.0-or-later.html" } ], - "lines": "219-1137,1134-1415,1406-1805,1799-3345,3340-3788,3796-3830", - "matched": "94%", - "oss_lines": "138-1056,1295-1576,1674-2073,1974-3520,3326-3774,3710-3744", + "lines": "1162-1408,1405-1799,1790-2108,2100-3358,3353-3801,3807-3844", + "matched": "70%", + "oss_lines": "1053-1299,1322-1716,2566-2884,2350-3608,3326-3774,3708-3745", "purl": [ "pkg:gitlab/bashrc2/epicyon" ], "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, - "source_hash": "2b4142ddf2073ec598673d2a628ef6bf", + "source_hash": "1bba662fd06bfd7680c375dfeb3eb130", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "8e88dc854644baca443bb7bcead0aa26", @@ -4767,10 +4779,10 @@ "release_date": "2022-05-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "23e435038b01aea1b45b26c3027f9be5", "status": "pending", @@ -4809,12 +4821,12 @@ "release_date": "2022-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, - "source_hash": "c85676809926c1a6454fafd408bffa59", + "source_hash": "10a29cd7f301e5571d650fe9489b65b3", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "d0c0ff44e466c2b609148ba01790dc81", @@ -4828,7 +4840,7 @@ "file": "webapp_accesskeys.py", "file_hash": "4326e70724138b09333db07339209114", "file_url": "https://osskb.org/api/file_contents/4326e70724138b09333db07339209114", - "id": "file", + "id": "snippet", "latest": "ef5ce403", "licenses": [ { @@ -4842,21 +4854,21 @@ "url": "https://spdx.org/licenses/AGPL-3.0-or-later.html" } ], - "lines": "all", - "matched": "100%", - "oss_lines": "all", + "lines": "1-133", + "matched": "99%", + "oss_lines": "1-133", "purl": [ "pkg:gitlab/bashrc2/epicyon" ], "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, - "source_hash": "4326e70724138b09333db07339209114", + "source_hash": "811fc11f1f46e2bba3602d21a0ef4d99", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "8e88dc854644baca443bb7bcead0aa26", @@ -4884,21 +4896,21 @@ "url": "https://spdx.org/licenses/AGPL-3.0-or-later.html" } ], - "lines": "1-142,159-224,222-474,494-545,549-608", - "matched": "93%", - "oss_lines": "1-142,132-197,346-598,412-463,454-513", + "lines": "1-142,159-393,403-474,494-545,549-608", + "matched": "91%", + "oss_lines": "1-142,177-411,346-417,412-463,454-513", "purl": [ "pkg:gitlab/bashrc2/epicyon" ], "release_date": "2022-05-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, - "source_hash": "c470a160b276cb1895333d8a0fdf4d6f", + "source_hash": "1657afb4f24bce5fd86000cf74e00c0d", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "26a51a1798a2817daaf5aa7276ca4a3b", @@ -4926,21 +4938,21 @@ "url": "https://spdx.org/licenses/AGPL-3.0-or-later.html" } ], - "lines": "1-41,102-176,175-246,249-510,519-568", - "matched": "86%", - "oss_lines": "2-42,46-120,146-217,180-441,429-478", + "lines": "102-176,175-246,249-369,366-510,519-568", + "matched": "79%", + "oss_lines": "46-120,146-217,180-300,306-450,429-478", "purl": [ "pkg:gitlab/bashrc2/epicyon" ], "release_date": "2021-05-31", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, - "source_hash": "b13a011f1266e9f857feabd979048019", + "source_hash": "97b59a8b61ca609d9a8359df59f1ae7c", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "398b52b3f1d7e94bb7c21a73d50d4735", @@ -4977,12 +4989,12 @@ "release_date": "2021-02-03", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, - "source_hash": "e50cb4532de4ac461e926415bac51efc", + "source_hash": "28590078f978a0eaf6aa572c8a258611", "status": "pending", "url": "https://pypi.org/project/epicyon", "url_hash": "b2989ed1f7d5477a031318db2e9c6cad", @@ -5010,21 +5022,21 @@ "url": "https://spdx.org/licenses/AGPL-3.0-or-later.html" } ], - "lines": "1-333", + "lines": "1-203,196-380", "matched": "99%", - "oss_lines": "43-375", + "oss_lines": "96-298,290-474", "purl": [ "pkg:gitlab/bashrc2/epicyon" ], "release_date": "2022-04-05", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, - "source_hash": "b06f0b84b2018c68dbf6b53b4b45de5e", + "source_hash": "6945ec5494da69ae95132d455a8c2259", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "ef9c7a524f13773771c91cbe9c5d3dd9", @@ -5061,12 +5073,12 @@ "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, - "source_hash": "cd01dd8c064f9e5f13c4e0042f05c824", + "source_hash": "ba8e189aea8e9396925e0e72fbc89eb9", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "8e88dc854644baca443bb7bcead0aa26", @@ -5103,12 +5115,12 @@ "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, - "source_hash": "dbf882690268d94c658e067757ca5f61", + "source_hash": "81c527f92ef51a0bd688842fdb5e1791", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "8e88dc854644baca443bb7bcead0aa26", @@ -5145,12 +5157,12 @@ "release_date": "2022-04-05", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, - "source_hash": "84fe13ecebcb3e97a8b2b0650f640a15", + "source_hash": "34329893366d97364227c03ae9f1d769", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "ef9c7a524f13773771c91cbe9c5d3dd9", @@ -5162,10 +5174,10 @@ { "component": "epicyon", "file": "webapp_headerbuttons.py", - "file_hash": "868c5671bcb0ccc9abb61f42d6ad8c0f", - "file_url": "https://osskb.org/api/file_contents/868c5671bcb0ccc9abb61f42d6ad8c0f", - "id": "file", - "latest": "ef5ce403", + "file_hash": "977e9e244418379e5382205a1c6212bd", + "file_url": "https://osskb.org/api/file_contents/977e9e244418379e5382205a1c6212bd", + "id": "snippet", + "latest": "42b3ac8e", "licenses": [ { "checklist_url": "https://www.osadl.org/fileadmin/checklists/unreflicenses/AGPL-3.0-or-later.txt", @@ -5178,26 +5190,26 @@ "url": "https://spdx.org/licenses/AGPL-3.0-or-later.html" } ], - "lines": "all", - "matched": "100%", - "oss_lines": "all", + "lines": "1-174,175-256,259-405", + "matched": "98%", + "oss_lines": "63-236,133-214,271-417", "purl": [ "pkg:gitlab/bashrc2/epicyon" ], - "release_date": "2022-06-04", + "release_date": "2022-04-05", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, - "source_hash": "868c5671bcb0ccc9abb61f42d6ad8c0f", + "source_hash": "05eae7ef62f49f07181de42436e93381", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", - "url_hash": "8e88dc854644baca443bb7bcead0aa26", + "url_hash": "ef9c7a524f13773771c91cbe9c5d3dd9", "vendor": "bashrc2", - "version": "ef5ce403" + "version": "47edfad9" } ], "webapp_likers.py": [ @@ -5220,21 +5232,21 @@ "url": "https://spdx.org/licenses/AGPL-3.0-or-later.html" } ], - "lines": "1-165", + "lines": "1-166", "matched": "99%", - "oss_lines": "1-165", + "oss_lines": "1-166", "purl": [ "pkg:gitlab/bashrc2/epicyon" ], "release_date": "2022-04-05", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, - "source_hash": "bb11ba0fe415a3e0ca75921c7c605793", + "source_hash": "b8d33f72465056926c79def7b740866b", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "ef9c7a524f13773771c91cbe9c5d3dd9", @@ -5271,12 +5283,12 @@ "release_date": "2022-04-05", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, - "source_hash": "4d5f2c2b12b934f3fb72359c3e839925", + "source_hash": "61f21b1f9ce828e6ab9b0127adc5581b", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "ef9c7a524f13773771c91cbe9c5d3dd9", @@ -5313,10 +5325,10 @@ "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "bd8b2c124edbb99ac06376436722760c", "status": "pending", @@ -5355,10 +5367,10 @@ "release_date": "2022-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "5175f8b0acd68c755d53d963454762df", "status": "pending", @@ -5397,12 +5409,12 @@ "release_date": "2022-04-05", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, - "source_hash": "97dbaba07f116f759e9f9591af6185e7", + "source_hash": "bf8a452133dcce503f08e89b57e7ac2c", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "ef9c7a524f13773771c91cbe9c5d3dd9", @@ -5439,12 +5451,12 @@ "release_date": "2021-09-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, - "source_hash": "50cb2d3d4474ccc009905b95e6b38752", + "source_hash": "4243a4e27c1d509e36761d29ed0691d7", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "93451a04990f28bd8b8b3e5193b1ae66", @@ -5481,12 +5493,12 @@ "release_date": "2022-05-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, - "source_hash": "1e4f0d5458f766530db5430aae2862be", + "source_hash": "8dc274bda11075c36ad46b46dc2fa03e", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "26a51a1798a2817daaf5aa7276ca4a3b", @@ -5514,21 +5526,21 @@ "url": "https://spdx.org/licenses/AGPL-3.0-or-later.html" } ], - "lines": "1-1023,1012-1559,1582-1848,1844-2722", + "lines": "1-508,504-1353,1358-1560,1583-1849,1846-2723", "matched": "99%", - "oss_lines": "503-1525,1359-1906,1557-1823,2559-3437", + "oss_lines": "2-509,1191-2040,1359-1561,1557-1823,2559-3436", "purl": [ "pkg:gitlab/bashrc2/epicyon" ], "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, - "source_hash": "fe880d0f6a78c71917e1ab1ce26ac98c", + "source_hash": "1a16d090155521409005f9d9e1123cb8", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "8e88dc854644baca443bb7bcead0aa26", @@ -5565,21 +5577,21 @@ "url": "https://spdx.org/licenses/CC-BY-4.0.html" } ], - "lines": "1-1120,1114-1535,1529-2555", + "lines": "3-636,627-1238,1232-2011,2024-2234,2231-2582", "matched": "99%", - "oss_lines": "646-1765,1218-1639,2190-3216", + "oss_lines": "3-636,1106-1717,1515-2294,1985-2195,2390-2741", "purl": [ "pkg:gitlab/bashrc2/epicyon" ], "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, - "source_hash": "7998f1e2967d22d7ba2dec78b4ffe049", + "source_hash": "55d4a428fc2fd794fd69a5dc54b8e0d7", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "8e88dc854644baca443bb7bcead0aa26", @@ -5616,10 +5628,10 @@ "release_date": "2022-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "ffb3ca35de17b0f43555ef9323e06a79", "status": "pending", @@ -5658,10 +5670,10 @@ "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "ae96d052aa7bab3a1e3e7c509fd417fd", "status": "pending", @@ -5700,12 +5712,12 @@ "release_date": "2021-02-03", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, - "source_hash": "6ffacf091968477fb0f9e667e5455311", + "source_hash": "b2ce9073894157ccaaeae679776b1650", "status": "pending", "url": "https://pypi.org/project/epicyon", "url_hash": "b2989ed1f7d5477a031318db2e9c6cad", @@ -5719,7 +5731,7 @@ "file": "webapp_suspended.py", "file_hash": "f925e1d87508da69d4c1501d7c5c0654", "file_url": "https://osskb.org/api/file_contents/f925e1d87508da69d4c1501d7c5c0654", - "id": "file", + "id": "snippet", "latest": "ef5ce403", "licenses": [ { @@ -5733,21 +5745,21 @@ "url": "https://spdx.org/licenses/AGPL-3.0-or-later.html" } ], - "lines": "all", - "matched": "100%", - "oss_lines": "all", + "lines": "1-34", + "matched": "97%", + "oss_lines": "1-34", "purl": [ "pkg:gitlab/bashrc2/epicyon" ], "release_date": "2022-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, - "source_hash": "f925e1d87508da69d4c1501d7c5c0654", + "source_hash": "20f504876a8db0b8531e7b879ad4778a", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "d0c0ff44e466c2b609148ba01790dc81", @@ -5775,21 +5787,21 @@ "url": "https://spdx.org/licenses/AGPL-3.0-or-later.html" } ], - "lines": "1-399", + "lines": "1-179,171-399", "matched": "99%", - "oss_lines": "228-626", + "oss_lines": "1-179,228-456", "purl": [ "pkg:gitlab/bashrc2/epicyon" ], "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, - "source_hash": "f608ddbdfb98a0120a8b8897911f3979", + "source_hash": "fb403a0acf172277cbe1aa7a2a60ed35", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "8e88dc854644baca443bb7bcead0aa26", @@ -5817,21 +5829,21 @@ "url": "https://spdx.org/licenses/AGPL-3.0-or-later.html" } ], - "lines": "1-450,449-1158,1164-1256,1245-1855", - "matched": "99%", - "oss_lines": "196-645,681-1390,1546-1638,1295-1905", + "lines": "721-841,847-1189,1179-1396,1386-1632,1622-1877", + "matched": "62%", + "oss_lines": "685-805,771-1113,1549-1766,1552-1798,1528-1783", "purl": [ "pkg:gitlab/bashrc2/epicyon" ], "release_date": "2022-04-05", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, - "source_hash": "f3c333815ddf1b6aa9d77e7db250fffd", + "source_hash": "ce186031e54836d607acad1b324b318c", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "ef9c7a524f13773771c91cbe9c5d3dd9", @@ -5868,10 +5880,10 @@ "release_date": "2022-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "63d1c1aa3c0d1fae25d0966c26318042", "status": "pending", @@ -5911,21 +5923,21 @@ "url": "https://spdx.org/licenses/AGPL-3.0-or-later.html" } ], - "lines": "395-829,837-1130,1186-1239,1267-1510,1511-1855", - "matched": "73%", - "oss_lines": "351-785,793-1086,1102-1155,1119-1362,1701-2045", + "lines": "415-849,857-1152,1208-1261,1289-1532,1533-1877", + "matched": "72%", + "oss_lines": "351-785,976-1271,1102-1155,1119-1362,1701-2045", "purl": [ "pkg:gitlab/bashrc2/epicyon" ], "release_date": "2022-05-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, - "source_hash": "f95dff0c33c1bff8e5e54b02d275ff0e", + "source_hash": "088832e72ff32be127a4320fb2ca8447", "status": "pending", "url": "https://gitlab.com/bashrc2/epicyon", "url_hash": "26a51a1798a2817daaf5aa7276ca4a3b", @@ -5962,10 +5974,10 @@ "release_date": "2022-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "18d4dce01fd45e74bf40f995749af40f", "status": "pending", @@ -6004,10 +6016,10 @@ "release_date": "2021-08-02", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "152ea7d002c2a1c7566f46f921d24373", "status": "pending", @@ -6046,10 +6058,10 @@ "release_date": "2022-02-08", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.3" + "version": "4.5.4" }, "source_hash": "35e77533d31bbc9d1f7acf33cb241c1a", "status": "pending", @@ -6088,10 +6100,10 @@ "release_date": "2021-10-06", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "a943c163585a9d9615801edb11946fc4", "status": "pending", @@ -6130,10 +6142,10 @@ "release_date": "2022-06-04", "server": { "kb_version": { - "daily": "22.07.12", + "daily": "22.07.22", "monthly": "22.06" }, - "version": "4.5.2" + "version": "4.5.4" }, "source_hash": "f99232bd58fb3a4ab6effd1169207063", "status": "pending", diff --git a/shares.py b/shares.py index 2d9bad60e..d593a4721 100644 --- a/shares.py +++ b/shares.py @@ -1333,6 +1333,7 @@ def shares_catalog_endpoint(base_dir: str, http_prefix: str, "DFC:description": description } endpoint['DFC:supplies'].append(catalog_item) + break return endpoint diff --git a/tests.py b/tests.py index 78444e709..4e7512150 100644 --- a/tests.py +++ b/tests.py @@ -5088,6 +5088,7 @@ def _test_thread_functions(): threads_called_in_modules = [] # get the source for each module + # Allow recursive walk for _, _, files in os.walk('.'): for source_file in files: if not source_file.endswith('.py'): diff --git a/theme.py b/theme.py index 3151058b7..21c0dbaba 100644 --- a/theme.py +++ b/theme.py @@ -933,6 +933,7 @@ def update_default_themes_list(base_dir: str) -> None: def scan_themes_for_scripts(base_dir: str) -> bool: """Scans the theme directory for any svg files containing scripts """ + # allow recursive walk for subdir, _, files in os.walk(base_dir + '/theme'): for fname in files: if not fname.endswith('.svg'): diff --git a/utils.py b/utils.py index 1f95a9c5c..bdb40204a 100644 --- a/utils.py +++ b/utils.py @@ -1559,7 +1559,7 @@ def clear_from_post_caches(base_dir: str, recent_posts_cache: {}, to news will appear """ filename = '/postcache/' + post_id + '.html' - for subdir, dirs, files in os.walk(base_dir + '/accounts'): + for _, dirs, _ in os.walk(base_dir + '/accounts'): for acct in dirs: if '@' not in acct: continue @@ -3842,3 +3842,11 @@ def get_attachment_property_value(property_value: {}) -> (str, str): prop_value_name = 'https://schema.org#value' prop_value = property_value[prop_value_name] return prop_value_name, prop_value + + +def safe_system_string(text: str) -> str: + """Returns a safe version of a string which can be used within a + system command + """ + text = text.replace('$(', '(').replace('`', '') + return text