+2292. [bug] Log if the working directory is not writable.
+ [RT #17312]
+
+2291. [bug] PR_SET_DUMPABLE may be set too late. Also report
+ failure to set PR_SET_DUMPABLE. [RT #17312]
+
2290. [bug] Let AD in the query signal that the client wants AD
set in the response. [RT #17301]
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: server.c,v 1.495 2007/12/14 04:01:20 marka Exp $ */
+/* $Id: server.c,v 1.496 2008/01/09 04:48:33 marka Exp $ */
/*! \file */
#include <config.h>
#include <stdlib.h>
+#include <unistd.h>
#include <isc/app.h>
#include <isc/base64.h>
}
CHECK(result);
+ /*
+ * Check that the working directory is writable.
+ */
+ if (access(".", W_OK) != 0) {
+ isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
+ NS_LOGMODULE_SERVER, ISC_LOG_ERROR,
+ "the working directory is not writable");
+ }
+
/*
* Check the validity of the configuration.
*/
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: os.c,v 1.79 2007/06/19 23:46:59 tbox Exp $ */
+/* $Id: os.c,v 1.80 2008/01/09 04:48:33 marka Exp $ */
/*! \file */
ns_main_earlyfatal("setuid(): %s", strbuf);
}
-#if defined(HAVE_LINUX_CAPABILITY_H) && !defined(HAVE_LINUXTHREADS)
- linux_minprivs();
-#endif
#if defined(HAVE_SYS_PRCTL_H) && defined(PR_SET_DUMPABLE)
/*
* Restore the ability of named to drop core after the setuid()
* call has disabled it.
*/
- prctl(PR_SET_DUMPABLE,1,0,0,0);
+ if (prctl(PR_SET_DUMPABLE,1,0,0,0) < 0) {
+ isc__strerror(errno, strbuf, sizeof(strbuf));
+ ns_main_earlywarning("prctl(PR_SET_DUMPABLE) failed: %s",
+ strbuf);
+ }
+#endif
+#if defined(HAVE_LINUX_CAPABILITY_H) && !defined(HAVE_LINUXTHREADS)
+ linux_minprivs();
#endif
}