summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJiri Moskovcak <jmoskovc@redhat.com>2011-04-07 16:28:54 +0200
committerJiri Moskovcak <jmoskovc@redhat.com>2011-04-07 16:28:54 +0200
commit510f86238a01e6bfba49f110ad7b9e4f6d22bd08 (patch)
treedba72ab84ef8f6fdb326ad44d7f5460e6739d3ed /src
parent9cd3eb3d3fbf73524d313cfaa1a81873f2e301a8 (diff)
downloadabrt-510f86238a01e6bfba49f110ad7b9e4f6d22bd08.tar.gz
abrt-510f86238a01e6bfba49f110ad7b9e4f6d22bd08.tar.xz
abrt-510f86238a01e6bfba49f110ad7b9e4f6d22bd08.zip
make rhtsupport use /tmp for tmp files
- also added default event configuration for rhtsupport - and tweaked a spec file a little
Diffstat (limited to 'src')
-rw-r--r--src/plugins/Makefile.am3
-rw-r--r--src/plugins/abrt-action-rhtsupport.c14
2 files changed, 12 insertions, 5 deletions
diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am
index 418b5a19..1e3c15d0 100644
--- a/src/plugins/Makefile.am
+++ b/src/plugins/Makefile.am
@@ -49,7 +49,8 @@ eventsconfdir = $(EVENTS_CONF_DIR)
dist_eventsconf_DATA = \
ccpp_events.conf \
mailx_events.conf \
- koops_events.conf
+ koops_events.conf \
+ rhtsupport_events.conf
man_MANS = \
abrt-Bugzilla.7 \
diff --git a/src/plugins/abrt-action-rhtsupport.c b/src/plugins/abrt-action-rhtsupport.c
index 6bbf76a0..233b607f 100644
--- a/src/plugins/abrt-action-rhtsupport.c
+++ b/src/plugins/abrt-action-rhtsupport.c
@@ -91,11 +91,16 @@ static void report_to_rhtsupport(
dsc = xasprintf("abrt version: "VERSION"\n%s", bz_dsc);
free(bz_dsc);
}
-
file = new_reportfile();
-
- /* SELinux guys are not happy with /tmp, using /var/run/abrt */
- tempfile = xasprintf(LOCALSTATEDIR"/run/abrt/tmp-%s-%lu.tar.gz", iso_date_string(NULL), (long)getpid());
+ const char *dt_string = iso_date_string(NULL);
+ char tmpdir_name[sizeof("/tmp/rhtsupport-YYYY-MM-DD-hh:mm:ss-XXXXXX")];
+ sprintf(tmpdir_name, "/tmp/rhtsupport-%s-XXXXXX", dt_string);
+ /* mkdtemp does mkdir(xxx, 0700), should be safe (is it?) */
+ if (mkdtemp(tmpdir_name) == NULL)
+ {
+ error_msg_and_die(_("Can't create a temporary directory in /tmp"));
+ }
+ tempfile = xasprintf("%s/tmp-%s-%lu.tar.gz",tmpdir_name, iso_date_string(NULL), (long)getpid());
int pipe_from_parent_to_child[2];
xpipe(pipe_from_parent_to_child);
@@ -236,6 +241,7 @@ static void report_to_rhtsupport(
unlink(tempfile);
free(tempfile);
reportfile_free(file);
+ rmdir(tmpdir_name);
free(summary);
free(dsc);