summaryrefslogtreecommitdiff
path: root/package/dnsmasq
diff options
context:
space:
mode:
Diffstat (limited to 'package/dnsmasq')
-rw-r--r--package/dnsmasq/dnsmasq.mk2
-rw-r--r--package/dnsmasq/dnsmasq1-100-bugfix.patch25
-rw-r--r--package/dnsmasq/dnsmasq2-100-config.patch49
3 files changed, 75 insertions, 1 deletions
diff --git a/package/dnsmasq/dnsmasq.mk b/package/dnsmasq/dnsmasq.mk
index 0c9b204b8..22ef4310d 100644
--- a/package/dnsmasq/dnsmasq.mk
+++ b/package/dnsmasq/dnsmasq.mk
@@ -22,7 +22,7 @@ $(DL_DIR)/$(DNSMASQ_SOURCE):
$(DNSMASQ_DIR)/.source: $(DL_DIR)/$(DNSMASQ_SOURCE)
zcat $(DL_DIR)/$(DNSMASQ_SOURCE) | tar -C $(BUILD_DIR) -xvf -
- $(SOURCE_DIR)/patch-kernel.sh $(DNSMASQ_DIR) $(SOURCE_DIR) \
+ toolchain/patch-kernel.sh $(DNSMASQ_DIR) package/dnsmasq/ \
$(DNSMASQ_VER)-\*.patch
touch $(DNSMASQ_DIR)/.source
diff --git a/package/dnsmasq/dnsmasq1-100-bugfix.patch b/package/dnsmasq/dnsmasq1-100-bugfix.patch
new file mode 100644
index 000000000..c676a1a39
--- /dev/null
+++ b/package/dnsmasq/dnsmasq1-100-bugfix.patch
@@ -0,0 +1,25 @@
+--- dnsmasq-1.18/config.h.dist 2004-03-01 22:25:12.000000000 -0600
++++ dnsmasq-1.18/config.h 2004-03-01 22:26:50.000000000 -0600
+@@ -126,7 +126,9 @@
+
+ /* Must preceed __linux__ since uClinux defines __linux__ too. */
+ #if defined(__uClinux__) || defined(__UCLIBC__)
++#ifndef __UCLIBC_HAS_IPV6__
+ #undef HAVE_LINUX_IPV6_PROC
++#endif
+ #define HAVE_GETOPT_LONG
+ #undef HAVE_ARC4RANDOM
+ #define HAVE_RANDOM
+diff -x CVS -urN dnsmasq-1.18/option.c dnsmasq.old/option.c
+--- dnsmasq-1.18/option.c 2003-11-05 08:22:18.000000000 -0600
++++ dnsmasq.old/option.c 2004-01-05 23:40:11.000000000 -0600
+@@ -578,8 +578,8 @@
+ #ifdef HAVE_IPV6
+ else if (tmp->source_addr.sa.sa_family == AF_INET6)
+ tmp->source_addr.in6.sin6_port = htons(*query_port);
+- }
+ #endif
++ }
+ }
+
+ if (*if_addrs)
diff --git a/package/dnsmasq/dnsmasq2-100-config.patch b/package/dnsmasq/dnsmasq2-100-config.patch
new file mode 100644
index 000000000..270c22740
--- /dev/null
+++ b/package/dnsmasq/dnsmasq2-100-config.patch
@@ -0,0 +1,49 @@
+diff -ur dnsmasq-2.15.orig/src/config.h dnsmasq-2.15/src/config.h
+--- dnsmasq-2.15.orig/src/config.h 2004-10-08 11:41:34.757371880 -0400
++++ dnsmasq-2.15/src/config.h 2004-10-08 11:43:49.074952504 -0400
+@@ -78,6 +78,11 @@
+ /* We assume that systems which don't have IPv6
+ headers don't have ntop and pton either */
+
++#if defined(__UCLIBC__) && !defined(__UCLIBC_HAS_IPV6__)
++# undef NO_IPV6
++# define NO_IPV6
++#endif
++
+ #if defined(INET6_ADDRSTRLEN) && defined(IPV6_V6ONLY) && !defined(NO_IPV6)
+ # define HAVE_IPV6
+ # define ADDRSTRLEN INET6_ADDRSTRLEN
+@@ -194,7 +199,7 @@
+ /* platform dependent options. */
+
+ /* Must preceed __linux__ since uClinux defines __linux__ too. */
+-#if defined(__uClinux__) || defined(__UCLIBC__)
++#if defined(__uClinux__)
+ #undef HAVE_LINUX_IPV6_PROC
+ #define HAVE_GETOPT_LONG
+ #undef HAVE_ARC4RANDOM
+@@ -208,6 +213,24 @@
+ # define NO_FORK
+ #endif
+
++#elif defined(__linux__) && defined(__UCLIBC__)
++# define HAVE_LINUX_IPV6_PROC
++# if defined(__UCLIBC_HAS_GNU_GETOPT__) || \
++ ((__UCLIBC_MAJOR__==0) && (__UCLIBC_MINOR__==9) && (__UCLIBC_SUBLEVEL__<21))
++# define HAVE_GETOPT_LONG
++# else
++# undef HAVE_GETOPT_LONG
++# endif
++#undef HAVE_ARC4RANDOM
++#define HAVE_RANDOM
++#define HAVE_DEV_URANDOM
++#define HAVE_DEV_RANDOM
++#undef HAVE_SOCKADDR_SA_LEN
++#undef HAVE_PSELECT
++#if !defined(__ARCH_HAS_MMU__)
++# define NO_FORK
++#endif
++
+ /* libc5 - must precede __linux__ too */
+ /* Note to build a libc5 binary on a modern Debian system:
+ install the packages altgcc libc5 and libc5-altdev