case 'L': /* no detach */
#ifndef HAVE_MLOCKALL
- logger(LOG_ERR, _("mlockall() not supported on this platform!"));
+ logger(LOG_ERR, _("%s not supported on this platform"), "mlockall()");
return false;
#else
do_mlock = true;
uid = pw->pw_uid;
if (initgroups(switchuser, pw->pw_gid) != 0 ||
setgid(pw->pw_gid) != 0) {
- logger(LOG_ERR, _("%s failed"), "initgroups()");
+ logger(LOG_ERR, _("System call `%s' failed: %s"),
+ "initgroups", strerror(errno));
return false;
}
endgrent();
}
if (do_chroot) {
tzset(); /* for proper timestamps in logs */
- if (chroot(confbase) != 0 || chdir(".") != 0) {
- logger(LOG_ERR, _("%s failed"), "chroot()");
+ if (chroot(confbase) != 0 || chdir("/") != 0) {
+ logger(LOG_ERR, _("System call `%s' failed: %s"),
+ "chroot", strerror(errno));
return false;
}
free(confbase);
}
if (switchuser)
if (setuid(uid) != 0) {
- logger(LOG_ERR, _("%s failed"), "setuid()");
+ logger(LOG_ERR, _("System call `%s' failed: %s"),
+ "setuid", strerror(errno));
return false;
}
#endif