- related to trac#927
Signed-off-by: Jakub Filak jfilak@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; }
crash-catcher@lists.fedorahosted.org