Commit graph

510 commits

Author SHA1 Message Date
Ken Dreyer
1e00081991 refactor exceptions to koji.exceptions
Move Koji's custom exceptions classes to a dedicated koji.exceptions
library. This organizes the code so it's easier to maintain, and matches
patterns in other well-known projects, like requests.exceptions or
cryptography.exceptions.
2022-02-10 15:44:04 +01:00
Jana Cupova
968eb61055 Fix makedirs for existing dirs
Fixes: https://pagure.io/koji/issue/3097
2022-02-07 15:04:34 +01:00
Tomas Kopecek
06b5f7c188 Hide sensitive values in urrlib3 exceptions
Fixes: https://pagure.io/koji/issue/2801
2022-02-07 11:10:19 +01:00
Jana Cupova
c1920b330a Write signed copies atomically
Fixes: https://pagure.io/koji/issue/3097
2022-02-07 10:12:57 +01:00
Tomas Kopecek
3ee95baa5f mock.module_setup_commands tag extra option
Fixes: https://pagure.io/koji/issue/2483
2022-02-07 09:33:14 +01:00
Ken Dreyer
eaa5bf9add lib: rename inner error variable in is_conn_err()
Rename this variable to something easier to understand.
2022-01-11 12:32:52 +01:00
Ken Dreyer
1cc6c79157 lib: refactor errno list in is_conn_error()
Move the copy-and-pasted list of errnos into a variable and use that in
both places. This makes this code easier to understand.
2022-01-11 12:32:52 +01:00
Jana Cupova
74ac826a87 Add limits on name values
Fixes: https://pagure.io/koji/issue/2117
2021-12-09 07:11:57 +01:00
Tomas Kopecek
9e6be3f977 lib: Deprecate koji.listFaults
Related: https://pagure.io/koji/issue/3071
2021-11-07 09:37:18 +00:00
Tomas Kopecek
a6aeaee3e3 fix callMethod 2021-11-04 12:07:05 +00:00
Tomas Kopecek
09a8fd71e5 backward compatibility for older hub
use proxyauthtype only if it is explicetly requested. Older hubs
don't know this option and will refuse login attempt.
2021-11-04 12:07:05 +00:00
Tomas Kopecek
252121c11f propagate proxyauthtype in login calls 2021-11-04 12:07:05 +00:00
Jana Cupova
32b5377392 Remove translation stub functions
Fixes: https://pagure.io/koji/issue/3072
2021-10-21 13:25:16 +02:00
Tomas Kopecek
ba2e1e520b basic security checks with bandit
Fixes: https://pagure.io/koji/issue/3042
2021-10-20 15:20:14 +02:00
Ken Dreyer
0747714f6e document convertFault method
Update the convertFault docstring to describe how the method converts
faults, the "fault" parameter type, and possible return values.
2021-10-12 14:27:39 -04:00
Tomas Kopecek
a626d818a2 fix typo 2021-09-15 12:43:06 +02:00
Patrick Uiterwijk
af25fc2e24 Support packages that are head-signed
This supports packages which do not have the RPMv3 signature scheme
(over the full RPM header+payload), but instead only have signatures
over the header (v4 scheme).
For the v4 scheme, the signature is only stored in SIGTAG_RSA (or
SIGTAG_DSA).

Signed-off-by: Patrick Uiterwijk <patrick@puiterwijk.org>
2021-09-15 12:43:06 +02:00
Tomas Kopecek
7a4b17005a expose force_auth in config 2021-09-14 13:26:11 +02:00
Tomas Kopecek
d53c3f88fa lib: return taskLabel for unknown tasks
"malformed task" has been returned for everything unknown, but external
plugins can create completely valid tasks which we can't parse without
those plugins. In such case we want to return at least method/arch info.

Related: https://pagure.io/koji/issue/2904
2021-06-09 14:44:04 +02:00
Jana Cupova
9541c2a173 importlib instead of imp
Fixes: https://pagure.io/koji/issue/2822
2021-06-02 11:19:33 +02:00
Jana Cupova
de008b5f27 Add kerberos debug message
Fixes: https://pagure.io/koji/issue/2063
2021-05-03 13:41:35 +02:00
Tomas Kopecek
6e3553459f lib: is_conn_error catch more exceptions
Related: https://pagure.io/koji/issue/2789
2021-04-28 13:34:40 +02:00
Tomas Kopecek
ef3e2cd04b lib: use parse_task_params for taskLabel
Fixes: https://pagure.io/koji/issue/2519
2021-04-26 14:43:20 +02:00
Tomas Kopecek
290e1ddf31 lib: more portable BadStatusLine checking
Fixes: https://pagure.io/koji/issue/2789
2021-04-13 13:26:10 +02:00
Tomas Kopecek
a7c769fd41 lib: set sinfo=None for failed ssl_login
Fixes: https://pagure.io/koji/issue/2793
2021-03-31 13:54:08 +02:00
Tomas Kopecek
32929a7916 lib: missing default values in read_config
e.g. self.opts.get('max_retries', 30) will return wrong value if there
is None as a default value.

Fixes: https://pagure.io/koji/issue/2668
2021-03-31 13:51:34 +02:00
Mike McLean
c71ebec58a Revert "requests exception"
This reverts commit ff8c13969e.

Fixes https://pagure.io/koji/issue/2786
2021-03-29 11:27:22 +02:00
Tomas Kopecek
3321abbf88 lib: more verbose conn AuthError for ssl/gssapi
Fixes: https://pagure.io/koji/issue/2502
2021-03-29 11:22:06 +02:00
Tomas Kopecek
ebdbb80e02 drop PyOpenSSL usage
We've replaced it with requests library some time ago, this code has no
better sensitivity than requests error checking, so we can drop it
completely.

Fixes: https://pagure.io/koji/issue/2752
2021-03-24 14:43:40 +01:00
Ken Dreyer
ee16954351 better ssl_login() error message when cert is None
"certification" is hard to understand. Provide a clearer error to users.
2021-02-24 14:20:16 +01:00
Yu Ming Zhu
3c4ae6e78c fix typo for kojikamid
related: #2693
fixes: #2641
2021-02-17 00:07:11 +00: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
Tomas Kopecek
9d64bafed6 lib: better print with debug_xmlrpc
Fixes: https://pagure.io/koji/issue/2597
2021-01-06 14:38:34 +01:00
lrossett
1c787a323f flake8 fixes 2020-12-14 13:26:00 +01:00
lrossett
ff8c13969e requests exception 2020-12-14 13:26:00 +01:00
Tomas Kopecek
0f56d39487 remove deprecated --ca option
Fixes: https://pagure.io/koji/issue/2192
2020-11-23 11:03:38 +01:00
Tomas Kopecek
2012ae64ec Revert "timezones for py 2.7"
This reverts commit a9108584b7.

Fixes: https://pagure.io/koji/issue/2568
2020-11-02 13:58:04 +01:00
Tomas Kopecek
a8d676b5a5 lib: detect non-installed rpm lib
Fixed: https://pagure.io/koji/issue/2536
2020-10-12 15:07:43 +02:00
Tomas Kopecek
a9108584b7 timezones for py 2.7 2020-10-06 15:00:23 +02:00
Tomas Kopecek
ba908fd2de report versions of components
Fixes: https://pagure.io/koji/issue/2430
2020-09-30 10:43:19 +02:00
Tomas Kopecek
7855b98ca2 formatTime/Long can handle timestamp
Also replaced *_time with *_ts wherever possible.
2020-08-26 09:26:00 +02:00
Tomas Kopecek
b0efed5e37 Fix time formatting for timezone values
Fixes: https://pagure.io/koji/issue/2423
2020-08-26 09:26:00 +02:00
Christopher O'Brien
66ec44a8f6 some safety netting 2020-08-18 16:28:01 +02:00
Christopher O'Brien
22fcdc1ad2 allow getRPMHeaders to get all headers if none are explicitly requested 2020-08-18 16:28:01 +02:00
Simo Sorce
2c663f0b73 Use requests_gssapi instead of requests_kerberos
Retain ability to use the old requests_kerberos where request_gssapi is
not available yet.

Signed-off-by: Simo Sorce <simo@redhat.com>
2020-07-24 15:32:42 -04:00
Tomas Kopecek
bbe8ce9700 backward compat wrapper for krb_login 2020-07-24 15:08:47 -04:00
Tomas Kopecek
f8419e3626 remove deprecated krbV support
Fixes: https://pagure.io/koji/issue/1991
2020-07-24 15:08:47 -04:00
Tomas Kopecek
72c701225b turn off dnf_warning in mock.cfg
Related: https://pagure.io/koji/issue/2026
2020-07-21 23:57:20 -04:00