Commit graph

60 commits

Author SHA1 Message Date
Yu Ming Zhu
f41b8c70a7 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
2024-02-02 09:08:18 +01:00
Yu Ming Zhu
444f4394c1 remove unnecessary reject_draft refs in HostExports
As we should be able to guarantee that builder won't do that.
2024-01-05 10:00:49 +00:00
Yu Ming Zhu
72fa1b8c58 reject draft build in buildroot of winbuild 2024-01-05 10:00:40 +00:00
Ken Dreyer
35512061fa koijkamid: remove clamav scanner
The ClamAV virus scanner in Cygwin is buggy and unmaintained. It takes
significant time to run the scanner during each build, and Windows has
better malware scanners now.

Remove the ClamAV virus scanning from kojikamid.
2023-01-10 12:02:16 +01:00
Ken Dreyer
bb1d61569e kojikamid: docstring for getFile method
Document the getFile method.
2022-11-10 09:50:42 +01:00
Ken Dreyer
64a856f62b kojikamid: write buildrequires files as bytes
Fix a TypeError when downloading buildrequires files on Python 3.
base64.b64decode() returns bytes, so we must open the file for writing
in bytes mode, not text mode.

Add a unit test that verifies this behavior.
2022-11-09 16:50:17 -05:00
Tomas Kopecek
ba2e1e520b basic security checks with bandit
Fixes: https://pagure.io/koji/issue/3042
2021-10-20 15:20:14 +02:00
Yu Ming Zhu
edd2dbadc5 fix flake8 2021-08-13 18:46:03 +00:00
Tomas Kopecek
06528a5650 use decode for py3 bytes/strings
Fixes: https://pagure.io/koji/issue/2976
2021-08-11 12:41:58 +02:00
Tomas Kopecek
0cfb2c0280 py3 Popen text mode fix 2021-08-11 12:41:58 +02:00
Tomas Kopecek
13f4023bf5 flake8 fixes 2021-02-16 14:43:49 +01:00
Tomas Kopecek
c6e69b4f8b backport py27 compatible file open with encoding
client and builder needs to run on py27 which doesn't support
open(encoding='utf-8')

Related: https://pagure.io/koji/issue/2641
2021-02-16 14:13:03 +01:00
Tomas Kopecek
96ae0ecef5 explicit encoding for text file operations
Fixes: https://pagure.io/koji/issue/2641
2021-01-26 13:36:25 +01:00
lrossett
1c787a323f flake8 fixes 2020-12-14 13:26:00 +01:00
Tomas Kopecek
48434f4393 vm in py3 2020-10-06 15:00:23 +02:00
Tomas Kopecek
732be23bb5 vm: revert to RawConfigParser
Fixes: https://pagure.io/koji/issue/2277
2020-08-26 09:27:29 +02:00
Tomas Kopecek
50bcb6f3bc replace md5 with sha256 2020-06-24 14:42:01 +02:00
Yu Ming Zhu
a893e8bf2b a wrapper ignoring FIPS for hashlib.md5 2020-06-24 14:42:00 +02:00
Tomas Kopecek
64a0033150 fix additional flake8 problems 2020-05-13 09:56:36 +02:00
Yuming Zhu
cf34706f04 use Exception instead of BaseException for bare expection 2020-03-03 21:38:22 +08:00
Yuming Zhu
c5db34a8e1 flake8: apply E501 with max-line-length=99 2020-03-03 21:38:22 +08:00
Yuming Zhu
f1ba6cefd7 flake8: apply all rest E7 rules 2020-03-03 21:38:22 +08:00
Yuming Zhu
6dd77e0fa4 flake8: apply E502 rule 2020-03-03 21:38:22 +08:00
Yuming Zhu
0f727a2ab4 flake8: apply E3 rules 2020-03-03 21:38:22 +08:00
Yuming Zhu
ce1f9928af flake8: apply E1 rules 2020-03-03 21:38:21 +08:00
Yuming Zhu
97cfaa4fcf flake8: follow E265 rule 2020-03-03 21:35:08 +08:00
Yuming Zhu
642508ccf6 flake8: follow all F rules 2020-03-03 21:35:08 +08:00
Yu Ming Zhu
5b83c682e4 remove unused imports 2019-12-12 11:00:58 +00:00
Yu Ming Zhu
77bc43c07a sort imports in vm 2019-12-12 11:00:56 +00:00
Mike Bonnet
be31305f52 include CHECKSUM_TYPES in kojikamid.py, and use it when validating checksums of downloaded files
The Koji data model has been updated to support multiple checksum types. These are listed in the
CHECKSUM_TYPES enum in koji/__init__.py, but are not available in kojikamid.py. This change
copies the Enum class and the CHECKSUM_TYPES enum into kojikamid at build time, and uses it when
validating the checksums of downloaded files.
2019-11-27 16:42:24 +01:00
Mike Bonnet
4cd37132dd kojikamid.py: use urllib from six.moves
kojikamid has the SCM class from daemon.py inserted into it at build time. This class
has been converted to use urllib from six.moves (for Python 3 compatibility), rather
than using urlparse. Update the import in kojikamid.py to be compatible with this change.
2019-11-27 16:42:24 +01:00
Mike Bonnet
3d7a6af560 fix argument type in format string
Argument is a string, not a float.
2019-11-27 16:42:24 +01:00
Yu Ming Zhu
4c1928f377 extract read_config_files util for config parsing 2019-10-15 09:14:16 +02:00
Mike Bonnet
6bdb18e26f re-add import removed by 921258749a
kojikamid has code from other files substituted into it, to reduce
copy-paste. In this case, the SCM class from koji/daemon.py
requires the urlparse module.
2019-01-15 11:42:21 -05:00
Mike McLean
8a36479cdb fix undefined var 2019-01-15 10:51:19 -05:00
Tomas Kopecek
28ce53afc3 use correct fileinfo checksum field
Fixes: https://pagure.io/koji/issue/966
2019-01-15 10:51:19 -05:00
Tomas Kopecek
f4ee150026 drop encode_int helper
We're already using i8 encoding mechanism, so this function is no more
needed.

Fixes: https://pagure.io/koji/issue/750
2018-12-03 23:55:39 -05:00
Tomas Kopecek
be535c2854 python-modernize -f libmodernize.fixes.fix_imports_six 2018-07-11 17:37:39 -04:00
Tomas Kopecek
bcee24e50c python-modernize -f libmodernize.fixes.fix_dict_six 2018-07-11 17:37:39 -04:00
Franz Chih-Ping Hsieh
f356ac4f17 force using python2 to run script
Fixes #945
2018-05-24 00:01:30 -04:00
Tomas Kopecek
379ec8ae63 python-modernize -f lib2to3.fixes.file . -w 2017-10-31 16:05:16 +01:00
Tomas Kopecek
1494301465 use new exception syntax 2017-03-02 10:52:30 -05:00
Tomas Kopecek
c143d0b88f print statement -> print function 2017-02-28 10:55:56 -05:00
Tomas Kopecek
921258749a removed unused imports 2016-10-04 15:48:54 +02:00
Pavol Babincak
9e89ebb9a4 Ran reindent.py from cpython tools on all python scripts
Citing from reindent docs:

    Change Python (.py) files to use 4-space indents and no hard tab
    characters. Also trim excess spaces and tabs from ends of lines, and
    remove empty lines at the end of files.  Also ensure the last line
    ends with a newline.

Citing from PEP 8:

    Use 4 spaces per indentation level.

    Python 2 code indented with a mixture of tabs and spaces should be
    converted to using spaces exclusively.

    Don't write string literals that rely on significant trailing
    whitespace. Such trailing whitespace is visually indistinguishable
    and some editors (or more recently, reindent.py) will trim them.

Also PyLint recommends not to have trailing whitespace on any line.
2015-05-13 16:39:53 -04:00
Mike Bonnet
ab53d2deb0 update copyright 2014-10-28 23:54:21 -04:00
Mike Bonnet
df316c0c6f xmlrpclib is not thread-safe, create a new ServerProxy instance so we're not sharing with the stream_logs thread 2014-10-28 23:54:20 -04:00
Mike Bonnet
407a1764e4 also exclude SCM metadata dirs from the sources and patches zip files of Windows builds 2012-12-19 17:10:36 -05:00
Mike Bonnet
df0e871538 handle rpm and archive tracking in buildroots separately 2011-04-26 14:30:03 -04:00
Mike Bonnet
95c61ca424 expand $name, $version, and $release in postbuild checks 2011-04-04 15:36:11 -04:00