From e0b3196cfb2e02b34a7f73e5136366bcde06da99 Mon Sep 17 00:00:00 2001 From: raven Date: Wed, 27 Jan 2010 19:35:20 +0000 Subject: Sending translation for Polish --- po/pl.po | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/po/pl.po b/po/pl.po index 54dc02c..0d7483a 100644 --- a/po/pl.po +++ b/po/pl.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: pl\n" "Report-Msgid-Bugs-To: jmoskovc@redhat.com\n" -"POT-Creation-Date: 2010-01-27 13:02+0000\n" -"PO-Revision-Date: 2010-01-27 14:12+0100\n" +"POT-Creation-Date: 2010-01-27 19:29+0000\n" +"PO-Revision-Date: 2010-01-27 20:34+0100\n" "Last-Translator: Piotr Drąg \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" @@ -44,15 +44,15 @@ msgstr "Wtyczki zgłaszania" msgid "Database plugins" msgstr "Wtyczki baz danych" -#: ../src/Gui/CCDBusBackend.py:74 ../src/Gui/CCDBusBackend.py:97 +#: ../src/Gui/CCDBusBackend.py:75 ../src/Gui/CCDBusBackend.py:98 msgid "Can't connect to system dbus" msgstr "Nie można połączyć się z systemową magistralą D-Bus" -#: ../src/Gui/CCDBusBackend.py:104 ../src/Gui/CCDBusBackend.py:107 +#: ../src/Gui/CCDBusBackend.py:121 ../src/Gui/CCDBusBackend.py:124 msgid "Please check if abrt daemon is running" msgstr "Proszę sprawdzić, czy demon abrt jest uruchomiony" -#: ../src/Gui/CCDBusBackend.py:159 +#: ../src/Gui/CCDBusBackend.py:176 msgid "" "Daemon didn't return valid report info\n" "Debuginfo is missing?" @@ -271,7 +271,7 @@ msgstr "" "Nie można zapisać ustawień wtyczki:\n" " %s" -#: ../src/Gui/dialogs.glade.h:1 ../src/Gui/report.glade.h:17 +#: ../src/Gui/dialogs.glade.h:1 msgid "Log" msgstr "Dziennik" @@ -361,13 +361,17 @@ msgid "I agree to submit this backtrace, which could contain sensitive data" msgstr "" "Wyrażam zgodę na wysłanie tego wyjątku, który może zawierać prywatne dane" -#: ../src/Gui/report.glade.h:18 +#: ../src/Gui/report.glade.h:17 msgid "N/A" msgstr "Nie dotyczy" +#: ../src/Gui/report.glade.h:18 +msgid "Send report" +msgstr "Wyślij raport" + #: ../src/Gui/report.glade.h:19 -msgid "Send" -msgstr "Wyślij" +msgid "Show log" +msgstr "Wyświetl dziennik" #: ../src/Gui/SettingsDialog.py:33 ../src/Gui/SettingsDialog.py:50 msgid "Select plugin" -- cgit From d72a86106c038fb2b8eba22b64bf3e261c9bd6a0 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Thu, 28 Jan 2010 13:17:07 +0100 Subject: SOSreport: run it niced Signed-off-by: Denys Vlasenko --- lib/Plugins/SOSreport.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/Plugins/SOSreport.cpp b/lib/Plugins/SOSreport.cpp index 90611b5..500f858 100644 --- a/lib/Plugins/SOSreport.cpp +++ b/lib/Plugins/SOSreport.cpp @@ -79,12 +79,13 @@ void CActionSOSreport::Run(const char *pActionDir, const char *pArgs, int force) } } - static const char command_default[] = "sosreport --batch --no-progressbar --only=anaconda --only=bootloader" + static const char command_default[] = "nice sosreport --batch --no-progressbar" + " --only=anaconda --only=bootloader" " --only=devicemapper --only=filesys --only=hardware --only=kernel" " --only=libraries --only=memory --only=networking --only=nfsserver" " --only=pam --only=process --only=rpm -k rpm.rpmva=off --only=ssh" " --only=startup --only=yum 2>&1"; - static const char command_prefix[] = "sosreport --batch --no-progressbar"; + static const char command_prefix[] = "nice sosreport --batch --no-progressbar"; string command; vector_string_t args; -- cgit From c3bf1893e3ac66149e5c400dadae62478e57fb18 Mon Sep 17 00:00:00 2001 From: Jiri Moskovcak Date: Thu, 28 Jan 2010 14:40:24 +0100 Subject: reenabled gpg check - we still just check only the signature of the package, which doesn't tell us if the files on the disk weren't changed, but will at least filter not official packages --- src/Daemon/MiddleWare.cpp | 7 +++++++ src/Daemon/abrt.conf | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Daemon/MiddleWare.cpp b/src/Daemon/MiddleWare.cpp index 01c3850..ba7e0a0 100644 --- a/src/Daemon/MiddleWare.cpp +++ b/src/Daemon/MiddleWare.cpp @@ -655,6 +655,12 @@ static mw_result_t SavePackageDescriptionToDebugDump( log("Package '%s' isn't signed with proper key", packageName.c_str()); return MW_GPG_ERROR; } + /* + Checking the MD5 sum requires to run prelink to "un-prelink" the + binaries - this is considered potential security risk so we don't + use it, until we find some non-intrusive way + */ + /* if (!CheckHash(packageName.c_str(), pExecutable)) { error_msg("Executable '%s' seems to be modified, " @@ -662,6 +668,7 @@ static mw_result_t SavePackageDescriptionToDebugDump( pExecutable, packageName.c_str()); return MW_GPG_ERROR; } + */ } } diff --git a/src/Daemon/abrt.conf b/src/Daemon/abrt.conf index bffc48d..1dd994a 100644 --- a/src/Daemon/abrt.conf +++ b/src/Daemon/abrt.conf @@ -4,7 +4,7 @@ # Checking signatures may require prelink to be run. # This has a remote possibility of breaking binaries and libraries, # and also SELinux gets unhappy about prelink trying to modify them. -OpenGPGCheck = no +OpenGPGCheck = yes # GPG keys OpenGPGPublicKeys = /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora # Blacklisted packages -- cgit From 3ede050314fb29e18ab9b1d87ad20e304120b59c Mon Sep 17 00:00:00 2001 From: Jiri Moskovcak Date: Thu, 28 Jan 2010 14:45:20 +0100 Subject: Save the core where it belongs if ulimit -c is > 0 --- lib/Plugins/CCpp.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Plugins/CCpp.conf b/lib/Plugins/CCpp.conf index 153efb9..30e1550 100644 --- a/lib/Plugins/CCpp.conf +++ b/lib/Plugins/CCpp.conf @@ -3,7 +3,7 @@ Enabled = yes # If you also want to dump file named "core" # in crashed process' current dir, set to "yes" -MakeCompatCore = no +MakeCompatCore = yes # Generate backtrace Backtrace = yes -- cgit From ef0f59ef4bcfe0776f24def077cef74ccdc16293 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Thu, 28 Jan 2010 15:03:31 +0100 Subject: SOSreport: do not leave stray files in /tmp Signed-off-by: Denys Vlasenko --- lib/Plugins/SOSreport.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/Plugins/SOSreport.cpp b/lib/Plugins/SOSreport.cpp index 500f858..bc71e23 100644 --- a/lib/Plugins/SOSreport.cpp +++ b/lib/Plugins/SOSreport.cpp @@ -109,14 +109,19 @@ void CActionSOSreport::Run(const char *pActionDir, const char *pArgs, int force) update_client(_("Done running sosreport")); VERB3 log("sosreport output:'%s'", output.c_str()); + // Parse: + // "Your sosreport has been generated and saved in: + // /tmp/sosreport-XXXX.tar.bz2" string sosreport_filename = ParseFilename(output); string sosreport_dd_filename = concat_path_file(pActionDir, "sosreport.tar.bz2"); CDebugDump dd; dd.Open(pActionDir); - //Not useful - //dd.SaveText("sosreportoutput", output); - if (copy_file(sosreport_filename.c_str(), sosreport_dd_filename.c_str(), 0644) < 0) + //Not useful: dd.SaveText("sosreportoutput", output); + off_t sz = copy_file(sosreport_filename.c_str(), sosreport_dd_filename.c_str(), 0644); + unlink(sosreport_filename.c_str()); // don't want to leave sosreport-XXXX.tar.bz2 in /tmp + unlink((sosreport_filename + ".md5").c_str()); // sosreport-XXXX.tar.bz2.md5 too + if (sz < 0) { dd.Close(); throw CABRTException(EXCEP_PLUGIN, -- cgit From 099f3cac8c2bf532a796468fb2950c4551c85960 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Thu, 28 Jan 2010 15:28:35 +0100 Subject: Bugzilla,Catcut: fix or remove incomprehensible comments; fix error msg Signed-off-by: Denys Vlasenko --- lib/Plugins/Bugzilla.cpp | 69 ++++++++++++++--------------------------------- lib/Plugins/Catcut.cpp | 44 +++++++++++------------------- lib/Utils/abrt_xmlrpc.cpp | 9 +------ lib/Utils/abrt_xmlrpc.h | 1 + 4 files changed, 37 insertions(+), 86 deletions(-) diff --git a/lib/Plugins/Bugzilla.cpp b/lib/Plugins/Bugzilla.cpp index 0197a7b..fa6b35e 100644 --- a/lib/Plugins/Bugzilla.cpp +++ b/lib/Plugins/Bugzilla.cpp @@ -44,8 +44,7 @@ void ctx::login(const char* login, const char* passwd) xmlrpc_env_init(&env); xmlrpc_value* param = xmlrpc_build_value(&env, "({s:s,s:s})", "login", login, "password", passwd); - if (env.fault_occurred) - throw_xml_fault(&env); + throw_if_xml_fault_occurred(&env); xmlrpc_value* result = NULL; xmlrpc_client_call2(&env, m_pClient, m_pServer_info, "User.login", param, &result); @@ -68,16 +67,13 @@ void ctx::logout() xmlrpc_env_init(&env); xmlrpc_value* param = xmlrpc_build_value(&env, "(s)", ""); - if (env.fault_occurred) - throw_xml_fault(&env); + throw_if_xml_fault_occurred(&env); xmlrpc_value* result = NULL; xmlrpc_client_call2(&env, m_pClient, m_pServer_info, "User.logout", param, &result); xmlrpc_DECREF(param); - if (result) - xmlrpc_DECREF(result); - if (env.fault_occurred) - throw_xml_fault(&env); + xmlrpc_DECREF(result); + throw_if_xml_fault_occurred(&env); } bool ctx::check_cc_and_reporter(uint32_t bug_id, const char* login) @@ -85,17 +81,13 @@ bool ctx::check_cc_and_reporter(uint32_t bug_id, const char* login) xmlrpc_env env; xmlrpc_env_init(&env); - // fails only when you write query. when it's done it never fails. xmlrpc_value* param = xmlrpc_build_value(&env, "(s)", to_string(bug_id).c_str()); - if (env.fault_occurred) - throw_xml_fault(&env); + throw_if_xml_fault_occurred(&env); // failed to allocate memory xmlrpc_value* result = NULL; xmlrpc_client_call2(&env, m_pClient, m_pServer_info, "bugzilla.getBug", param, &result); - // we don't need anymore xml structure for calling xmlrpc query(calls only once) xmlrpc_DECREF(param); - if (env.fault_occurred) - throw_xml_fault(&env); + throw_if_xml_fault_occurred(&env); xmlrpc_value* reporter_member = NULL; xmlrpc_struct_find_value(&env, result, "reporter", &reporter_member); @@ -129,7 +121,7 @@ bool ctx::check_cc_and_reporter(uint32_t bug_id, const char* login) { VERB3 log("Missing member 'reporter'"); xmlrpc_DECREF(result); - throw CABRTException(EXCEP_PLUGIN, _("Missing member 'bugs'")); + throw CABRTException(EXCEP_PLUGIN, _("Missing member 'reporter'")); } xmlrpc_value* cc_member = NULL; @@ -179,7 +171,7 @@ bool ctx::check_cc_and_reporter(uint32_t bug_id, const char* login) } else { - VERB3 log("Missing member 'bugs'"); + VERB3 log("Missing member 'cc'"); xmlrpc_DECREF(result); throw CABRTException(EXCEP_PLUGIN, _("Missing member 'cc'")); } @@ -193,19 +185,14 @@ void ctx::add_plus_one_cc(uint32_t bug_id, const char* login) xmlrpc_env env; xmlrpc_env_init(&env); - // fails only when you write query. when it's done it never fails. xmlrpc_value* param = xmlrpc_build_value(&env, "({s:i,s:{s:(s)}})", "ids", bug_id, "updates", "add_cc", login); - if (env.fault_occurred) - throw_xml_fault(&env); + throw_if_xml_fault_occurred(&env); // failed to allocate memory xmlrpc_value* result = NULL; xmlrpc_client_call2(&env, m_pClient, m_pServer_info, "Bug.update", param, &result); - // we don't need anymore xml structure for calling xmlrpc query(calls only once) xmlrpc_DECREF(param); - if (env.fault_occurred) - throw_xml_fault(&env); - xmlrpc_DECREF(result); + throw_if_xml_fault_occurred(&env); } int32_t ctx::check_uuid_in_bugzilla(const char* component, const char* UUID) @@ -215,17 +202,13 @@ int32_t ctx::check_uuid_in_bugzilla(const char* component, const char* UUID) std::string query = ssprintf("ALL component:\"%s\" statuswhiteboard:\"%s\"", component, UUID); - // fails only when you write query. when it's done it never fails. xmlrpc_value* param = xmlrpc_build_value(&env, "({s:s})", "quicksearch", query.c_str()); - if (env.fault_occurred) - throw_xml_fault(&env); + throw_if_xml_fault_occurred(&env); // failed to allocate memory xmlrpc_value* result = NULL; xmlrpc_client_call2(&env, m_pClient, m_pServer_info, "Bug.search", param, &result); - // we don't need anymore xml structure for calling xmlrpc query(calls only once) xmlrpc_DECREF(param); - if (env.fault_occurred) - throw_xml_fault(&env); + throw_if_xml_fault_occurred(&env); // on error result is NULL, no need to DECREF xmlrpc_value* bugs_member = NULL; xmlrpc_struct_find_value(&env, result, "bugs", &bugs_member); @@ -237,7 +220,7 @@ int32_t ctx::check_uuid_in_bugzilla(const char* component, const char* UUID) if (bugs_member) { - // when array size is equal 0 that means no bug reported + // when array size is 0 that means no bug reported uint32_t array_size = xmlrpc_array_size(&env, bugs_member); if (env.fault_occurred) { @@ -325,7 +308,6 @@ uint32_t ctx::new_bug(const map_crash_data_t& pCrashData) std::string version; parse_release(release.c_str(), product, version); - // fails only when you write query. when it's done it never fails. xmlrpc_value* param = xmlrpc_build_value(&env, "({s:s,s:s,s:s,s:s,s:s,s:s,s:s})", "product", product.c_str(), "component", component.c_str(), @@ -335,17 +317,14 @@ uint32_t ctx::new_bug(const map_crash_data_t& pCrashData) "status_whiteboard", status_whiteboard.c_str(), "platform", arch.c_str() ); - if (env.fault_occurred) - throw_xml_fault(&env); + throw_if_xml_fault_occurred(&env); // failed to allocate memory - xmlrpc_value* result; + xmlrpc_value* result = NULL; xmlrpc_client_call2(&env, m_pClient, m_pServer_info, "Bug.create", param, &result); - // we don't need anymore xml structure for calling xmlrpc query(calls only once) xmlrpc_DECREF(param); - if (env.fault_occurred) - throw_xml_fault(&env); + throw_if_xml_fault_occurred(&env); - xmlrpc_value* id; + xmlrpc_value* id = NULL; xmlrpc_struct_find_value(&env, result, "id", &id); if (env.fault_occurred) { @@ -377,8 +356,6 @@ void ctx::add_attachments(const char* bug_id_str, const map_crash_data_t& pCrash xmlrpc_env env; xmlrpc_env_init(&env); - xmlrpc_value* result = NULL; - map_crash_data_t::const_iterator it = pCrashData.begin(); for (; it != pCrashData.end(); it++) { @@ -390,7 +367,6 @@ void ctx::add_attachments(const char* bug_id_str, const map_crash_data_t& pCrash && (content.length() > CD_TEXT_ATT_SIZE || itemname == FILENAME_BACKTRACE) ) { char *encoded64 = encode_base64(content.c_str(), content.length()); - // fails only when you write query. when it's done it never fails. xmlrpc_value* param = xmlrpc_build_value(&env, "(s{s:s,s:s,s:s,s:s})", bug_id_str, "description", ("File: " + itemname).c_str(), @@ -399,18 +375,13 @@ void ctx::add_attachments(const char* bug_id_str, const map_crash_data_t& pCrash "data", encoded64 ); free(encoded64); - if (env.fault_occurred) - throw_xml_fault(&env); + throw_if_xml_fault_occurred(&env); // failed to allocate memory + xmlrpc_value* result = NULL; xmlrpc_client_call2(&env, m_pClient, m_pServer_info, "bugzilla.addAttachment", param, &result); - // we don't need anymore xml structure for calling xmlrpc query(calls only once) xmlrpc_DECREF(param); - if (env.fault_occurred) - { - xmlrpc_DECREF(result); - throw_xml_fault(&env); - } xmlrpc_DECREF(result); + throw_if_xml_fault_occurred(&env); } } } diff --git a/lib/Plugins/Catcut.cpp b/lib/Plugins/Catcut.cpp index 3580a3b..badca4b 100644 --- a/lib/Plugins/Catcut.cpp +++ b/lib/Plugins/Catcut.cpp @@ -167,14 +167,12 @@ struct_find_int(xmlrpc_env* env, xmlrpc_value* result, { xmlrpc_value* an_xmlrpc_value; xmlrpc_struct_find_value(env, result, fieldName, &an_xmlrpc_value); - if (env->fault_occurred) - throw_xml_fault(env); + throw_if_xml_fault_occurred(env); if (an_xmlrpc_value) { xmlrpc_read_int(env, an_xmlrpc_value, &value); - if (env->fault_occurred) - throw_xml_fault(env); + throw_if_xml_fault_occurred(env); xmlrpc_DECREF(an_xmlrpc_value); return true; } @@ -187,14 +185,12 @@ struct_find_string(xmlrpc_env* env, xmlrpc_value* result, { xmlrpc_value* an_xmlrpc_value; xmlrpc_struct_find_value(env, result, fieldName, &an_xmlrpc_value); - if (env->fault_occurred) - throw_xml_fault(env); + throw_if_xml_fault_occurred(env); if (an_xmlrpc_value) { const char* value_s; xmlrpc_read_string(env, an_xmlrpc_value, &value_s); - if (env->fault_occurred) - throw_xml_fault(env); + throw_if_xml_fault_occurred(env); value = value_s; xmlrpc_DECREF(an_xmlrpc_value); free((void*)value_s); @@ -233,24 +229,20 @@ ctx::login(const char* login, const char* passwd) xmlrpc_env_init(&env); xmlrpc_value* param = xmlrpc_build_value(&env, "(ss)", login, passwd); - if (env.fault_occurred) - throw_xml_fault(&env); + throw_if_xml_fault_occurred(&env); - xmlrpc_value* result; + xmlrpc_value* result = NULL; xmlrpc_client_call2(&env, m_pClient, m_pServer_info, "Catcut.auth", param, &result); xmlrpc_DECREF(param); - if (env.fault_occurred) - throw_xml_fault(&env); + throw_if_xml_fault_occurred(&env); xmlrpc_value *cookie_xml; const char *cookie; string cookie_str; xmlrpc_struct_find_value(&env, result, "cookie", &cookie_xml); - if (env.fault_occurred) - throw_xml_fault(&env); + throw_if_xml_fault_occurred(&env); xmlrpc_read_string(&env, cookie_xml, &cookie); - if (env.fault_occurred) - throw_xml_fault(&env); + throw_if_xml_fault_occurred(&env); cookie_str = cookie; /* xmlrpc_read_string returns *malloc'ed ptr*. * doc is not very clear on it, but I looked in xmlrpc sources. */ @@ -293,24 +285,20 @@ ctx::new_bug(const char *auth_cookie, const map_crash_data_t& pCrashData) "status_whiteboard", status_whiteboard.c_str(), "platform", arch.c_str() ); - if (env.fault_occurred) - throw_xml_fault(&env); + throw_if_xml_fault_occurred(&env); xmlrpc_value *result; xmlrpc_client_call2(&env, m_pClient, m_pServer_info, "Catcut.createTicket", param, &result); xmlrpc_DECREF(param); - if (env.fault_occurred) - throw_xml_fault(&env); + throw_if_xml_fault_occurred(&env); xmlrpc_value *bug_id_xml; const char *bug_id; string bug_id_str; xmlrpc_struct_find_value(&env, result, "ticket", &bug_id_xml); - if (env.fault_occurred) - throw_xml_fault(&env); + throw_if_xml_fault_occurred(&env); xmlrpc_read_string(&env, bug_id_xml, &bug_id); - if (env.fault_occurred) - throw_xml_fault(&env); + throw_if_xml_fault_occurred(&env); bug_id_str = bug_id; log("New bug id: %s", bug_id); update_client(_("New bug id: %s"), bug_id); @@ -334,14 +322,12 @@ ctx::request_upload(const char* auth_cookie, const char* pTicketName, pTicketName, fileName, description); - if (env.fault_occurred) - throw_xml_fault(&env); + throw_if_xml_fault_occurred(&env); xmlrpc_value* result = NULL; xmlrpc_client_call2(&env, m_pClient, m_pServer_info, "Catcut.requestUpload", param, &result); xmlrpc_DECREF(param); - if (env.fault_occurred) - throw_xml_fault(&env); + throw_if_xml_fault_occurred(&env); string URL; bool has_URL = struct_find_string(&env, result, "uri", URL); diff --git a/lib/Utils/abrt_xmlrpc.cpp b/lib/Utils/abrt_xmlrpc.cpp index e3a4648..c2d716e 100644 --- a/lib/Utils/abrt_xmlrpc.cpp +++ b/lib/Utils/abrt_xmlrpc.cpp @@ -15,7 +15,6 @@ CURL* xcurl_easy_init() return curl; } -#if 1 void throw_xml_fault(xmlrpc_env *env) { std::string errmsg = ssprintf("XML-RPC Fault: %s(%d)", env->fault_string, env->fault_code); @@ -24,19 +23,13 @@ void throw_xml_fault(xmlrpc_env *env) error_msg("%s", errmsg.c_str()); // show error in daemon log throw CABRTException(EXCEP_PLUGIN, errmsg.c_str()); } -#else void throw_if_xml_fault_occurred(xmlrpc_env *env) { if (env->fault_occurred) { - std::string errmsg = ssprintf("XML-RPC Fault: %s(%d)", env->fault_string, env->fault_code); - xmlrpc_env_clean(env); // this is needed ONLY if fault_occurred - xmlrpc_env_init(env); // just in case user catches ex and _continues_ to use env - error_msg("%s", errmsg.c_str()); // show error in daemon log - throw CABRTException(EXCEP_PLUGIN, errmsg.c_str()); + throw_xml_fault(env); } } -#endif void abrt_xmlrpc_conn::new_xmlrpc_client(const char* url, bool no_ssl_verify) { diff --git a/lib/Utils/abrt_xmlrpc.h b/lib/Utils/abrt_xmlrpc.h index a8bd2cc..a0e9ca3 100644 --- a/lib/Utils/abrt_xmlrpc.h +++ b/lib/Utils/abrt_xmlrpc.h @@ -25,6 +25,7 @@ struct abrt_xmlrpc_conn { /* Utility functions */ void throw_xml_fault(xmlrpc_env *env); +void throw_if_xml_fault_occurred(xmlrpc_env *env); CURL* xcurl_easy_init(); #endif -- cgit