summaryrefslogtreecommitdiffstats
path: root/src/include/abrtlib.h
Commit message (Collapse)AuthorAgeFilesLines
* make fork_execv_on_steroids capable of setting env vars tooDenys Vlasenko2011-03-081-2/+7
| | | | | | Before, it could only unset them. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* renamed some files, no code changesJiri Moskovcak2011-03-071-1/+1
|
* minor build fixesJiri Moskovcak2011-03-071-2/+0
|
* added function to parse event description from xml fileJiri Moskovcak2011-03-071-0/+3
|
* remove FILENAME_REPRODUCE field. FILENAME_COMMENT should be used insteadDenys Vlasenko2011-03-031-2/+2
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* show more useful columns in abrt-gtk; use human-readable time in dir namesDenys Vlasenko2011-02-281-0/+6
| | | | | | | | | | | | For most users, "hostname" is the same for every crash (it is their hostname). Not every problem even has "Application" field ("low on disk space" problem, for example, doesn't), whereas any problem should have "Reason" field. For non-root, it is useful to see which dumps are in /var/spool/abrt (and aren't writable), and which are in $HOME/.abrt/spool. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* gui-wizard-gtk: show error messages as msg boxesDenys Vlasenko2011-02-251-0/+2
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* move steal_directory() into libreportJiri Moskovcak2011-02-171-0/+3
|
* abrt-cli -r DIR: copy non-writable DIR into $HOME/abrt/spoolDenys Vlasenko2011-02-011-0/+2
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* split parse_release() into Bz and RHTS versionsDenys Vlasenko2011-01-251-2/+4
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* introduce and use new helper function list_free_with_freeDenys Vlasenko2011-01-201-0/+7
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* preliminary cleanup patchesDenys Vlasenko2011-01-141-61/+21
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* remove C++-ism ssprintf from abrtlib.hDenys Vlasenko2011-01-111-19/+0
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* do not pollute library namespace: prefix bin2hex and hex2bin with abrt_Denys Vlasenko2011-01-111-0/+2
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* pass old pattern to ccpp hook and use itDenys Vlasenko2011-01-061-0/+5
| | | | | | | | | | | | | | | | | | | | | | | 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>
* *: rename *crash_dump.* -> *crash_data.*Denys Vlasenko2010-12-221-1/+1
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* add abrt_ prefixes to abrt-internal functions in libabrt.soDenys Vlasenko2010-12-081-43/+77
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* removal of C++isms from libabrt, part 2Denys Vlasenko2010-12-081-10/+0
| | | | | | 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-081-16/+14
| | | | | | | | | | | | | 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-071-8/+7
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* This patch changes crash data to use C structures.Denys Vlasenko2010-12-061-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* factor out headers so that "report lib" API is separated out of abrt APIDenys Vlasenko2010-12-011-18/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* preparatory patch for future factoring out of headers for reportlibDenys Vlasenko2010-11-261-1/+1
| | | | | | Some files and functions are renamed, no logic changes. Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* reorganize librariesDenys Vlasenko2010-11-261-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Make "abrt-handle-crashdump -e BOGUS_EVENT" fail (also fail if asked over dbus)Denys Vlasenko2010-11-151-0/+4
| | | | Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
* move inc/ and lib/ to src/. No code changesDenys Vlasenko2010-11-151-0/+269
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>