diff --git a/lib/isc/unix/dir.c b/lib/isc/unix/dir.c index 438ea6e0a2..8ac5a840f9 100644 --- a/lib/isc/unix/dir.c +++ b/lib/isc/unix/dir.c @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dir.c,v 1.15 2001/01/09 21:58:12 bwelling Exp $ */ +/* $Id: dir.c,v 1.16 2001/01/29 03:17:44 marka Exp $ */ /* Principal Authors: DCL */ @@ -144,6 +144,17 @@ isc_dir_chdir(const char *dirname) { return (ISC_R_SUCCESS); } +isc_result_t +isc_dir_chroot(const char *dirname) { + + REQUIRE(dirname != NULL); + + if (chroot(dirname) < 0) + return (isc__errno2result(errno)); + + return (ISC_R_SUCCESS); +} + isc_result_t isc_dir_createunique(char *templet) { isc_result_t result; diff --git a/lib/isc/unix/include/isc/dir.h b/lib/isc/unix/include/isc/dir.h index 8cbc75f7fd..29b7618a8b 100644 --- a/lib/isc/unix/include/isc/dir.h +++ b/lib/isc/unix/include/isc/dir.h @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: dir.h,v 1.12 2001/01/09 21:58:38 bwelling Exp $ */ +/* $Id: dir.h,v 1.13 2001/01/29 03:17:45 marka Exp $ */ /* Principal Authors: DCL */ @@ -73,6 +73,9 @@ isc_dir_close(isc_dir_t *dir); isc_result_t isc_dir_chdir(const char *dirname); +isc_result_t +isc_dir_chroot(const char *dirname); + isc_result_t isc_dir_createunique(char *templet); /*