-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dnsmasq: Direct import of version 2.51
Signed-off-by: San Mehat <[email protected]>
- Loading branch information
San Mehat
committed
Jan 20, 2010
1 parent
8d761fe
commit ffd6872
Showing
85 changed files
with
45,398 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
# dnsmasq is Copyright (c) 2000-2009 Simon Kelley | ||
# | ||
# This program is free software; you can redistribute it and/or modify | ||
# it under the terms of the GNU General Public License as published by | ||
# the Free Software Foundation; version 2 dated June, 1991, or | ||
# (at your option) version 3 dated 29 June, 2007. | ||
# | ||
# This program is distributed in the hope that it will be useful, | ||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
# GNU General Public License for more details. | ||
# | ||
# You should have received a copy of the GNU General Public License | ||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
|
||
PREFIX = /usr/local | ||
BINDIR = ${PREFIX}/sbin | ||
MANDIR = ${PREFIX}/share/man | ||
LOCALEDIR = ${PREFIX}/share/locale | ||
|
||
SRC = src | ||
PO = po | ||
MAN = man | ||
|
||
PKG_CONFIG = pkg-config | ||
INSTALL = install | ||
MSGMERGE = msgmerge | ||
MSGFMT = msgfmt | ||
XGETTEXT = xgettext | ||
|
||
################################################################# | ||
|
||
DNSMASQ_CFLAGS=`echo $(COPTS) | ../bld/pkg-wrapper HAVE_DBUS $(PKG_CONFIG) --cflags dbus-1` | ||
DNSMASQ_LIBS= `echo $(COPTS) | ../bld/pkg-wrapper HAVE_DBUS $(PKG_CONFIG) --libs dbus-1` | ||
SUNOS_LIBS= `if uname | grep SunOS 2>&1 >/dev/null; then echo -lsocket -lnsl -lposix4; fi` | ||
|
||
all : dnsmasq | ||
|
||
dnsmasq : | ||
@cd $(SRC) && $(MAKE) \ | ||
DNSMASQ_CFLAGS="$(DNSMASQ_CFLAGS)" \ | ||
DNSMASQ_LIBS="$(DNSMASQ_LIBS) $(SUNOS_LIBS)" \ | ||
-f ../bld/Makefile dnsmasq | ||
|
||
clean : | ||
rm -f *~ $(SRC)/*.mo contrib/*/*~ */*~ $(SRC)/*.pot | ||
rm -f $(SRC)/*.o $(SRC)/dnsmasq.a $(SRC)/dnsmasq core */core | ||
|
||
install : all install-common | ||
|
||
install-common : | ||
$(INSTALL) -d $(DESTDIR)$(BINDIR) -d $(DESTDIR)$(MANDIR)/man8 | ||
$(INSTALL) -m 644 $(MAN)/dnsmasq.8 $(DESTDIR)$(MANDIR)/man8 | ||
$(INSTALL) -m 755 $(SRC)/dnsmasq $(DESTDIR)$(BINDIR) | ||
|
||
all-i18n : | ||
@cd $(SRC) && $(MAKE) \ | ||
I18N=-DLOCALEDIR='\"$(LOCALEDIR)\"' \ | ||
DNSMASQ_CFLAGS="$(DNSMASQ_CFLAGS) `$(PKG_CONFIG) --cflags libidn`" \ | ||
DNSMASQ_LIBS="$(DNSMASQ_LIBS) $(SUNOS_LIBS) `$(PKG_CONFIG) --libs libidn`" \ | ||
-f ../bld/Makefile dnsmasq | ||
@cd $(PO); for f in *.po; do \ | ||
cd ../$(SRC) && $(MAKE) \ | ||
MSGMERGE=$(MSGMERGE) MSGFMT=$(MSGFMT) XGETTEXT=$(XGETTEXT) \ | ||
-f ../bld/Makefile $${f%.po}.mo; \ | ||
done | ||
|
||
install-i18n : all-i18n install-common | ||
cd $(SRC); ../bld/install-mo $(DESTDIR)$(LOCALEDIR) $(INSTALL) | ||
cd $(MAN); ../bld/install-man $(DESTDIR)$(MANDIR) $(INSTALL) | ||
|
||
merge : | ||
@cd $(SRC) && $(MAKE) XGETTEXT=$(XGETTEXT) -f ../bld/Makefile dnsmasq.pot | ||
@cd $(PO); for f in *.po; do \ | ||
echo -n msgmerge $$f && $(MSGMERGE) --no-wrap -U $$f ../$(SRC)/dnsmasq.pot; \ | ||
done | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
CFLAGS = -Wall -W -O2 | ||
|
||
OBJS = cache.o rfc1035.o util.o option.o forward.o network.o \ | ||
dnsmasq.o dhcp.o lease.o rfc2131.o netlink.o dbus.o bpf.o \ | ||
helper.o tftp.o log.o | ||
|
||
.c.o: | ||
$(CC) $(CFLAGS) $(COPTS) $(I18N) $(DNSMASQ_CFLAGS) $(RPM_OPT_FLAGS) -c $< | ||
|
||
dnsmasq : $(OBJS) | ||
$(CC) $(LDFLAGS) -o $@ $(OBJS) $(DNSMASQ_LIBS) $(LIBS) | ||
|
||
dnsmasq.pot : $(OBJS:.o=.c) dnsmasq.h config.h | ||
$(XGETTEXT) -d dnsmasq --foreign-user --omit-header --keyword=_ -o $@ -i $(OBJS:.o=.c) | ||
|
||
%.mo : ../po/%.po dnsmasq.pot | ||
$(MSGMERGE) -o - ../po/$*.po dnsmasq.pot | $(MSGFMT) -o $*.mo - |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
#!/bin/sh | ||
|
||
for f in *; do | ||
if [ -d $f ]; then | ||
$2 -m 755 -d $1/$f/man8 | ||
$2 -m 644 $f/dnsmasq.8 $1/$f/man8 | ||
echo installing $1/$f/man8/dnsmasq.8 | ||
fi | ||
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
#!/bin/sh | ||
|
||
for f in *.mo; do | ||
$2 -m 755 -d $1/${f%.mo}/LC_MESSAGES | ||
$2 -m 644 $f $1/${f%.mo}/LC_MESSAGES/dnsmasq.mo | ||
echo installing $1/${f%.mo}/LC_MESSAGES/dnsmasq.mo | ||
done | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
#!/bin/sh | ||
|
||
search=$1 | ||
shift | ||
|
||
if grep "^\#.*define.*$search" config.h 2>&1 >/dev/null || \ | ||
grep $search 2>&1 >/dev/null ; then | ||
exec $* | ||
fi | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
From: David Connelly <[email protected]> | ||
Date: Mon, Apr 7, 2008 at 3:31 AM | ||
Subject: Solaris 10 service manifest | ||
To: [email protected] | ||
|
||
|
||
I've found dnsmasq much easier to set up on my home server running Solaris | ||
10 than the stock dhcp/dns server, which is probably overkill anyway for my | ||
simple home network needs. Since Solaris now uses SMF (Service Management | ||
Facility) to manage services I thought I'd create a simple service manifest | ||
for the dnsmasq service. The manifest currently assumes that dnsmasq has | ||
been installed in '/usr/local/sbin/dnsmasq' and the configuration file in | ||
'/usr/local/etc/dnsmasq.conf', so you may have to adjust these paths for | ||
your local installation. Here are the steps I followed to install and enable | ||
the dnsmasq service: | ||
# svccfg import dnsmasq.xml | ||
# svcadm enable dnsmasq | ||
|
||
To confirm that the service is enabled and online: | ||
|
||
# svcs -l dnsmasq | ||
|
||
I've just started learning about SMF so if anyone has any | ||
corrections/feedback they are more than welcome. | ||
|
||
Thanks, | ||
David | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
<?xml version='1.0'?> | ||
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> | ||
|
||
<!-- Service manifest for dnsmasq --> | ||
|
||
<service_bundle type='manifest' name='dnsmasq'> | ||
<service name='network/dnsmasq' type='service' version='1'> | ||
|
||
<create_default_instance enabled='false'/> | ||
<single_instance/> | ||
|
||
<dependency name='multi-user' | ||
grouping='require_all' | ||
restart_on='refresh' | ||
type='service'> | ||
<service_fmri value='svc:/milestone/multi-user'/> | ||
</dependency> | ||
|
||
<dependency name='config' | ||
grouping='require_all' | ||
restart_on='restart' | ||
type='path'> | ||
<service_fmri value='file:///usr/local/etc/dnsmasq.conf'/> | ||
</dependency> | ||
|
||
<dependent name='dnsmasq_multi-user-server' | ||
grouping='optional_all' | ||
restart_on='none'> | ||
<service_fmri value='svc:/milestone/multi-user-server' /> | ||
</dependent> | ||
|
||
<exec_method type='method' name='start' | ||
exec='/usr/local/sbin/dnsmasq -C /usr/local/etc/dnsmasq.conf' | ||
timeout_seconds='60' > | ||
<method_context> | ||
<method_credential user='root' group='root' privileges='all'/> | ||
</method_context> | ||
</exec_method> | ||
|
||
<exec_method type='method' | ||
name='stop' | ||
exec=':kill' | ||
timeout_seconds='60'/> | ||
|
||
<exec_method type='method' | ||
name='refresh' | ||
exec=':kill -HUP' | ||
timeout_seconds='60' /> | ||
|
||
<template> | ||
<common_name> | ||
<loctext xml:lang='C'>dnsmasq server</loctext> | ||
</common_name> | ||
<description> | ||
<loctext xml:lang='C'> | ||
dnsmasq - A lightweight DHCP and caching DNS server. | ||
</loctext> | ||
</description> | ||
<documentation> | ||
<manpage title='dnsmasq' section='8' manpath='/usr/local/man'/> | ||
</documentation> | ||
</template> | ||
|
||
</service> | ||
</service_bundle> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
This packaging is now unmaintained in the dnsmasq source: dnsmasq is | ||
included in Suse proper, and up-to-date packages are now available | ||
from | ||
|
||
ftp://ftp.suse.com/pub/people/ug/ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
This is a patch against SuSEfirewall2-3.1-206 (SuSE 9.x and older) | ||
It fixes the depancy from the dns daemon name 'named' | ||
After appending the patch, the SuSEfirewall is again able to autodetect | ||
the dnsmasq named service. | ||
This is a very old bug in the SuSEfirewall script. | ||
The SuSE people think the name of the dns server will allways 'named' | ||
|
||
|
||
--- /sbin/SuSEfirewall2.orig 2004-01-23 13:30:09.000000000 +0100 | ||
+++ /sbin/SuSEfirewall2 2004-01-23 13:31:56.000000000 +0100 | ||
@@ -764,7 +764,7 @@ | ||
echo 'FW_ALLOW_INCOMING_HIGHPORTS_UDP should be set to yes, if you are running a DNS server!' | ||
|
||
test "$FW_SERVICE_AUTODETECT" = yes -o "$FW_SERVICE_AUTODETECT" = dmz -o "$FW_SERVICE_AUTODETECT" = ext && { | ||
- test "$FW_SERVICE_DNS" = no -a '!' "$START_NAMED" = no && check_srv named && { | ||
+ test "$FW_SERVICE_DNS" = no -a '!' "$START_NAMED" = no && check_srv dnsmasq && { | ||
echo -e 'Warning: detected activated named, enabling FW_SERVICE_DNS! | ||
You still have to allow tcp/udp port 53 on internal, dmz and/or external.' | ||
FW_SERVICE_DNS=$FW_SERVICE_AUTODETECT | ||
@@ -878,7 +878,7 @@ | ||
test -e /etc/resolv.conf || echo "Warning: /etc/resolv.conf not found" | ||
# Get ports/IP bindings of NAMED/SQUID | ||
test "$FW_SERVICE_DNS" = yes -o "$FW_SERVICE_DNS" = dmz -o "$FW_SERVICE_DNS" = ext -o "$START_NAMED" = yes && DNS_PORT=`$LSOF -i -n -P | \ | ||
- $AWK -F: '/^named .* UDP / {print $2}'| $GREP -vw 53 | $SORT -un` | ||
+ $AWK -F: '/^dnsmasq .* UDP / {print $2}'| $GREP -vw 53 | $SORT -un` | ||
test "$FW_SERVICE_SQUID" = yes -o "$FW_SERVICE_SQUID" = dmz -o "$FW_SERVICE_SQUID" = ext -o "$START_SQUID" = yes && SQUID_PORT=`$LSOF -i -n -P | \ | ||
$AWK -F: '/^squid .* UDP/ {print $2}'| $SORT -un` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
--- man/dnsmasq.8 2004-08-08 20:57:56.000000000 +0200 | ||
+++ man/dnsmasq.8 2004-08-12 00:40:01.000000000 +0200 | ||
@@ -69,7 +69,7 @@ | ||
.TP | ||
.B \-g, --group=<groupname> | ||
Specify the group which dnsmasq will run | ||
-as. The defaults to "dip", if available, to facilitate access to | ||
+as. The defaults to "dialout", if available, to facilitate access to | ||
/etc/ppp/resolv.conf which is not normally world readable. | ||
.TP | ||
.B \-v, --version | ||
--- src/config.h 2004-08-11 11:39:18.000000000 +0200 | ||
+++ src/config.h 2004-08-12 00:40:01.000000000 +0200 | ||
@@ -44,7 +44,7 @@ | ||
#endif | ||
#define DEFLEASE 3600 /* default lease time, 1 hour */ | ||
#define CHUSER "nobody" | ||
-#define CHGRP "dip" | ||
+#define CHGRP "dialout" | ||
#define DHCP_SERVER_PORT 67 | ||
#define DHCP_CLIENT_PORT 68 | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
############################################################################### | ||
# | ||
# General | ||
# | ||
############################################################################### | ||
|
||
Name: dnsmasq | ||
Version: 2.33 | ||
Release: 1 | ||
Copyright: GPL | ||
Group: Productivity/Networking/DNS/Servers | ||
Vendor: Simon Kelley | ||
Packager: Simon Kelley | ||
URL: http://www.thekelleys.org.uk/dnsmasq | ||
Provides: dns_daemon | ||
Conflicts: bind bind8 bind9 | ||
PreReq: %fillup_prereq %insserv_prereq | ||
Autoreqprov: on | ||
Source0: %{name}-%{version}.tar.bz2 | ||
BuildRoot: /var/tmp/%{name}-%{version} | ||
Summary: A lightweight caching nameserver | ||
|
||
%description | ||
Dnsmasq is lightweight, easy to configure DNS forwarder and DHCP server. It | ||
is designed to provide DNS and, optionally, DHCP, to a small network. It can | ||
serve the names of local machines which are not in the global DNS. The DHCP | ||
server integrates with the DNS server and allows machines with DHCP-allocated | ||
addresses to appear in the DNS with names configured either in each host or | ||
in a central configuration file. Dnsmasq supports static and dynamic DHCP | ||
leases and BOOTP for network booting of diskless machines. | ||
|
||
|
||
|
||
############################################################################### | ||
# | ||
# Build | ||
# | ||
############################################################################### | ||
|
||
%prep | ||
%setup -q | ||
patch -p0 <rpm/%{name}-SuSE.patch | ||
|
||
%build | ||
%{?suse_update_config:%{suse_update_config -f}} | ||
make all-i18n DESTDIR=$RPM_BUILD_ROOT PREFIX=/usr | ||
|
||
############################################################################### | ||
# | ||
# Install | ||
# | ||
############################################################################### | ||
|
||
%install | ||
rm -rf $RPM_BUILD_ROOT | ||
mkdir -p ${RPM_BUILD_ROOT}/etc/init.d | ||
make install-i18n DESTDIR=$RPM_BUILD_ROOT PREFIX=/usr | ||
install -o root -g root -m 755 rpm/rc.dnsmasq-suse $RPM_BUILD_ROOT/etc/init.d/dnsmasq | ||
install -o root -g root -m 644 dnsmasq.conf.example $RPM_BUILD_ROOT/etc/dnsmasq.conf | ||
strip $RPM_BUILD_ROOT/usr/sbin/dnsmasq | ||
ln -sf ../../etc/init.d/dnsmasq $RPM_BUILD_ROOT/usr/sbin/rcdnsmasq | ||
|
||
############################################################################### | ||
# | ||
# Clean up | ||
# | ||
############################################################################### | ||
|
||
%clean | ||
rm -rf $RPM_BUILD_ROOT | ||
|
||
############################################################################### | ||
# | ||
# Post-install scriptlet | ||
# | ||
############################################################################### | ||
|
||
%post | ||
%{fillup_and_insserv dnsmasq} | ||
|
||
############################################################################### | ||
# | ||
# Post-uninstall scriptlet | ||
# | ||
# The %postun script executes after the package has been removed. It is the | ||
# last chance for a package to clean up after itself. | ||
# | ||
############################################################################### | ||
|
||
%postun | ||
%{insserv_cleanup} | ||
|
||
############################################################################### | ||
# | ||
# File list | ||
# | ||
############################################################################### | ||
|
||
%files | ||
%defattr(-,root,root) | ||
%doc CHANGELOG COPYING FAQ doc.html setup.html UPGRADING_to_2.0 rpm/README.susefirewall | ||
%doc contrib | ||
%config /etc/init.d/dnsmasq | ||
%config /etc/dnsmasq.conf | ||
/usr/sbin/rcdnsmasq | ||
/usr/sbin/dnsmasq | ||
/usr/share/locale/*/LC_MESSAGES/* | ||
%doc %{_mandir}/man8/dnsmasq.8.gz | ||
%doc %{_mandir}/*/man8/dnsmasq.8.gz | ||
|
||
|
Oops, something went wrong.