diff --git a/CHANGES b/CHANGES index 1e0fc8e834..ffc500109f 100644 --- a/CHANGES +++ b/CHANGES @@ -31,6 +31,9 @@ 1726. [port] aix5: add support for aix5. +1725. [port] linux: update error message on interaction of threads, + capabilities and setuid support (named -u). [RT #12541] + 1724. [bug] Look for DNSKEY records with "dig +sigtrace". [RT #12557] diff --git a/bin/named/unix/os.c b/bin/named/unix/os.c index 0425f7a38c..0f20593821 100644 --- a/bin/named/unix/os.c +++ b/bin/named/unix/os.c @@ -15,7 +15,7 @@ * PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: os.c,v 1.66.18.4 2004/09/29 06:43:53 marka Exp $ */ +/* $Id: os.c,v 1.66.18.5 2004/10/07 02:33:48 marka Exp $ */ #include #include @@ -464,10 +464,14 @@ ns_os_changeuser(void) { #ifdef HAVE_LINUXTHREADS #ifdef HAVE_LINUX_CAPABILITY_H if (!non_root_caps) + ns_main_earlyfatal("-u with Linux threads not supported: " + "requires kernel support for " + "prctl(PR_SET_KEEPCAPS)"); +#else + ns_main_earlyfatal("-u with Linux threads not supported: " + "no capabilities support or capabilities " + "disabled at build time"); #endif - ns_main_earlyfatal( - "-u not supported on Linux kernels older than " - "2.3.99-pre3 or 2.2.18 when using threads"); #endif if (setgid(runas_pw->pw_gid) < 0) {