Bandit [B411]: use defusedxml to prevent remote XML attacks

- putting xmlrpc stuff into koji.xmlrpcplus
- adding koji.xmlrpcplus.xmlrpc_server to refer
- replacing refs of original xmlrpc.client.dumps to enhanced
  koji.xmlrpcplus.dumps

fixes: #3964
This commit is contained in:
Yu Ming Zhu 2024-01-15 13:38:41 +00:00 committed by Tomas Kopecek
parent a96b5a9b07
commit f41b8c70a7
11 changed files with 46 additions and 38 deletions

View file

@ -23,7 +23,6 @@ import koji
from koji import parse_arches
from koji import _ # noqa: F401
from koji.util import md5_constructor, to_list
from koji.xmlrpcplus import xmlrpc_client
# for compatibility with plugins based on older version of lib
@ -208,7 +207,7 @@ class TaskWatcher(object):
error = None
try:
self.session.getTaskResult(self.id)
except (six.moves.xmlrpc_client.Fault, koji.GenericError) as e:
except (koji.xmlrpcplus.Fault, koji.GenericError) as e:
error = e
if error is None:
# print("%s: complete" % self.str())
@ -922,6 +921,6 @@ def truncate_string(s, length=47):
class DatetimeJSONEncoder(json.JSONEncoder):
def default(self, o):
if isinstance(o, xmlrpc_client.DateTime):
if isinstance(o, koji.xmlrpcplus.DateTime):
return str(o)
return json.JSONEncoder.default(self, o)