Репозиторий ALT Linux backports/2.4
Последнее обновление: 9 июля 2008 | Пакетов: 497 | Посещений: 1588999
 поиск   регистрация   авторизация 
 
Группа :: Система/Серверы
Пакет: bind

 Главная   Изменения   Спек   Патчи   Загрузить   Bugs and FR 

Патч: bind-9.3.5-owl-checkconf-chroot.patch


--- bind-9.3.5/bin/check/named-checkconf.8
+++ bind-9.3.5/bin/check/named-checkconf.8
@@ -45,6 +45,7 @@ checks the syntax, but not the semantics, of a named configuration file.
 Chroot to
 \fIdirectory\fR
 so that include directives in the configuration file are processed as if run by a similarly chrooted named.
+By default, \fBnamed\-checkconf\fR will \fBchroot()\fR to \fI@ROOT@\fR.
 .RE
 .PP
 \-v
--- bind-9.3.5/bin/check/named-checkconf.c
+++ bind-9.3.5/bin/check/named-checkconf.c
@@ -208,6 +208,7 @@ main(int argc, char **argv) {
 	int exit_status = 0;
 	isc_entropy_t *ectx = NULL;
 	isc_boolean_t load_zones = ISC_FALSE;
+	const char *chroot_dir = "@ROOT@";
 	
 	while ((c = isc_commandline_parse(argc, argv, "djt:vz")) != EOF) {
 		switch (c) {
@@ -220,18 +221,7 @@ main(int argc, char **argv) {
 			break;
 
 		case 't':
-			result = isc_dir_chroot(isc_commandline_argument);
-			if (result != ISC_R_SUCCESS) {
-				fprintf(stderr, "isc_dir_chroot: %s\n",
-					isc_result_totext(result));
-				exit(1);
-			}
-			result = isc_dir_chdir("/");
-			if (result != ISC_R_SUCCESS) {
-				fprintf(stderr, "isc_dir_chdir: %s\n",
-					isc_result_totext(result));
-				exit(1);
-			}
+			chroot_dir = isc_commandline_argument;
 			break;
 
 		case 'v':
@@ -247,6 +237,19 @@ main(int argc, char **argv) {
 		}
 	}
 
+	result = isc_dir_chroot(chroot_dir);
+	if (result != ISC_R_SUCCESS) {
+		fprintf(stderr, "isc_dir_chroot: %s\n",
+			isc_result_totext(result));
+		exit(1);
+	}
+	result = isc_dir_chdir("/");
+	if (result != ISC_R_SUCCESS) {
+		fprintf(stderr, "isc_dir_chdir: %s\n",
+			isc_result_totext(result));
+		exit(1);
+	}
+
 	if (argv[isc_commandline_index] != NULL)
 		conffile = argv[isc_commandline_index];
 	if (conffile == NULL || conffile[0] == '\0')
 
design & coding: Vladimir Lettiev aka crux © 2004-2005