- related to trac#927
Signed-off-by: Jakub Filak <jfilak(a)redhat.com>
---
configure.ac | 4 ++++
libreport.pc.in | 1 +
src/lib/Makefile.am | 1 +
src/lib/create_dump_dir.c | 4 ++--
src/lib/steal_directory.c | 2 +-
src/report-python/Makefile.am | 1 +
src/report-python/dump_dir.c | 2 +-
7 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/configure.ac b/configure.ac
index 5211bfd..dbe3a62 100644
--- a/configure.ac
+++ b/configure.ac
@@ -35,6 +35,10 @@ AM_PROG_CC_C_O
AC_PROG_LN_S
AC_SYS_LARGEFILE
+
+DEFAULT_DUMP_DIR_MODE="0640"
+AC_SUBST(DEFAULT_DUMP_DIR_MODE)
+
CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE \
-D_FILE_OFFSET_BITS=64 -fno-strict-aliasing -std=gnu99 -Wall
-Wwrite-strings"
diff --git a/libreport.pc.in b/libreport.pc.in
index 82987ce..8f939cb 100755
--- a/libreport.pc.in
+++ b/libreport.pc.in
@@ -2,6 +2,7 @@ prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
+dd_mode=@DEFAULT_DUMP_DIR_MODE@
Name: libreport
Description: Generic library for reporting various problems
diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
index dad9f89..e8dfd43 100644
--- a/src/lib/Makefile.am
+++ b/src/lib/Makefile.am
@@ -64,6 +64,7 @@ libreport_la_CPPFLAGS = \
-DEVENTS_DIR=\"$(EVENTS_DIR)\" \
-DWORKFLOWS_DIR=\"$(WORKFLOWS_DIR)\" \
-DBIN_DIR=\"$(bindir)\" \
+ -DDEFAULT_DUMP_DIR_MODE=$(DEFAULT_DUMP_DIR_MODE) \
$(GLIB_CFLAGS) \
-D_GNU_SOURCE
libreport_la_LDFLAGS = \
diff --git a/src/lib/create_dump_dir.c b/src/lib/create_dump_dir.c
index d0db9b2..873139d 100644
--- a/src/lib/create_dump_dir.c
+++ b/src/lib/create_dump_dir.c
@@ -25,7 +25,7 @@
static struct dump_dir *try_dd_create(const char *base_dir_name, const char *dir_name,
uid_t uid)
{
char *path = concat_path_file(base_dir_name, dir_name);
- struct dump_dir *dd = dd_create(path, uid, 0640);
+ struct dump_dir *dd = dd_create(path, uid, DEFAULT_DUMP_DIR_MODE);
free(path);
return dd;
}
@@ -107,7 +107,7 @@ struct dump_dir *create_dump_dir_from_problem_data(problem_data_t
*problem_data,
{
char *dest = concat_path_file(dd->dd_dirname, name);
VERB2 log("copying '%s' to '%s'",
value->content, dest);
- off_t copied = copy_file(value->content, dest, 0644);
+ off_t copied = copy_file(value->content, dest, DEFAULT_DUMP_DIR_MODE |
S_IROTH);
if (copied < 0)
error_msg("Can't copy %s to %s", value->content, dest);
else
diff --git a/src/lib/steal_directory.c b/src/lib/steal_directory.c
index 4318662..519d418 100644
--- a/src/lib/steal_directory.c
+++ b/src/lib/steal_directory.c
@@ -50,7 +50,7 @@ struct dump_dir *steal_directory(const char *base_dir, const char
*dump_dir_name
char *dst_dir_name = concat_path_file(base_dir, base_name);
while (1)
{
- dd_dst = dd_create(dst_dir_name, (uid_t)-1, 0640);
+ dd_dst = dd_create(dst_dir_name, (uid_t)-1, DEFAULT_DUMP_DIR_MODE);
free(dst_dir_name);
if (dd_dst)
break;
diff --git a/src/report-python/Makefile.am b/src/report-python/Makefile.am
index a333472..5dc0b54 100644
--- a/src/report-python/Makefile.am
+++ b/src/report-python/Makefile.am
@@ -20,6 +20,7 @@ _pyreport_la_CPPFLAGS = \
-DPLUGINS_CONF_DIR=\"$(PLUGINS_CONF_DIR)\" \
-DLOCALSTATEDIR='"$(localstatedir)"' \
-DVAR_RUN=\"$(VAR_RUN)\" \
+ -DDEFAULT_DUMP_DIR_MODE=$(DEFAULT_DUMP_DIR_MODE) \
$(GLIB_CFLAGS) \
$(PYTHON_CFLAGS) \
-D_GNU_SOURCE \
diff --git a/src/report-python/dump_dir.c b/src/report-python/dump_dir.c
index 6934bd6..f087563 100644
--- a/src/report-python/dump_dir.c
+++ b/src/report-python/dump_dir.c
@@ -266,7 +266,7 @@ PyObject *p_dd_create(PyObject *module, PyObject *args)
p_dump_dir *new_dd = PyObject_New(p_dump_dir, &p_dump_dir_type);
if (!new_dd)
return NULL;
- new_dd->dd = dd_create(dir, uid, 0640);
+ new_dd->dd = dd_create(dir, uid, DEFAULT_DUMP_DIR_MODE);
return (PyObject*)new_dd;
}
--
1.7.11.7