summaryrefslogtreecommitdiff
path: root/source3/winbindd/winbindd.c
diff options
context:
space:
mode:
authorMatthieu Patou <mat@matws.net>2012-06-01 15:33:04 -0700
committerMatthieu Patou <mat@samba.org>2012-06-08 06:33:33 +0200
commit0ea7152ff479e32e25817e4ddb1c2a1569bad81d (patch)
treeeae5661c4bd36d0b243cb2b046998c765e6fd5cb /source3/winbindd/winbindd.c
parent48b6c6a6f26f52b4c6389f2fc4f8e9fb3f63f03b (diff)
downloadsamba-0ea7152ff479e32e25817e4ddb1c2a1569bad81d.tar.gz
samba-0ea7152ff479e32e25817e4ddb1c2a1569bad81d.tar.bz2
samba-0ea7152ff479e32e25817e4ddb1c2a1569bad81d.zip
s3-winbindd: call dump_core_setup after command line option has been parsed
Without this fix in some situations winbindd can't coredump. Such cases append when samba is compiled in a custom prefix (ie. /home/build/mat/prod/1/) in this case get_dyn_LOGFILEBASE or basename(lp_logfile) before the configuration file and the command line is parsed will be something like /home/build/mat/prod/1/var which might not exists on the host where you run it (where it's most probably more "normal" directories). Specifying --log-basename didn't help as dump_core_setup is called before the command line and the config file is read so it didn't help getting a correct value in dump_core_setup. We fix this issue by calling dump_core_setup() also after the command line has been read and also after the configfile has been parsed so that the final location for the coredump is coherent with the final logile location. Autobuild-User(master): Matthieu Patou <mat@samba.org> Autobuild-Date(master): Fri Jun 8 06:33:33 CEST 2012 on sn-devel-104
Diffstat (limited to 'source3/winbindd/winbindd.c')
-rw-r--r--source3/winbindd/winbindd.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/source3/winbindd/winbindd.c b/source3/winbindd/winbindd.c
index 248f747ee4..20ee2fc060 100644
--- a/source3/winbindd/winbindd.c
+++ b/source3/winbindd/winbindd.c
@@ -1350,6 +1350,7 @@ int main(int argc, char **argv, char **envp)
}
}
+ dump_core_setup("winbindd", lp_logfile());
if (is_daemon && interactive) {
d_fprintf(stderr,"\nERROR: "
"Option -i|--interactive is not allowed together with -D|--daemon\n\n");
@@ -1389,6 +1390,7 @@ int main(int argc, char **argv, char **envp)
DEBUG(0, ("error opening config file '%s'\n", get_dyn_CONFIGFILE()));
exit(1);
}
+ dump_core_setup("winbindd", lp_logfile());
/* Initialise messaging system */