From 39000aebd865a8f0b87ecb44539dde929c4bebeb Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 3 Nov 2020 06:43:10 -0500 Subject: [PATCH] import libreport-2.9.5-15.el8 --- ...t-use-python3-to-get-consumerCertDir.patch | 7 +- ...s-in-which-sosreport-is-being-genera.patch | 41 + ...f-setuid-the-abrt-action-install-deb.patch | 101 ++ ...0030-ureport-Drop-Strata-integration.patch | 952 ++++++++++++++++++ ...-rhtsupport-Fix-command-line-parsing.patch | 34 + ...eferences-to-removed-command-line-op.patch | 44 + SPECS/libreport.spec | 37 +- 7 files changed, 1203 insertions(+), 13 deletions(-) create mode 100644 SOURCES/0028-dirsize-Skip-dirs-in-which-sosreport-is-being-genera.patch create mode 100644 SOURCES/0029-setgid-instead-of-setuid-the-abrt-action-install-deb.patch create mode 100644 SOURCES/0030-ureport-Drop-Strata-integration.patch create mode 100644 SOURCES/0031-plugins-reporter-rhtsupport-Fix-command-line-parsing.patch create mode 100644 SOURCES/0032-Drop-remaining-references-to-removed-command-line-op.patch diff --git a/SOURCES/0001-ureport-use-python3-to-get-consumerCertDir.patch b/SOURCES/0001-ureport-use-python3-to-get-consumerCertDir.patch index e6fe7a6..1bf85ec 100644 --- a/SOURCES/0001-ureport-use-python3-to-get-consumerCertDir.patch +++ b/SOURCES/0001-ureport-use-python3-to-get-consumerCertDir.patch @@ -7,14 +7,14 @@ Related to #1592073 Signed-off-by: Matej Habrnal --- - src/lib/ureport.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) + src/lib/ureport.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/ureport.c b/src/lib/ureport.c index c32c948a..d2045f0f 100644 --- a/src/lib/ureport.c +++ b/src/lib/ureport.c -@@ -81,9 +81,10 @@ rhsm_config_get_consumer_cert_dir(void) +@@ -81,9 +81,9 @@ rhsm_config_get_consumer_cert_dir(void) return xstrdup(result); result = run_in_shell_and_save_output(0, @@ -22,7 +22,6 @@ index c32c948a..d2045f0f 100644 + "python3 -c \"from rhsm.config import initConfig; print(initConfig().get('rhsm', 'consumerCertDir'))\"", NULL, NULL); -+ /* run_in_shell_and_save_output always returns non-NULL */ if (result[0] != '/') goto error; diff --git a/SOURCES/0028-dirsize-Skip-dirs-in-which-sosreport-is-being-genera.patch b/SOURCES/0028-dirsize-Skip-dirs-in-which-sosreport-is-being-genera.patch new file mode 100644 index 0000000..1b6378b --- /dev/null +++ b/SOURCES/0028-dirsize-Skip-dirs-in-which-sosreport-is-being-genera.patch @@ -0,0 +1,41 @@ +From 0b37412bc975d6e043c34dbff379029fd94a1758 Mon Sep 17 00:00:00 2001 +From: Martin Kutlak +Date: Wed, 14 Aug 2019 14:46:08 +0000 +Subject: [PATCH] dirsize: Skip dirs in which sosreport is being generated + +With these changes ABRT will skip directories in which sosreport is running +and won't delete them when MaxCrashReportSize limit is exceeded. + +I had a concern about the size of the logs that sosreport collects but +there is a limit set by sosreport for how big the individual logs can +be and the default value is 25MiB. + +Fixes: rhbz#1671232 + +Signed-off-by: Martin Kutlak + + +(cherry picked from commit eef59d2358cf63338f38727c5d08be70619e4e55) +--- + src/lib/dirsize.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/lib/dirsize.c b/src/lib/dirsize.c +index 6d96e71..7ee9752 100644 +--- a/src/lib/dirsize.c ++++ b/src/lib/dirsize.c +@@ -91,6 +91,11 @@ double get_dirsize_find_largest_dir( + if (dot_or_dotdot(ep->d_name)) + continue; + char *dname = concat_path_file(pPath, ep->d_name); ++ if (lstat(concat_path_file(dname, "sosreport.log"), &statbuf) == 0) ++ { ++ log_debug("Skipping %s': sosreport is being generated.", dname); ++ goto next; ++ } + if (lstat(dname, &statbuf) != 0) + { + goto next; +-- +2.26.0 + diff --git a/SOURCES/0029-setgid-instead-of-setuid-the-abrt-action-install-deb.patch b/SOURCES/0029-setgid-instead-of-setuid-the-abrt-action-install-deb.patch new file mode 100644 index 0000000..5459a8f --- /dev/null +++ b/SOURCES/0029-setgid-instead-of-setuid-the-abrt-action-install-deb.patch @@ -0,0 +1,101 @@ +From 0641129e214fa1cd2a67740c3193944285781819 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Miroslav=20Such=C3=BD?= +Date: Wed, 6 May 2020 19:10:48 +0200 +Subject: [PATCH] setgid instead of setuid the + abrt-action-install-debuginfo-to-abrt-cache [RHBZ 1796245] + +This is called by abrt-action-install-debuginfo-to-abrt-cache which used to be setuid and now is setgid binary. +Therefore we do not need to setuid and we neither need it. + +Resolves: +https://bugzilla.redhat.com/show_bug.cgi?id=1796245 +--- + src/client-python/reportclient/debuginfo.py | 25 +++++++++------------ + 1 file changed, 11 insertions(+), 14 deletions(-) + +diff --git a/src/client-python/reportclient/debuginfo.py b/src/client-python/reportclient/debuginfo.py +index 561de52f..560629cc 100644 +--- a/src/client-python/reportclient/debuginfo.py ++++ b/src/client-python/reportclient/debuginfo.py +@@ -35,41 +35,38 @@ from reportclient import (_, log1, log2, RETURN_OK, RETURN_FAILURE, + error_msg) + + +-def ensure_abrt_uid(fn): ++def ensure_abrt_gid(fn): + """ +- Ensures that the function is called using abrt's uid and gid ++ Ensures that the function is called using abrt's gid + + Returns: + Either an unchanged function object or a wrapper function object for + the function. + """ + +- current_uid = os.getuid() + current_gid = os.getgid() + abrt = pwd.getpwnam("abrt") + + # if we're are already running as abrt, don't do anything +- if abrt.pw_uid == current_uid and abrt.pw_gid == current_gid: ++ if abrt.pw_gid == current_gid: + return fn + + def wrapped(*args, **kwargs): + """ + Wrapper function around the called function. + +- Sets up uid and gid to match abrt's and after the function finishes +- rolls its uid and gid back. ++ Sets up gid to match abrt's and after the function finishes ++ rolls its gid back. + + Returns: + Return value of the wrapped function. + """ + +- # switch to abrt ++ # switch to abrt group + os.setegid(abrt.pw_gid) +- os.seteuid(abrt.pw_uid) + # extract the files as abrt:abrt + retval = fn(*args, **kwargs) + # switch back to whatever we were +- os.seteuid(current_uid) + os.setegid(current_gid) + return retval + +@@ -79,7 +76,7 @@ def ensure_abrt_uid(fn): + # TODO: unpack just required debuginfo and not entire rpm? + # ..that can lead to: foo.c No such file and directory + # files is not used... +-@ensure_abrt_uid ++@ensure_abrt_gid + def unpack_rpm(package_full_path, files, tmp_dir, destdir, exact_files=False): + """ + Unpacks a single rpm located in tmp_dir into destdir. +@@ -265,7 +262,7 @@ class DebugInfoDownload(object): + else: + print("ERR: unmute called without mute?") + +- @ensure_abrt_uid ++ @ensure_abrt_gid + def setup_tmp_dirs(self): + if not os.path.exists(self.tmpdir): + try: +@@ -406,9 +403,9 @@ class DebugInfoDownload(object): + + s = os.stat(self.cachedir) + abrt = pwd.getpwnam("abrt") +- if (s.st_uid != abrt.pw_uid) or (s.st_gid != abrt.pw_gid): +- print(_("'{0}' must be owned by abrt. " +- "Please run '# chown -R abrt.abrt {0}' " ++ if s.st_gid != abrt.pw_gid: ++ print(_("'{0}' must be owned by group abrt. " ++ "Please run '# chown -R :abrt {0}' " + "to fix the issue.").format(self.cachedir)) + + clean_up(self.tmpdir) +-- +2.21.3 + diff --git a/SOURCES/0030-ureport-Drop-Strata-integration.patch b/SOURCES/0030-ureport-Drop-Strata-integration.patch new file mode 100644 index 0000000..5a03fd3 --- /dev/null +++ b/SOURCES/0030-ureport-Drop-Strata-integration.patch @@ -0,0 +1,952 @@ +From 646101d558765b59bae94aa27bfbefed3a085ab5 Mon Sep 17 00:00:00 2001 +From: Ernestas Kulik +Date: Tue, 2 Jun 2020 10:57:36 +0200 +Subject: [PATCH] ureport: Drop Strata integration + +Strata is being sunset with no replacement for our used API endpoints in +sight. This commit drops the integration code, because no one pretty +much wants it, either. +--- + configure.ac | 11 -- + doc/reporter-rhtsupport.txt | 17 -- + doc/reporter-ureport.txt | 8 - + src/include/ureport.h | 4 +- + src/lib/ureport.c | 138 +-------------- + src/plugins/Makefile.am | 6 - + src/plugins/cert-api.access.redhat.com.pem | 74 -------- + src/plugins/report_RHTSupport.xml.in | 5 - + src/plugins/reporter-rhtsupport.c | 186 +-------------------- + src/plugins/ureport.conf | 4 - + tests/ureport.at | 174 ------------------- + tests/ureport/rhsm/__init__.py | 0 + tests/ureport/rhsm/config.py | 8 - + 13 files changed, 7 insertions(+), 628 deletions(-) + delete mode 100644 src/plugins/cert-api.access.redhat.com.pem + delete mode 100644 tests/ureport/rhsm/__init__.py + delete mode 100644 tests/ureport/rhsm/config.py + +diff --git a/configure.ac b/configure.ac +index ce45389..ef35f84 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -172,17 +172,6 @@ do + done + fi dnl end NO_MANTISBT + +-dnl enable import of certificate for rhtsupport plugin +-AC_ARG_ENABLE([import-rhtsupport-cert], +-AS_HELP_STRING([--enable-import-rhtsupport-cert], +- [import certificate needed for rhtsupport plugin (default is NO)]), +-[], [enable_import_rhtsupport_cert="no"]) +- +-AS_IF([test "x$enable_import_rhtsupport_cert" != "xno"], +-AM_CONDITIONAL(ENABLE_IMPORT_RHTSUPPORT_CERT, true), +-AM_CONDITIONAL(ENABLE_IMPORT_RHTSUPPORT_CERT, false)) +- +- + AC_ARG_WITH(python2, + AS_HELP_STRING([--with-python2],[use python2 (default is YES)]), + LIBREPORT_PARSE_WITH([python2])) +diff --git a/doc/reporter-rhtsupport.txt b/doc/reporter-rhtsupport.txt +index e52a152..132c0ea 100644 +--- a/doc/reporter-rhtsupport.txt ++++ b/doc/reporter-rhtsupport.txt +@@ -18,9 +18,6 @@ DESCRIPTION + The tool reads problem directory DIR. Then it logs in to RHTSupport + and creates a new case. + +-The tool can be configured to submit an uReport to RHTSupport together with +-creating a new case. +- + The URL to new case is printed to stdout and recorded in 'reported_to' + element in DIR. + +@@ -36,10 +33,6 @@ to enter case ID to which you want to upload the FILEs. + Option -tCASE uploads FILEs to the case CASE on RHTSupport site. + -d DIR is ignored. + +-Option -u uploads uReport along with creating a new case. uReport configuration +-is loaded from UR_CONFFILE which defaults to +-/etc/libreport/plugins/ureport.conf. +- + Configuration file + ~~~~~~~~~~~~~~~~~~ + Configuration file lines should have 'PARAM = VALUE' format. The parameters are: +@@ -56,10 +49,6 @@ Configuration file lines should have 'PARAM = VALUE' format. The parameters are: + 'SSLVerify':: + Use yes/true/on/1 to verify server's SSL certificate. (default: yes) + +-'SubmitUReport':: +- Use yes/true/on/1 to enable submitting uReport together wit creating a new +- case. (default: no) +- + Parameters can be overridden via $RHTSupport_PARAM environment variables. + + Integration with ABRT events +@@ -84,12 +73,6 @@ OPTIONS + -t[ID]:: + Upload FILEs to the already created case on RHTSupport site. + +--u:: +- Submit uReport together with creating a new case. +- +--C UR_CONFFILE:: +- Configuration file for submitting uReports. +- + -F CONF_FORMAT_FILE:: + Formatting file for a new case. + +diff --git a/doc/reporter-ureport.txt b/doc/reporter-ureport.txt +index 7deb911..fc06541 100644 +--- a/doc/reporter-ureport.txt ++++ b/doc/reporter-ureport.txt +@@ -34,10 +34,6 @@ Configuration file lines should have 'PARAM = VALUE' format. The parameters are: + + Possible values are: + +- 'rhsm';; +- Uses the system V3 entitlement certificate that is used for Red Hat +- subscription management. +- + 'puppet';; + Uses the certificate that is used by the Puppet configuration management tool. + +@@ -51,10 +47,6 @@ Configuration file lines should have 'PARAM = VALUE' format. The parameters are: + + Possible values are:: + +- 'rhts-credentials';; +- Uses Login= and Password= values from /etc/libreport/plugins/rhtsupport.conf and +- user's local ~/.config/libreport/rhtsupport.conf. +- + ':';; + Manually supply credentials. + +diff --git a/src/include/ureport.h b/src/include/ureport.h +index 63d9bf2..2e6de49 100644 +--- a/src/include/ureport.h ++++ b/src/include/ureport.h +@@ -115,8 +115,7 @@ ureport_server_config_set_url(struct ureport_server_config *config, + * Configure client certificate paths + * + * @param config Where the paths are stored +- * @param client_path Path in form of cert_full_path:key_full_path or one of +- * the following string: 'rhsm', 'puppet'. ++ * @param client_path Path in form of cert_full_path:key_full_path or 'puppet'. + */ + #define ureport_server_config_set_client_auth libreport_ureport_server_config_set_client_auth + void +@@ -139,7 +138,6 @@ ureport_server_config_set_basic_auth(struct ureport_server_config *config, + * Configure user name and password for HTTP Basic authentication according to + * user preferences. + * +- * "rhts-credentials" - Uses Login= and Password= from rhtsupport.conf + * ":" - Manually supply user name and password. + * "" - Manually supply user name and be asked for password. + * +diff --git a/src/lib/ureport.c b/src/lib/ureport.c +index ced4810..5d0a820 100644 +--- a/src/lib/ureport.c ++++ b/src/lib/ureport.c +@@ -30,19 +30,6 @@ + + #define BTHASH_URL_SFX "reports/bthash/" + +-#define RHSM_WEB_SERVICE_URL "https://cert-api.access.redhat.com/rs/telemetry/abrt" +- +-#define RHSMCON_PEM_DIR_PATH "/etc/pki/consumer" +-#define RHSMCON_CERT_NAME "cert.pem" +-#define RHSMCON_KEY_NAME "key.pem" +- +-/* Using the same template as for RHSM certificate, macro for cert dir path and +- * macro for cert name. Cert path can be easily modified for example by reading +- * an environment variable LIBREPORT_DEBUG_AUTHORITY_CERT_DIR_PATH +- */ +-#define CERT_AUTHORITY_CERT_PATH "/etc/libreport" +-#define CERT_AUTHORITY_CERT_NAME "cert-api.access.redhat.com.pem" +- + static char * + puppet_config_print(const char *key) + { +@@ -73,55 +60,6 @@ ureport_server_config_set_url(struct ureport_server_config *config, + config->ur_url = server_url; + } + +-static char * +-rhsm_config_get_consumer_cert_dir(void) +-{ +- char *result = getenv("LIBREPORT_DEBUG_RHSMCON_PEM_DIR_PATH"); +- if (result != NULL) +- return xstrdup(result); +- +- result = run_in_shell_and_save_output(0, +- "python3 -c \"from rhsm.config import initConfig; print(initConfig().get('rhsm', 'consumerCertDir'))\"", +- NULL, NULL); +- +- /* run_in_shell_and_save_output always returns non-NULL */ +- if (result[0] != '/') +- goto error; +- +- char *newline = strchrnul(result, '\n'); +- if (!newline) +- goto error; +- +- *newline = '\0'; +- return result; +-error: +- free(result); +- error_msg("Failed to get 'rhsm':'consumerCertDir' from rhsm.config python module. Using "RHSMCON_PEM_DIR_PATH); +- return xstrdup(RHSMCON_PEM_DIR_PATH); +-} +- +-static bool +-certificate_exist(char *cert_name) +-{ +- if (access(cert_name, F_OK) != 0) +- { +- log_notice("RHSM consumer certificate '%s' does not exist.", cert_name); +- return false; +- } +- return true; +-} +- +-static bool +-cert_authority_cert_exist(char *cert_name) +-{ +- if (access(cert_name, F_OK) != 0) +- { +- log_notice("Certs validating the server '%s' does not exist.", cert_name); +- return false; +- } +- return true; +-} +- + void + ureport_server_config_set_client_auth(struct ureport_server_config *config, + const char *client_auth) +@@ -139,52 +77,6 @@ ureport_server_config_set_client_auth(struct ureport_server_config *config, + + log_notice("Not using client authentication"); + } +- else if (strcmp(client_auth, "rhsm") == 0) +- { +- if (config->ur_url == NULL) +- ureport_server_config_set_url(config, xstrdup(RHSM_WEB_SERVICE_URL)); +- +- /* always returns non-NULL */ +- char *rhsm_dir = rhsm_config_get_consumer_cert_dir(); +- +- char *cert_full_name = concat_path_file(rhsm_dir, RHSMCON_CERT_NAME); +- char *key_full_name = concat_path_file(rhsm_dir, RHSMCON_KEY_NAME); +- +- /* get authority certificate dir path from environment variable, if it +- * is not set, use CERT_AUTHORITY_CERT_PATH +- */ +- const char *authority_cert_dir_path = getenv("LIBREPORT_DEBUG_AUTHORITY_CERT_DIR_PATH"); +- if (authority_cert_dir_path == NULL) +- authority_cert_dir_path = CERT_AUTHORITY_CERT_PATH; +- +- char *cert_authority_cert_full_name = concat_path_file(authority_cert_dir_path, +- CERT_AUTHORITY_CERT_NAME); +- +- if (certificate_exist(cert_full_name) && certificate_exist(key_full_name)) +- { +- config->ur_client_cert = cert_full_name; +- config->ur_client_key = key_full_name; +- log_debug("Using cert files: '%s' : '%s'", config->ur_client_cert, config->ur_client_key); +- } +- else +- { +- free(cert_full_name); +- free(key_full_name); +- log_notice("Using the default configuration for uReports."); +- } +- +- if (cert_authority_cert_exist(cert_authority_cert_full_name)) +- { +- config->ur_cert_authority_cert = cert_authority_cert_full_name; +- log_debug("Using validating server cert: '%s'", config->ur_cert_authority_cert); +- } +- else +- { +- free(cert_authority_cert_full_name); +- } +- +- free(rhsm_dir); +- } + else if (strcmp(client_auth, "puppet") == 0) + { + config->ur_client_cert = puppet_config_print("hostcert"); +@@ -241,32 +133,12 @@ ureport_server_config_load_basic_auth(struct ureport_server_config *config, + const char *username = NULL; + const char *password = NULL; + +- if (strcmp(http_auth_pref, "rhts-credentials") == 0) +- { +- settings = new_map_string(); +- +- char *local_conf = xasprintf("%s"USER_HOME_CONFIG_PATH"/rhtsupport.conf", getenv("HOME")); +- +- if (!load_plugin_conf_file("rhtsupport.conf", settings, /*skip key w/o values:*/ false) && +- !load_conf_file(local_conf, settings, /*skip key w/o values:*/ false)) +- error_msg_and_die("Could not get RHTSupport credentials"); +- free(local_conf); +- +- username = get_map_string_item_or_NULL(settings, "Login"); +- password = get_map_string_item_or_NULL(settings, "Password"); +- +- if (config->ur_url == NULL) +- ureport_server_config_set_url(config, xstrdup(RHSM_WEB_SERVICE_URL)); +- } +- else +- { +- username = tmp_username = xstrdup(http_auth_pref); +- password = strchr(tmp_username, ':'); ++ username = tmp_username = xstrdup(http_auth_pref); ++ password = strchr(tmp_username, ':'); + +- if (password != NULL) +- /* It is "char *", see strchr() few lines above. */ +- *((char *)(password++)) = '\0'; +- } ++ if (password != NULL) ++ /* It is "char *", see strchr() few lines above. */ ++ *((char *)(password++)) = '\0'; + + if (password == NULL) + { +diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am +index b228602..f73e7dc 100644 +--- a/src/plugins/Makefile.am ++++ b/src/plugins/Makefile.am +@@ -28,12 +28,6 @@ pluginsconfdir = $(PLUGINS_CONF_DIR) + + reportpluginsconfdir = $(REPORT_PLUGINS_CONF_DIR) + +-if ENABLE_IMPORT_RHTSUPPORT_CERT +-libreportconfdir = $(CONF_DIR) +-dist_libreportconf_DATA = \ +- cert-api.access.redhat.com.pem +-endif +- + reporters_plugin_conf = + reporters_plugin_format_conf = + if BUILD_BUGZILLA +diff --git a/src/plugins/cert-api.access.redhat.com.pem b/src/plugins/cert-api.access.redhat.com.pem +deleted file mode 100644 +index 20ef8c0..0000000 +--- a/src/plugins/cert-api.access.redhat.com.pem ++++ /dev/null +@@ -1,74 +0,0 @@ +------BEGIN CERTIFICATE----- +-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 +-Kg6Ay0rrsi4nw1JHue2GvdjdfVOaWSWC +------END CERTIFICATE----- +------BEGIN CERTIFICATE----- +-MIIFfTCCA2WgAwIBAgIJAJGKz8qFAAADMA0GCSqGSIb3DQEBBQUAMIGwMQswCQYD +-VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExEDAOBgNVBAcMB1JhbGVp +-Z2gxFjAUBgNVBAoMDVJlZCBIYXQsIEluYy4xGDAWBgNVBAsMD1JlZCBIYXQgTmV0 +-d29yazEeMBwGA1UEAwwVRW50aXRsZW1lbnQgTWFzdGVyIENBMSQwIgYJKoZIhvcN +-AQkBFhVjYS1zdXBwb3J0QHJlZGhhdC5jb20wHhcNMTUwNTA1MTMwMzQ4WhcNMjUw +-NTAyMTMwMzQ4WjCBiTELMAkGA1UEBhMCVVMxFzAVBgNVBAgTDk5PUlRIIENBUk9M +-SU5BMRAwDgYDVQQHEwdSYWxlaWdoMRAwDgYDVQQKEwdSZWQgSGF0MRgwFgYDVQQL +-Ew9SZWQgSGF0IE5ldHdvcmsxIzAhBgNVBAMTGmNlcnQtYXBpLmFjY2Vzcy5yZWRo +-YXQuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA9hTNMtZMa7Kg +-Jlux6pnuUinP0Rv0aiiPFr7qNHFore4loGrPlpzUvQbUByy3xm7lhf4R4qbINCls +-veWg6HDidvQr174RXb5YLMXuBrYAiPWQTrRRLNuvXFHKzREghRWTv48IXTIDEo0G +-fZJUO+myY2RfwqugZKic5dR6ZakHSSpQO70O6H5R0eHlKa13k4eEpG2fVY/xqFto +-WkfZyEmSacZpqxp7gIjZqreLc4MFwpiVjGFrK3Jk+Px1Z6J94LTLx2SxrYzWIeUs +-5j+lceQOvpV4/pkClnRCW1pkCKTccjFKQkpNPGwdIusRXUGl9IYc20Fa/7g9iUQc +-5fXu9EAzfwIDAQABo4G+MIG7MAkGA1UdEwQCMAAwEQYJYIZIAYb4QgEBBAQDAgZA +-MAsGA1UdDwQEAwIF4DATBgNVHSUEDDAKBggrBgEFBQcDATA5BglghkgBhvhCAQ0E +-LBYqTWFuYWdlZCBieSBSZWQgSGF0IChjYS1zdXBwb3J0QHJlZGhhdC5jb20pMB0G +-A1UdDgQWBBRfgCjd8aXf0U4VX8DKTVIn+paGBzAfBgNVHSMEGDAWgBSIS6ZFxEbs +-j9bPpvYazyY8kMx/FzANBgkqhkiG9w0BAQUFAAOCAgEAlC+r6UEEp5BUkI0Rj2T+ +-1PH7oUCaGQeQoyVbGddz/WUcBk/lMMtyCEoxU+3tTwNWmCWWjYXtjoL9MlSAC/q+ +-NZfBi1iq0uuSus9JI/Uu8aRhoxTK56qGRed/JNixOHEmFn891cahIPpF0exWwtYD +-ThwXo7Z6PI7t8EMKdSrGTOowp58yho8xYFL/Z7JmjL55Pf85GIrdiniNZd4i178J +-07R9zsiLvdXq9mT33iJwkm+uhO+FA9d8OE3ji21pBbGUAQSWOdkemvUCsy8zANW9 +-fT+dBrMr5Buk7eaBBJ2PxECNiWLCRQJWmyff1O5zMT0daS2lBdEGUNhBZ0hnX13Q +-kabUp0bxRrNRq+WkomP7onZhfZS6SjKm0UmwoV6o3V1ED6y7muQNRmgDpA5PcbvO +-gl7OexNL4zcpyfMdAmTYf5yTRSvB42Yg5hVfuzPEnOIqupwES3mWkEHRlqbMUkHw +-qIQAxIwQqZd5PdPpElQ/6j/ZT9DwW/I6zgndX2rsS0oGYcwFTkSj0/rKKkC13hk7 +-LchXMZu5ckdustM79U6OZIBairrJaL2OpR08un2nwIjgEGqhVFYc44UK1VpkE8mr +-qvqJS6OHVlTlKcEDnhVkPS3i5qjuS/PtSq0CwH8bzYKFJayLDY/z36Zv6PdttzmU +-Yb1NSDcJejHJ80pMINutyYQ= +------END CERTIFICATE----- +diff --git a/src/plugins/report_RHTSupport.xml.in b/src/plugins/report_RHTSupport.xml.in +index 357a94d..c64cb55 100644 +--- a/src/plugins/report_RHTSupport.xml.in ++++ b/src/plugins/report_RHTSupport.xml.in +@@ -26,11 +26,6 @@ + no + + +- +