summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-dns/bind-tools/files/bind-tools-9.5.0_p1-lwconfig.patch')
-rw-r--r--net-dns/bind-tools/files/bind-tools-9.5.0_p1-lwconfig.patch63
1 files changed, 63 insertions, 0 deletions
diff --git a/net-dns/bind-tools/files/bind-tools-9.5.0_p1-lwconfig.patch b/net-dns/bind-tools/files/bind-tools-9.5.0_p1-lwconfig.patch
new file mode 100644
index 000000000000..7aa1d16e92cd
--- /dev/null
+++ b/net-dns/bind-tools/files/bind-tools-9.5.0_p1-lwconfig.patch
@@ -0,0 +1,63 @@
+--- lib/lwres/lwconfig.c.old 2007-06-20 01:47:22.000000000 +0200
++++ lib/lwres/lwconfig.c 2008-06-15 02:57:02.000000000 +0200
+@@ -175,13 +175,8 @@
+ REQUIRE(buffer != NULL);
+ REQUIRE(size > 0U);
+
+- *p = '\0';
+-
+ ch = eatwhite(fp);
+
+- if (ch == EOF)
+- return (EOF);
+-
+ do {
+ *p = '\0';
+
+@@ -592,23 +587,37 @@
+ if (strlen(word) == 0U)
+ rval = LWRES_R_SUCCESS;
+ else if (strcmp(word, "nameserver") == 0)
+- rval = lwres_conf_parsenameserver(ctx, fp);
++ rval = (stopchar != '\n')? /* fail instantly if EOL is reached */
++ lwres_conf_parsenameserver(ctx, fp)
++ : LWRES_R_FAILURE;
+ else if (strcmp(word, "lwserver") == 0)
+- rval = lwres_conf_parselwserver(ctx, fp);
++ rval = (stopchar != '\n')?
++ lwres_conf_parselwserver(ctx, fp)
++ : LWRES_R_FAILURE;
+ else if (strcmp(word, "domain") == 0)
+- rval = lwres_conf_parsedomain(ctx, fp);
++ rval = (stopchar != '\n')?
++ lwres_conf_parsedomain(ctx, fp)
++ : LWRES_R_FAILURE;
+ else if (strcmp(word, "search") == 0)
+- rval = lwres_conf_parsesearch(ctx, fp);
++ rval = (stopchar != '\n')?
++ lwres_conf_parsesearch(ctx, fp)
++ : LWRES_R_FAILURE;
+ else if (strcmp(word, "sortlist") == 0)
+- rval = lwres_conf_parsesortlist(ctx, fp);
++ rval = (stopchar != '\n')?
++ lwres_conf_parsesortlist(ctx, fp)
++ : LWRES_R_FAILURE;
+ else if (strcmp(word, "options") == 0)
+- rval = lwres_conf_parseoption(ctx, fp);
++ rval = (stopchar != '\n')?
++ lwres_conf_parseoption(ctx, fp)
++ : LWRES_R_FAILURE;
+ else {
+ /* unrecognised word. Ignore entire line */
+ rval = LWRES_R_SUCCESS;
+- stopchar = eatline(fp);
+- if (stopchar == EOF) {
+- break;
++ if (stopchar != '\n') { /* do not eat the next line */
++ stopchar = eatline(fp);
++ if (stopchar == EOF) {
++ break;
++ }
+ }
+ }
+ if (ret == LWRES_R_SUCCESS && rval != LWRES_R_SUCCESS)