From 4536b130df23b64a131c5a715d2549b512eb3e74 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 7 Dec 2023 13:47:27 +0100 Subject: [PATCH] index: add datatype checking to mirrors: and config/mirrors.yml --- fdroidserver/index.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/fdroidserver/index.py b/fdroidserver/index.py index b80c66c7..509790bb 100644 --- a/fdroidserver/index.py +++ b/fdroidserver/index.py @@ -1410,6 +1410,15 @@ def add_mirrors_to_repodict(repo_section, repodict): ) with mirrors_yml.open() as fp: mirrors_config = yaml.safe_load(fp) + if not isinstance(mirrors_config, list): + msg = _('{path} is not list, but a {datatype}!') + raise TypeError( + msg.format(path=mirrors_yml, datatype=type(mirrors_config).__name__) + ) + + if type(mirrors_config) not in (list, tuple, set): + msg = 'In config.yml, mirrors: is not list, but a {datatype}!' + raise TypeError(msg.format(datatype=type(mirrors_config).__name__)) mirrorcheckfailed = False mirrors = []