FS-7088 #resolve Set flag to enable core dump from non-root users.
When FreeSWITCH is running as a non-privileged user, we need to enable PR_SET_DUMPABLE for it to be able to generate core dumps. Instead of a generic __linux__ check, there's a new configure.ac flag to check directly for prctl.h, which could also be used in other places in the code.
This commit is contained in:
parent
f48ec61d54
commit
ece5cd52db
|
@ -766,7 +766,7 @@ AC_SUBST(LIBTOOL_LIB_EXTEN)
|
||||||
# Checks for header files.
|
# Checks for header files.
|
||||||
AC_HEADER_DIRENT
|
AC_HEADER_DIRENT
|
||||||
AC_HEADER_STDC
|
AC_HEADER_STDC
|
||||||
AC_CHECK_HEADERS([sys/types.h sys/resource.h sched.h wchar.h sys/filio.h sys/ioctl.h sys/select.h netdb.h execinfo.h])
|
AC_CHECK_HEADERS([sys/types.h sys/resource.h sched.h wchar.h sys/filio.h sys/ioctl.h sys/prctl.h sys/select.h netdb.h execinfo.h])
|
||||||
|
|
||||||
if test x"$ac_cv_header_wchar_h" = xyes; then
|
if test x"$ac_cv_header_wchar_h" = xyes; then
|
||||||
HAVE_WCHAR_H_DEFINE=1
|
HAVE_WCHAR_H_DEFINE=1
|
||||||
|
|
|
@ -51,6 +51,9 @@
|
||||||
#endif
|
#endif
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <sqlite3.h>
|
#include <sqlite3.h>
|
||||||
|
#ifdef HAVE_SYS_PRCTL_H
|
||||||
|
#include <sys/prctl.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
SWITCH_DECLARE_DATA switch_directories SWITCH_GLOBAL_dirs = { 0 };
|
SWITCH_DECLARE_DATA switch_directories SWITCH_GLOBAL_dirs = { 0 };
|
||||||
|
@ -1029,6 +1032,12 @@ SWITCH_DECLARE(int32_t) change_user_group(const char *user, const char *group)
|
||||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Failed to change uid!\n");
|
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Failed to change uid!\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
#ifdef HAVE_SYS_PRCTL_H
|
||||||
|
if (prctl(PR_SET_DUMPABLE, 1) < 0) {
|
||||||
|
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Failed to enable core dumps!\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue