All of 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.