- related to trac#927

Signed-off-by: Jakub Filak <[email protected]>
---
 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

Reply via email to