summaryrefslogtreecommitdiffstats
path: root/bind97-rh570851.patch
blob: 08fc6823fe3fd1a4aceded60139334fd888072a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
diff -up bind-9.9.5b1/bin/dig/dighost.c.rh570851 bind-9.9.5b1/bin/dig/dighost.c
--- bind-9.9.5b1/bin/dig/dighost.c.rh570851	2014-01-06 13:49:25.230380554 +0100
+++ bind-9.9.5b1/bin/dig/dighost.c	2014-01-06 13:54:25.804839409 +0100
@@ -131,6 +131,7 @@ isc_boolean_t
 	showsearch = ISC_FALSE,
 	qr = ISC_FALSE,
 	is_dst_up = ISC_FALSE,
+	verbose = ISC_FALSE,
 	keep_open = ISC_FALSE;
 in_port_t port = 53;
 unsigned int timeout = 0;
@@ -1257,10 +1258,24 @@ setup_system(void) {
 		}
 	}
 
+	if (lwconf->resdebug) {
+		verbose = ISC_TRUE;
+		debug("verbose is on");
+	}
 	if (ndots == -1) {
 		ndots = lwconf->ndots;
 		debug("ndots is %d.", ndots);
 	}
+	if (lwconf->attempts) {
+		tries = lwconf->attempts + 1;
+		if (tries < 2)
+			tries = 2;
+		debug("tries is %d.", tries);
+	}
+	if (lwconf->timeout) {
+		timeout = lwconf->timeout;
+		debug("timeout is %d.", timeout);
+	}
 
 	/* If user doesn't specify server use nameservers from resolv.conf. */
 	if (ISC_LIST_EMPTY(server_list))
diff -up bind-9.9.5b1/bin/dig/host.c.rh570851 bind-9.9.5b1/bin/dig/host.c
--- bind-9.9.5b1/bin/dig/host.c.rh570851	2013-12-12 06:59:59.000000000 +0100
+++ bind-9.9.5b1/bin/dig/host.c	2014-01-06 13:49:25.241380571 +0100
@@ -672,6 +672,7 @@ parse_args(isc_boolean_t is_batchfile, i
 
 	lookup->servfail_stops = ISC_FALSE;
 	lookup->comments = ISC_FALSE;
+	short_form = !verbose;
 
 	while ((c = isc_commandline_parse(argc, argv, optstring)) != -1) {
 		switch (c) {
@@ -882,8 +883,8 @@ main(int argc, char **argv) {
 	result = isc_app_start();
 	check_result(result, "isc_app_start");
 	setup_libs();
-	parse_args(ISC_FALSE, argc, argv);
 	setup_system();
+	parse_args(ISC_FALSE, argc, argv);
 	result = isc_app_onrun(mctx, global_task, onrun_callback, NULL);
 	check_result(result, "isc_app_onrun");
 	isc_app_run();
diff -up bind-9.9.5b1/bin/dig/include/dig/dig.h.rh570851 bind-9.9.5b1/bin/dig/include/dig/dig.h
--- bind-9.9.5b1/bin/dig/include/dig/dig.h.rh570851	2013-12-12 06:59:59.000000000 +0100
+++ bind-9.9.5b1/bin/dig/include/dig/dig.h	2014-01-06 13:49:25.241380571 +0100
@@ -281,6 +281,7 @@ extern isc_boolean_t keep_open;
 extern char *progname;
 extern int tries;
 extern int fatalexit;
+extern isc_boolean_t verbose;
 #ifdef WITH_IDN
 extern int idnoptions;
 #endif
diff -up bind-9.9.5b1/lib/lwres/include/lwres/lwres.h.rh570851 bind-9.9.5b1/lib/lwres/include/lwres/lwres.h
--- bind-9.9.5b1/lib/lwres/include/lwres/lwres.h.rh570851	2013-12-12 06:59:59.000000000 +0100
+++ bind-9.9.5b1/lib/lwres/include/lwres/lwres.h	2014-01-06 13:49:25.241380571 +0100
@@ -243,6 +243,8 @@ typedef struct {
 	lwres_uint8_t	resdebug;      /*%< non-zero if 'options debug' set */
 	lwres_uint8_t	ndots;	       /*%< set to n in 'options ndots:n' */
 	lwres_uint8_t	no_tld_query;  /*%< non-zero if 'options no_tld_query' */
+	lwres_int32_t	attempts;      /*%< set to n in 'options attempts:n' */
+	lwres_int32_t	timeout;       /*%< set to n in 'options timeout:n' */
 } lwres_conf_t;
 
 #define LWRES_ADDRTYPE_V4		0x00000001U	/*%< ipv4 */
diff -up bind-9.9.5b1/lib/lwres/lwconfig.c.rh570851 bind-9.9.5b1/lib/lwres/lwconfig.c
--- bind-9.9.5b1/lib/lwres/lwconfig.c.rh570851	2013-12-12 06:59:59.000000000 +0100
+++ bind-9.9.5b1/lib/lwres/lwconfig.c	2014-01-06 13:49:25.241380571 +0100
@@ -237,6 +237,8 @@ lwres_conf_init(lwres_context_t *ctx) {
 	confdata->resdebug = 0;
 	confdata->ndots = 1;
 	confdata->no_tld_query = 0;
+	confdata->attempts = 0;
+	confdata->timeout = 0;
 
 	for (i = 0; i < LWRES_CONFMAXNAMESERVERS; i++)
 		lwres_resetaddr(&confdata->nameservers[i]);
@@ -289,6 +291,8 @@ lwres_conf_clear(lwres_context_t *ctx) {
 	confdata->resdebug = 0;
 	confdata->ndots = 1;
 	confdata->no_tld_query = 0;
+	confdata->attempts = 0;
+	confdata->timeout = 0;
 }
 
 static lwres_result_t
@@ -530,6 +534,8 @@ static lwres_result_t
 lwres_conf_parseoption(lwres_context_t *ctx,  FILE *fp) {
 	int delim;
 	long ndots;
+	long attempts;
+	long timeout;
 	char *p;
 	char word[LWRES_CONFMAXLINELEN];
 	lwres_conf_t *confdata;
@@ -546,6 +552,8 @@ lwres_conf_parseoption(lwres_context_t *
 			confdata->resdebug = 1;
 		} else if (strcmp("no_tld_query", word) == 0) {
 			confdata->no_tld_query = 1;
+		} else if (strcmp("debug", word) == 0) {
+			confdata->resdebug = 1;
 		} else if (strncmp("ndots:", word, 6) == 0) {
 			ndots = strtol(word + 6, &p, 10);
 			if (*p != '\0') /* Bad string. */
@@ -553,6 +561,18 @@ lwres_conf_parseoption(lwres_context_t *
 			if (ndots < 0 || ndots > 0xff) /* Out of range. */
 				return (LWRES_R_FAILURE);
 			confdata->ndots = (lwres_uint8_t)ndots;
+		} else if (strncmp("timeout:", word, 8) == 0) {
+			timeout = strtol(word + 8, &p, 10);
+			if (*p != '\0') /* Bad string. */
+				return (LWRES_R_FAILURE);
+			confdata->timeout = (lwres_int32_t)timeout;
+		} else if (strncmp("attempts:", word, 9) == 0) {
+			attempts = strtol(word + 9, &p, 10);
+			if (*p != '\0') /* Bad string. */
+				return (LWRES_R_FAILURE);
+			if (attempts < 0) /* Out of range. */
+				return (LWRES_R_FAILURE);
+			confdata->attempts = (lwres_int32_t)attempts;
 		}
 
 		if (delim == EOF || delim == '\n')
@@ -717,6 +737,12 @@ lwres_conf_print(lwres_context_t *ctx, F
 	if (confdata->no_tld_query)
 		fprintf(fp, "options no_tld_query\n");
 
+	if (confdata->attempts)
+		fprintf(fp, "options attempts:%d\n", confdata->attempts);
+
+	if (confdata->timeout)
+		fprintf(fp, "options timeout:%d\n", confdata->timeout);
+
 	return (LWRES_R_SUCCESS);
 }