Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: sjhill at uclibc.org <sjhill@uclibc.org>
To: buildroot@busybox.net
Subject: [Buildroot] svn commit: trunk/buildroot/package/busybox
Date: Sun,  6 May 2007 21:07:06 -0700 (PDT)	[thread overview]
Message-ID: <20070507040706.9235548598@busybox.net> (raw)

Author: sjhill
Date: 2007-05-06 21:07:06 -0700 (Sun, 06 May 2007)
New Revision: 18581

Log:
This patch increases the maximum host name length for 'dnsd' to 40 characters in length and fixes a resolving bug. For example, if there are two entries in the 'dnsd.conf' file of 'foo1' and 'foo2'. Doing a 'nslookup foo2' the 'dnsd' will always return the IP address of 'foo1' because the string comparison is faulty.


Added:
   trunk/buildroot/package/busybox/busybox-1.2.2.1-max_host_len_40.patch
   trunk/buildroot/package/busybox/busybox-1.4.0-max_host_len_40.patch
   trunk/buildroot/package/busybox/busybox-1.5.0-max_host_len_40.patch


Changeset:
Added: trunk/buildroot/package/busybox/busybox-1.2.2.1-max_host_len_40.patch
===================================================================
--- trunk/buildroot/package/busybox/busybox-1.2.2.1-max_host_len_40.patch	                        (rev 0)
+++ trunk/buildroot/package/busybox/busybox-1.2.2.1-max_host_len_40.patch	2007-05-07 04:07:06 UTC (rev 18581)
@@ -0,0 +1,61 @@
+diff -ur busybox-1.2.2.1/networking/dnsd.c busybox-1.2.2.1-patched/networking/dnsd.c
+--- busybox-1.2.2.1/networking/dnsd.c	2006-10-24 15:21:17.000000000 -0500
++++ busybox-1.2.2.1-patched/networking/dnsd.c	2007-04-12 12:49:53.000000000 -0500
+@@ -31,11 +31,11 @@
+ 
+ #define is_daemon()  (flags&16)
+ #define is_verbose() (flags&32)
+-//#define DEBUG 
++#undef DEBUG 
+ 
+ 
+ enum {
+-	MAX_HOST_LEN = 16,      // longest host name allowed is 15
++	MAX_HOST_LEN = 41,      // longest host name allowed is 40
+ 	IP_STRING_LEN = 18,     // .xxx.xxx.xxx.xxx\0
+ 
+ //must be strlen('.in-addr.arpa') larger than IP_STRING_LEN
+@@ -229,19 +229,23 @@
+ {
+ 	int i;
+ 	struct dns_entry *d = dnsentry;
++	char *p,*q;
++
++	q = (char *)&(qs[1]);
++	p = &(d->name[1]);
+ 
+ 	if(d) do {
+ #ifdef DEBUG
+ 		if(qs && d) {
+-			char *p,*q;
+-			q = (char *)&(qs[1]);
+-			p = &(d->name[1]);
+ 			fprintf(stderr, "\n%s: %d/%d p:%s q:%s %d", 
+ 				__FUNCTION__, strlen(p), (int)(d->name[0]), 
+ 				p, q, strlen(q));
+ 		}
+ #endif
+ 		if (type == REQ_A) { 			/* search by host name */
++			p = &(d->name[1]);
++			if(strlen(q) != strlen(p))
++				continue;
+ 			for(i = 1; i <= (int)(d->name[0]); i++)
+ 				if(tolower(qs[i]) != d->name[i])
+ 					break;
+@@ -398,13 +402,15 @@
+ 		fprintf(stderr,"fileconf: %s\n", fileconf);
+ 	}
+ 
+-	if(is_daemon())
++	if(is_daemon()) {
+ #ifdef BB_NOMMU
+ 		/* reexec for vfork() do continue parent */
+ 		vfork_daemon_rexec(1, 0, argc, argv, "-d");
+ #else
+ 		bb_xdaemon(1, 0);
+ #endif
++		daemonmode = 1;
++	}
+ 
+ 	dnsentryinit(is_verbose());
+ 

Added: trunk/buildroot/package/busybox/busybox-1.4.0-max_host_len_40.patch
===================================================================
--- trunk/buildroot/package/busybox/busybox-1.4.0-max_host_len_40.patch	                        (rev 0)
+++ trunk/buildroot/package/busybox/busybox-1.4.0-max_host_len_40.patch	2007-05-07 04:07:06 UTC (rev 18581)
@@ -0,0 +1,61 @@
+diff -ur busybox-1.2.2.1/networking/dnsd.c busybox-1.2.2.1-patched/networking/dnsd.c
+--- busybox-1.2.2.1/networking/dnsd.c	2006-10-24 15:21:17.000000000 -0500
++++ busybox-1.2.2.1-patched/networking/dnsd.c	2007-04-12 12:49:53.000000000 -0500
+@@ -31,11 +31,11 @@
+ 
+ #define is_daemon()  (flags&16)
+ #define is_verbose() (flags&32)
+-//#define DEBUG 
++#undef DEBUG 
+ 
+ 
+ enum {
+-	MAX_HOST_LEN = 16,      // longest host name allowed is 15
++	MAX_HOST_LEN = 41,      // longest host name allowed is 40
+ 	IP_STRING_LEN = 18,     // .xxx.xxx.xxx.xxx\0
+ 
+ //must be strlen('.in-addr.arpa') larger than IP_STRING_LEN
+@@ -229,19 +229,23 @@
+ {
+ 	int i;
+ 	struct dns_entry *d = dnsentry;
++	char *p,*q;
++
++	q = (char *)&(qs[1]);
++	p = &(d->name[1]);
+ 
+ 	if(d) do {
+ #ifdef DEBUG
+ 		if(qs && d) {
+-			char *p,*q;
+-			q = (char *)&(qs[1]);
+-			p = &(d->name[1]);
+ 			fprintf(stderr, "\n%s: %d/%d p:%s q:%s %d", 
+ 				__FUNCTION__, strlen(p), (int)(d->name[0]), 
+ 				p, q, strlen(q));
+ 		}
+ #endif
+ 		if (type == REQ_A) { 			/* search by host name */
++			p = &(d->name[1]);
++			if(strlen(q) != strlen(p))
++				continue;
+ 			for(i = 1; i <= (int)(d->name[0]); i++)
+ 				if(tolower(qs[i]) != d->name[i])
+ 					break;
+@@ -398,13 +402,15 @@
+ 		fprintf(stderr,"fileconf: %s\n", fileconf);
+ 	}
+ 
+-	if(is_daemon())
++	if(is_daemon()) {
+ #ifdef BB_NOMMU
+ 		/* reexec for vfork() do continue parent */
+ 		vfork_daemon_rexec(1, 0, argc, argv, "-d");
+ #else
+ 		bb_xdaemon(1, 0);
+ #endif
++		daemonmode = 1;
++	}
+ 
+ 	dnsentryinit(is_verbose());
+ 

Added: trunk/buildroot/package/busybox/busybox-1.5.0-max_host_len_40.patch
===================================================================
--- trunk/buildroot/package/busybox/busybox-1.5.0-max_host_len_40.patch	                        (rev 0)
+++ trunk/buildroot/package/busybox/busybox-1.5.0-max_host_len_40.patch	2007-05-07 04:07:06 UTC (rev 18581)
@@ -0,0 +1,37 @@
+diff -ur busybox-1.5.0/networking/dnsd.c busybox-1.5.0-patched/networking/dnsd.c
+--- busybox-1.5.0/networking/dnsd.c	2007-03-22 15:21:23.000000000 -0500
++++ busybox-1.5.0-patched/networking/dnsd.c	2007-04-13 06:53:49.000000000 -0500
+@@ -30,7 +30,7 @@
+ #define DEBUG 0
+ 
+ enum {
+-	MAX_HOST_LEN = 16,      // longest host name allowed is 15
++	MAX_HOST_LEN = 41,      // longest host name allowed is 40
+ 	IP_STRING_LEN = 18,     // .xxx.xxx.xxx.xxx\0
+ 
+ //must be strlen('.in-addr.arpa') larger than IP_STRING_LEN
+@@ -186,17 +186,21 @@
+ {
+ 	int i;
+ 	struct dns_entry *d=dnsentry;
++	char *p,*q;
++
++	q = (char *)&(qs[1]);
++	p = &(d->name[1]);
+ 
+ 	do {
+ #if DEBUG
+-		char *p,*q;
+-		q = (char *)&(qs[1]);
+-		p = &(d->name[1]);
+ 		fprintf(stderr, "\n%s: %d/%d p:%s q:%s %d",
+ 			__FUNCTION__, (int)strlen(p), (int)(d->name[0]),
+ 			p, q, (int)strlen(q));
+ #endif
+ 		if (type == REQ_A) { /* search by host name */
++			p = &(d->name[1]);
++			if(strlen(q) != strlen(p))
++				continue;
+ 			for (i = 1; i <= (int)(d->name[0]); i++)
+ 				if (tolower(qs[i]) != d->name[i])
+ 					break;

             reply	other threads:[~2007-05-07  4:07 UTC|newest]

Thread overview: 161+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-07  4:07 sjhill at uclibc.org [this message]
  -- strict thread matches above, loose matches on Subject: below --
2009-03-02 15:33 [Buildroot] svn commit: trunk/buildroot/package/busybox jacmet at uclibc.org
2009-02-18 14:16 jacmet at uclibc.org
2009-02-01 19:36 jacmet at uclibc.org
2009-01-29 11:29 jacmet at uclibc.org
2009-01-29 11:27 jacmet at uclibc.org
2009-01-20 19:26 jacmet at uclibc.org
2009-01-19 12:34 jacmet at uclibc.org
2009-01-12  9:36 jacmet at uclibc.org
2008-12-31  9:35 jacmet at uclibc.org
2008-12-30 19:15 jacmet at uclibc.org
2008-12-29 10:09 jacmet at uclibc.org
2008-12-11  9:35 jacmet at uclibc.org
2008-12-10 13:46 jacmet at uclibc.org
2008-12-07 21:22 jacmet at uclibc.org
2008-12-04 13:21 jacmet at uclibc.org
2008-11-29 20:12 jacmet at uclibc.org
2008-11-28  8:19 jacmet at uclibc.org
2008-11-22  6:49 jacmet at uclibc.org
2008-11-21 14:36 jacmet at uclibc.org
2008-11-21 10:59 jacmet at uclibc.org
2008-11-20  6:49 jacmet at uclibc.org
2008-11-17  7:40 jacmet at uclibc.org
2008-11-16 17:22 jacmet at uclibc.org
2008-11-16 23:46 ` Hamish Moffatt
2008-11-17  7:13   ` Peter Korsgaard
2008-11-17 12:38     ` Hamish Moffatt
2008-11-17 12:45       ` Peter Korsgaard
2008-11-15 21:25 jacmet at uclibc.org
2008-11-13 16:32 jacmet at uclibc.org
2008-11-14 16:42 ` hartleys
2008-11-15 21:29   ` Peter Korsgaard
2008-11-16 23:42     ` Hamish Moffatt
2008-11-17  7:13       ` Peter Korsgaard
2008-11-13 16:32 jacmet at uclibc.org
2008-11-07 10:16 jacmet at uclibc.org
2008-11-02 13:06 jacmet at uclibc.org
2008-10-13 12:42 jacmet at uclibc.org
2008-10-06 18:52 jacmet at uclibc.org
2008-09-28 19:28 jacmet at uclibc.org
2008-09-22 11:54 jacmet at uclibc.org
2008-09-09  8:50 jacmet at uclibc.org
2008-09-09  8:50 jacmet at uclibc.org
2008-09-10  1:32 ` Hamish Moffatt
2008-09-10  6:57   ` Peter Korsgaard
2008-08-31 21:45 jacmet at uclibc.org
2008-08-28  4:57 jacmet at uclibc.org
2008-08-26  1:05 hamish at uclibc.org
2008-08-21  5:08 jacmet at uclibc.org
2008-08-06 12:56 jacmet at uclibc.org
2008-08-06  6:37 jacmet at uclibc.org
2008-08-04 19:06 jacmet at uclibc.org
2008-07-23  6:01 jacmet at uclibc.org
2008-07-22 11:19 jacmet at uclibc.org
2008-07-11 22:19 jacmet at uclibc.org
2008-07-06 13:55 jacmet at uclibc.org
2008-07-01 14:04 jacmet at uclibc.org
2008-07-01 13:37 jacmet at uclibc.org
2008-06-28 20:53 jacmet at uclibc.org
2008-06-26  6:51 jacmet at uclibc.org
2008-06-26  6:51 jacmet at uclibc.org
2008-06-26  6:58 ` Peter Korsgaard
2008-06-27  9:05   ` Daniel Laird
2008-06-27  9:20     ` Peter Korsgaard
2008-06-27 12:00       ` Bernhard Fischer
2008-06-27 12:46         ` sjhill at realitydiluted.com
2008-06-27 12:53           ` Bernhard Fischer
2008-06-27 14:07           ` Peter Korsgaard
2008-06-27 12:49         ` Daniel Laird
2008-06-27 13:19           ` Peter Korsgaard
2008-06-26  6:51 jacmet at uclibc.org
2008-06-20 18:38 jacmet at uclibc.org
2008-06-13 20:49 jacmet at uclibc.org
2008-06-07  7:46 jacmet at uclibc.org
2008-05-31 12:58 jacmet at uclibc.org
2008-05-31  7:28 jacmet at uclibc.org
2008-05-31  7:39 ` Cristian Ionescu-Idbohrn
2008-05-31 12:59   ` Peter Korsgaard
2008-05-09 10:01 jacmet at uclibc.org
2008-05-05 17:17 jacmet at uclibc.org
2008-04-29  6:53 jacmet at uclibc.org
2008-04-22  9:37 jacmet at uclibc.org
2008-04-04  7:17 jacmet at uclibc.org
2008-04-01 10:00 jacmet at uclibc.org
2008-03-30 14:37 jacmet at uclibc.org
2008-03-26 21:53 jacmet at uclibc.org
2008-03-26 21:49 jacmet at uclibc.org
2008-03-25 14:38 jacmet at uclibc.org
2008-03-21 17:56 ninevoltz at uclibc.org
2008-03-21 10:14 jacmet at uclibc.org
2008-03-17 19:44 jacmet at uclibc.org
2008-03-11  8:17 jacmet at uclibc.org
2008-02-28 14:38 jacmet at uclibc.org
2008-02-14 15:49 jacmet at uclibc.org
2008-02-14 14:45 jacmet at uclibc.org
2008-02-02 21:49 jacmet at uclibc.org
2008-01-08 12:51 jacmet at uclibc.org
2008-01-03 13:33 jacmet at uclibc.org
2008-01-03 13:33 jacmet at uclibc.org
2008-01-03 13:33 jacmet at uclibc.org
2008-01-03 13:33 jacmet at uclibc.org
2008-01-03 13:33 jacmet at uclibc.org
2008-01-03 13:31 jacmet at uclibc.org
2007-09-30 12:50 aldot at uclibc.org
2007-09-30 12:48 aldot at uclibc.org
2007-09-22 17:29 aldot at uclibc.org
2007-09-22 10:25 aldot at uclibc.org
2007-09-20 16:58 aldot at uclibc.org
2007-09-15 18:14 aldot at uclibc.org
2007-09-10  7:38 jacmet at uclibc.org
2007-09-02 22:09 aldot at uclibc.org
2007-09-02 14:56 aldot at uclibc.org
2007-09-01 17:33 aldot at uclibc.org
2007-08-24 14:23 aldot at uclibc.org
2007-07-08 12:10 aldot at uclibc.org
2007-07-08 12:04 aldot at uclibc.org
2007-07-08 11:56 aldot at uclibc.org
2007-07-02 15:20 aldot at uclibc.org
2007-07-02  9:54 aldot at uclibc.org
2007-06-27 21:07 aldot at uclibc.org
2007-06-25 11:07 aldot at uclibc.org
2007-06-14 13:09 jacmet at uclibc.org
2007-06-02 13:13 aldot at uclibc.org
2007-05-15  9:34 aldot at uclibc.org
2007-05-07  4:04 sjhill at uclibc.org
2007-04-25  7:11 jacmet at uclibc.org
2007-04-05  7:04 jacmet at uclibc.org
2007-03-24 12:09 aldot at uclibc.org
2007-03-23 13:26 aldot at uclibc.org
2007-03-23 13:24 aldot at uclibc.org
2007-03-20  9:51 aldot at uclibc.org
2007-03-20  8:53 aldot at uclibc.org
2007-03-15  8:36 jacmet at uclibc.org
2007-03-14 13:02 aldot at uclibc.org
2007-02-27  9:04 jacmet at uclibc.org
2007-02-23 11:55 jacmet at uclibc.org
2007-02-16 15:19 aldot at uclibc.org
2007-02-12 14:43 jacmet at uclibc.org
2007-02-06 16:34 jacmet at uclibc.org
2007-02-06 16:31 jacmet at uclibc.org
2007-02-06 16:23 jacmet at uclibc.org
2007-02-06 16:20 jacmet at uclibc.org
2007-02-06 16:18 jacmet at uclibc.org
2007-02-02 16:15 aldot at uclibc.org
2007-02-01 12:30 aldot at uclibc.org
2007-01-31 14:21 aldot at uclibc.org
2007-01-30 16:47 jacmet at uclibc.org
2007-01-30 13:37 jacmet at uclibc.org
2007-01-30 13:36 jacmet at uclibc.org
2006-12-13  6:58 andersen at uclibc.org
2006-12-13  6:18 andersen at uclibc.org
2006-12-07 16:31 aldot at uclibc.org
2006-12-02 19:36 aldot at uclibc.org
2006-12-02 18:36 aldot at uclibc.org
2006-12-02 17:03 aldot at uclibc.org
2006-11-17 12:57 aldot at uclibc.org
2006-11-17 11:37 aldot at uclibc.org
2006-10-25  8:10 jacmet at uclibc.org
2006-08-29 16:45 aldot at uclibc.org
2006-08-24 19:48 aldot at uclibc.org
2006-07-31  9:01 jacmet

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070507040706.9235548598@busybox.net \
    --to=sjhill@uclibc.org \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox