summaryrefslogtreecommitdiffstats
path: root/src/lib
Commit message (Collapse)AuthorAgeFilesLines
* abrt-gtk: make Delete key actually delete the dump dirDenys Vlasenko2011-02-102-2/+198
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* get rid of FILENAME_DESCRIPTION, rename "release" to "os_release"Denys Vlasenko2011-02-103-3/+5
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* abrt_curl: add "Accept: text/plain" header to our HTTP transactionsDenys Vlasenko2011-02-041-1/+9
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* abrt_curl: fflush http body streamDenys Vlasenko2011-02-031-0/+5
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* in bz/rhts description, list attachments and their sizesDenys Vlasenko2011-02-031-6/+27
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* abrt-cli -r DIR: copy non-writable DIR into $HOME/abrt/spoolDenys Vlasenko2011-02-014-7/+185
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* dump_dir: change locking to create .lock file inside dirDenys Vlasenko2011-02-011-63/+202
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* use run_state->children_count == 0 check for "event not conf'd" conditionDenys Vlasenko2011-02-011-1/+1
| | | | | | | | | | | | run_event_on_FOO() was returning -1 when it found that not even one program was run on the requested event. Which is not a very natural return value: in many cases this isn't an error. This change makes it return 0 in this case. It is ok since now we have run_state->children_count member which can be checked for 0 by those callers which want to detect this condition. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* abrt-cli: converted to process events locallyDenys Vlasenko2011-02-011-28/+0
| | | | | | Only -d DIR operation still goes through the daemon. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* load_plugin_settings.c: remove unused variableNikola Pajkovsky2011-02-011-2/+0
| | | | Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
* Message text and other small cosmetic fixesDenys Vlasenko2011-01-283-11/+16
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* make list_possible_events return empty on non-dump directoriesDenys Vlasenko2011-01-281-4/+12
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* run_event: add children_countDenys Vlasenko2011-01-271-2/+14
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* preparatory changes for abrt-cli local processing changeDenys Vlasenko2011-01-272-9/+12
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* split parse_release() into Bz and RHTS versionsDenys Vlasenko2011-01-251-5/+27
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* Remove CCrashWatcher and CObserver classes; merge libabrt_daemon into abrtdDenys Vlasenko2011-01-212-113/+0
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* add OPT_LIST mechanism to handle multiply occurring optionsDenys Vlasenko2011-01-204-8/+12
| | | | | | | This allowed to convert abrt-action-bugzilla, abrt-action-rhtsupport and abrt-action-kerneloops to parse_opts() Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* Remove unused OPTION_GROUPDenys Vlasenko2011-01-202-14/+1
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* introduce and use new helper function list_free_with_freeDenys Vlasenko2011-01-204-2/+27
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* remove old plugin machinery. -10k and -1 library dependence in abrtdDenys Vlasenko2011-01-192-45/+2
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* preliminary cleanup patchesDenys Vlasenko2011-01-142-5/+39
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* trivial: more uniform -v option helpDenys Vlasenko2011-01-131-1/+1
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* abrt_event.conf parser is updated to handleDenys Vlasenko2011-01-131-16/+139
| | | | | | | | | | | | | | | "include GLOB_PATTERN" line which expands GLOB_PATTERN and recurses into every matching file. Another small change makes it possible to have one rule to span lines: our current default abrt_event.conf has sosreport invocation which looks very ugly. Sosreport invocation is rewritten in a much more readable multi-line form now. The comment in src/daemon/abrt_event.conf is modified to explain the recognized syntax. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* remove C++-ism ssprintf from abrtlib.hDenys Vlasenko2011-01-112-4/+15
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* pass old pattern to ccpp hook and use itDenys Vlasenko2011-01-062-0/+75
| | | | | | | | | | | | | | | | | | | | | | | abrtd: instead of "|/usr/libexec/abrt-ccpp-hook DEBUG_DUMPS_DIR %p %s %u %c", sets coredump handler to "|/usr/libexec/abrt-ccpp-hook DEBUG_DUMPS_DIR %s %c %p %u %g %t %h %e OLD_PATTERN" abrt-ccpp-hook: expands OLD_PATTERN using values of %s %c %p %u %g %t %h %e and uses it as a name of "compat coredump". Patch has a feature which prevents usage of kernel-truncated OLD_PATTERN: it is passed as hex string *with terminating NUL* (encoded as 00). If ccpp hook doesn't see 00, it refuses to use OLD_PATTERN and uses string "core" instead. Run tested. On a new kernel, passes up to 27 char long old pattern. Longer patterns are still truncated. This may be improved in future kernels. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* 666893 - Unable to make sense of XML-RPC response from serverNikola Pajkovsky2011-01-051-0/+11
| | | | | | | By default, XML data from the network may be no larger than 512K. We have a bug which is 733402 bytes long. Limit is now 2 * 512K. Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
* dump_dir: make chown'ing of new files optional - needed for non-root usageDenys Vlasenko2011-01-042-32/+46
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* dump_dir: stop aborting on EPERM locking errorsDenys Vlasenko2011-01-041-16/+39
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* extend run_event() to run_event_on_dir_name() and run_event_on_crash_data()Denys Vlasenko2010-12-223-5/+28
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* src/report-python: expose CD_FLAG_foo constants to Python wrapperDenys Vlasenko2010-12-221-0/+5
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* *: rename *crash_dump.* -> *crash_data.*Denys Vlasenko2010-12-224-5/+5
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* create_dump_dir: add base_dir_name parameter.Denys Vlasenko2010-12-161-2/+33
| | | | | | | | This makes python wrappers more usable. src/report-python/test_full demonstrates how pyhton programs can run reporting now. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* Rename foo_crash_dump_dir -> foo_dump_dirDenys Vlasenko2010-12-155-5/+5
| | | | | | | | | | | | | To be exact, these three functions are renamed: load_crash_data_from_crash_dump_dir create_crash_dump_dir delete_crash_dump_dir Rationale: data structure is called "struct dump_dir", not "struct crash_dump_dir" Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* rename a few more files from .cpp to .cDenys Vlasenko2010-12-091-1/+11
| | | | | | | | | | | | Renamed files: KerneloopsSysLog.c abrt-action-rhtsupport.c abrt-action-upload.c abrt-action-kerneloops.c abrt-action-mailx.c abrt-action-print.c Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* rename libabrt.so to libreport.soDenys Vlasenko2010-12-091-6/+6
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* create report-libs-devel package; separate out report headersDenys Vlasenko2010-12-091-11/+9
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* add abrt_ prefixes to abrt-internal functions in libabrt.soDenys Vlasenko2010-12-0810-23/+55
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* Rename some .cpp files to .cDenys Vlasenko2010-12-086-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Apart from src/lib/Makefile.am changes, this is a pure rename, no textual changes to the files. Before patch set: $ size libabrt.so.0.0.1; ldd libabrt.so.0.0.1 text data bss dec hex filename 58031 2312 32 60375 ebd7 libabrt.so.0.0.1 linux-vdso.so.1 => (0x00007fffd46dc000) libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007f373eabc000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f373e7b6000) libm.so.6 => /lib64/libm.so.6 (0x00007f373e531000) libc.so.6 => /lib64/libc.so.6 (0x00007f373e1b2000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f373df9c000) /lib64/ld-linux-x86-64.so.2 (0x00007f373efde000) After patch set: $ size libabrt.so.0.0.1; ldd libabrt.so.0.0.1 text data bss dec hex filename 51777 2064 32 53873 d271 libabrt.so.0.0.1 linux-vdso.so.1 => (0x00007fff48703000) libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x00007fd63aa45000) libc.so.6 => /lib64/libc.so.6 (0x00007fd63a6c6000) /lib64/ld-linux-x86-64.so.2 (0x00007fd63af66000) Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* removal of C++isms from libabrt, part 2Denys Vlasenko2010-12-084-40/+1
| | | | | | This patch rewrites a few places where we use C++ strings Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* removal of C++isms from libabrt, part 1Denys Vlasenko2010-12-086-33/+68
| | | | | | | | | | | | | This patch converts libabrt usage of C++ map<string, string> to a glib-based container, GHashTable. It is typedef-ed to map_string_h. We can't typedef it to map_string_t, since other parts of ABRT (daemon, cli) still use that name for C++ container. Also, exceptions are removed everywhere. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* remove unused function parse_args; make a few functions extern "C"Denys Vlasenko2010-12-072-58/+0
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* This patch changes crash data to use C structures.Denys Vlasenko2010-12-066-146/+371
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The smallest data element is: struct crash_item { char *content; unsigned flags; }; where content is, eh, content, and flags is a bit flag field. crash_data_t is a map of crash_item's, implemented as a pointer to heap-allocated GHashTable. vector_of_crash_data_t is a vector of crash_data_t's, implemented as a pointer to heap-allocated GPtrArray. Most operations have light wrappers around them to hide the nature of the containers. For example, to free vector_of_crash_data, you need to use free_vector_of_crash_data(ptr) instead of open-coding g_ptr_array_free. The wrapper is thin. The goal is not so much to hide the implementation, but more to make it easier to use the correct function. dbus (un)marshalling functions convert crash_item to three-element array of strings, in order to keep compatibility with abrt-gui (python). This can be changed later to use native representation. crash_data_t and vector_of_crash_data_t are represented in "natural" way, no funny stuff there. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* preparatory patch: add -v to abrt-cli; remove unused func; make func staticDenys Vlasenko2010-12-031-1/+1
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* factor out headers so that "report lib" API is separated out of abrt APIDenys Vlasenko2010-12-014-10/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch minimally affects code per se - it adds create_crash_dump_dir() function which takes in-memory representation of the dump (map_crash_data_t object) and creates an on-disk representation. Then it returns pointer to struct dump_dir. With this function, it is possible to run an event on a user-constructed map_crash_data_t: map_crash_data_t cd; add_to_crash_data(cd, "foo", "bar"); struct dump_dir *dd = create_crash_dump_dir(cd); char *dir_name = strdup(dd->dd_dir); dd_close(dd); run_event(run_state, dir_name, event); delete_crash_dump_dir(dir_name); which is, basically, what report library is about. The biggest part of the patch is reshuffling of header files, with the following result: three header files which are not cluttered by other ABRT stuff, and expose the following API each: crash_dump.h - in-memory crash dump data structs and ops dump_dir.h - on-disk crash dump data structs and ops run_event.h - run_event() and friends These is a test application, test_report.cpp.cpp, which demonstrates (and tests) usage of these headers. (grep for "test-report" and enable it in build system if you want it to be built). It creates a temporary dump in /var/run/abrt/tmp-NNNN-NNNNN and runs "report" event. Deleting of temp dump is disabled for testing purposes - you might want to see the contents. Here is how the binary looks like: text data bss dec hex filename 3730 668 48 4446 115e /usr/bin/test-report linux-vdso.so.1 => (0x00007ffffa80f000) libabrt.so.0 => /usr/lib64/libabrt.so.0 (0x00007fad1f35e000) libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x0000003c1f200000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000003c2c200000) libm.so.6 => /lib64/libm.so.6 (0x00007fad1f0da000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003c28e00000) libc.so.6 => /lib64/libc.so.6 (0x00007fad1ed5b000) /lib64/ld-linux-x86-64.so.2 (0x00007fad1f570000) Next step would be to clean up the namespace, then rename libabrt.so into libreport.so, then split it into a separate package so that we can install it without installing other two abrt .so files. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* get_reporter_plugin_settings() returns GHashTableNikola Pajkovsky2010-12-011-0/+29
| | | | | | | | | | | | static void get_reporter_plugin_settings(const vector_string_t& reporters, map_map_string_t &settings) a new interface is static GHashTable *get_reporter_plugin_settings(const vector_string_t& reporters) Signed-off-by: Nikola Pajkovsky <npajkovs@redhat.com>
* preparatory patch for future factoring out of headers for reportlibDenys Vlasenko2010-11-265-6/+6
| | | | | | Some files and functions are renamed, no logic changes. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* correct a comment about libraries' usersDenys Vlasenko2010-11-261-2/+2
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* reorganize librariesDenys Vlasenko2010-11-267-195/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch does not change any code per se, it renames libABRTfoo -> libabrt_bar and moves a few functions around. After the patch, we are left with the following libs: libabrt - the stuff shared among most of abrt (like xmalloc, logging) libabrt_daemon - only daemon-related things are here (should probably be just moved into daemon - later) libabrt_dbus - daemon, cli and applet use this libabrt_web - abrt-action-foo where foo deals with network/web/ftp/... As a result, we have following reductions in dependent libs: /usr/libexec/abrt-hook-ccpp: linux-vdso.so.1 => () - libABRTUtils.so.0 => /usr/lib64/libABRTUtils.so.0 () + libabrt.so.0 => /usr/lib64/libabrt.so.0 () libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 () - libdbus-1.so.3 => /lib64/libdbus-1.so.3 () - libpthread.so.0 => /lib64/libpthread.so.0 () - librt.so.1 => /lib64/librt.so.1 () - libdl.so.2 => /lib64/libdl.so.2 () /usr/libexec/abrt-action-upload: linux-vdso.so.1 => () libtar.so.1 => /usr/lib64/libtar.so.1 () libcurl.so.4 => /usr/lib64/libcurl.so.4 () - libABRTdUtils.so.0 => /usr/lib64/libABRTdUtils.so.0 () - libABRTUtils.so.0 => /usr/lib64/libABRTUtils.so.0 () + libabrt.so.0 => /usr/lib64/libabrt.so.0 () libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 () - libdbus-1.so.3 => /lib64/libdbus-1.so.3 () Similar savings are in almost every abrt-action-foo. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* abrtd: suppress spurious warning about missing coredump and inform_allDenys Vlasenko2010-11-251-1/+1
| | | | | | Also plugs two memory leaks Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* remove sqlite DBDenys Vlasenko2010-11-235-82/+7
| | | | | | | | | | | | | | | | | | | | | | This change removes sqlite database. Database was used to find dump dirs by [UID:]UUID. This patch uses more natural way: dump dirs are addressed by their directory names. DB was also used to produce a list of dump dirs. Now it is done by iterating over the /var/spool/abrt directory. And finally, DB was also used to find duplicate UUIDs. Now it is done by iterating over the /var/spool/abrt directory. Crash count, "inform all" and reporting result message are moved from DB field to a file in dump dir. "Reported" DB field is deleted - if message != "", then this dump was reported. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>