* [meta-networking][PATCH] dnrd: Add new recipe
@ 2014-12-18 8:09 Qian Lei
2014-12-29 20:05 ` Joe MacDonald
0 siblings, 1 reply; 2+ messages in thread
From: Qian Lei @ 2014-12-18 8:09 UTC (permalink / raw)
To: openembedded-devel
dnrd is a proxying nameserver. It forwards DNS queries to the appropriate
nameserver, but can also act as the primary nameserver for a subnet behind
a firewall. It also has features such as caching DNS requests, support for
DNS servers, cache poisoning prevention, TCP support, etc.
Signed-off-by: Qian Lei <qianl.fnst@cn.fujitsu.com>
---
.../recipes-daemons/dnrd/dnrd/dnrd.conf.sample | 21 +++++
.../recipes-daemons/dnrd/dnrd/dnrd.init | 94 ++++++++++++++++++++++
.../recipes-daemons/dnrd/dnrd/dnrd.service | 12 +++
.../recipes-daemons/dnrd/dnrd_2.20.3.bb | 39 +++++++++
4 files changed, 166 insertions(+)
create mode 100644 meta-networking/recipes-daemons/dnrd/dnrd/dnrd.conf.sample
create mode 100644 meta-networking/recipes-daemons/dnrd/dnrd/dnrd.init
create mode 100644 meta-networking/recipes-daemons/dnrd/dnrd/dnrd.service
create mode 100644 meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb
diff --git a/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.conf.sample b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.conf.sample
new file mode 100644
index 0000000..d9f6b3d
--- /dev/null
+++ b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.conf.sample
@@ -0,0 +1,21 @@
+# options to dnrd
+
+# example: two default dns servers and dns servers for exampledomain.com. The
+# latter are load balanced (-b)
+#
+#
+
+# DNRD_OPTS="
+# -s XXX.XXX.XX.XXX
+# -s XXX.XXX.XX.XXX
+# -b
+# -s XXX.XXX.XX.XXX:exampledomain.com
+# -s XXX.XXX.XX.XXX:exampledomain.com"
+
+# example: dnrd user
+#
+
+# DNRD_USER="user"
+#
+
+
diff --git a/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.init b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.init
new file mode 100644
index 0000000..73289a9
--- /dev/null
+++ b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.init
@@ -0,0 +1,94 @@
+#!/bin/sh
+#
+# Startup script for dnrd
+#
+# Copyright 2008, Rakesh Pandit <rakesh.pandit@gmail.com>
+#
+# This source 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; either version 2, or (at your option)
+# any later version.
+
+# This source 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, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+# chkconfig: - 85 15
+# description: dnrd is a proxying nameserver. It forwards DNS queries to the
+# appropriate nameserver, but can also act as the primary nameserver for
+# a subnet behind a firewall. It also has features such as caching DNS
+# requests, support for DNS servers, cache poisoning prevention, TCP
+# support, etc..
+
+# processname: dnrd
+# pidfile: /var/run/dnrd.pid
+# config: /etc/dnrd/dnrd.conf
+
+# Provides: dnrd
+# Required-Start:
+# Should-Start:
+# Required-Stop:
+# Default-Stop: 0 1 2 6
+# Short-Description: Start dnrd daemon
+# Description: Domain Name Relay Daemon
+# END INIT INFO
+
+exe=/usr/sbin/dnrd
+pfile=/etc/passwd
+
+# Source function library.
+. /etc/init.d/functions
+
+# Source conf file
+. /etc/dnrd/dnrd.conf
+
+[ -x $exe ] || exit 1
+[ -r "/etc/dnrd/dnrd.conf" ] || exit 1
+if [ $DNRD_USER ]
+then
+ grep "^${LOGIN}:" $pfile >/dev/null 2>&1
+ if [ $? -eq 0 ];then
+ echo "$DNRD_USER specified in /etc/dnrd/dnrd.conf does not exist!"
+ fi
+else
+ echo "DNRD_USER not set at /etc/dnrd/dnrd.conf!"
+ exit 1
+fi
+
+case "$1" in
+ start)
+ echo -n "Starting dnrd: "
+ daemon dnrd $DNRD_OPTS -u $DNRD_USER
+ echo
+ touch /var/lock/subsys/dnrd
+ ;;
+ stop)
+ echo -n "Shutting down dnrd: "
+ killproc dnrd
+ echo
+ rm -f /var/lock/subsys/dnrd
+ rm -f /var/run/dnrd.pid
+ ;;
+ status)
+ status dnrd
+ ;;
+ restart)
+ $0 stop
+ $0 start
+ ;;
+ reload)
+ echo -n "Reloading dnrd: "
+ killproc dnrd -HUP
+ echo
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|reload|status}"
+ exit 1
+esac
+
+exit 0
diff --git a/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.service b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.service
new file mode 100644
index 0000000..9c9fa66
--- /dev/null
+++ b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Domain Name Relay Daemon
+After=network.target
+
+[Service]
+Type=forking
+PIDFile=/var/run/dnrd.pid
+EnvironmentFile=/etc/dnrd/dnrd.conf
+ExecStart=/usr/sbin/dnrd $DNRD_OPTS -u $DNRD_USER
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb b/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb
new file mode 100644
index 0000000..85a58cc
--- /dev/null
+++ b/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb
@@ -0,0 +1,39 @@
+SUMMARY = "A caching, forwarding DNS proxy server"
+DESCRIPTION = "\
+dnrd is a proxying nameserver. It forwards DNS queries to the appropriate \
+nameserver, but can also act as the primary nameserver for a subnet behind \
+a firewall. It also has features such as caching DNS requests, support for \
+DNS servers, cache poisoning prevention, TCP support, etc.."
+HOMEPAGE = "http://dnrd.sourceforge.net/"
+SECTION = "System Environment/Daemons"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=0be67017f1c770313ad7b40e18d568f1"
+
+SRC_URI = "http://ncu.dl.sourceforge.net/project/${BPN}/${BPN}/${PV}/${BP}.tar.gz \
+ file://dnrd.service \
+ file://dnrd.conf.sample \
+ file://dnrd.init"
+SRC_URI[md5sum] = "41c9b070aae8ed403fc8c2aac7ab157c"
+SRC_URI[sha256sum] = "aa46e7f8736b88c1d752cf606b3990041221ce91d014e955c6b02eb2167db015"
+
+SYSTEMD_SERVICE_${PN} = "dnrd.service"
+SYSTEMD_AUTO_ENABLE = "disable"
+
+inherit autotools
+inherit ${@base_contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','', d)}
+
+do_install() {
+ oe_runmake install DESTDIR=${D} INSTALL="install -p"
+
+ sed -i -e 's:/etc/rc.d/init.d/functions:/etc/init.d/functions:g' \
+ ${WORKDIR}/dnrd.init
+ install -d -m 0755 ${D}${sysconfdir}/init.d
+ install -d -m 0755 ${D}${sysconfdir}/dnrd
+ install -p -m 0644 ${WORKDIR}/dnrd.conf.sample ${D}${sysconfdir}/dnrd/dnrd.conf
+ install -p -m 0755 ${WORKDIR}/dnrd.init ${D}${sysconfdir}/init.d/dnrd
+
+ if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d -m 0755 ${D}${systemd_unitdir}/system
+ install -m 644 ${WORKDIR}/dnrd.service ${D}${systemd_unitdir}/system
+ fi
+}
--
1.8.3.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [meta-networking][PATCH] dnrd: Add new recipe
2014-12-18 8:09 [meta-networking][PATCH] dnrd: Add new recipe Qian Lei
@ 2014-12-29 20:05 ` Joe MacDonald
0 siblings, 0 replies; 2+ messages in thread
From: Joe MacDonald @ 2014-12-29 20:05 UTC (permalink / raw)
To: openembedded-devel
[-- Attachment #1: Type: text/plain, Size: 7717 bytes --]
Merged, thanks.
-J.
[[oe] [meta-networking][PATCH] dnrd: Add new recipe] On 14.12.18 (Thu 16:09) Qian Lei wrote:
> dnrd is a proxying nameserver. It forwards DNS queries to the appropriate
> nameserver, but can also act as the primary nameserver for a subnet behind
> a firewall. It also has features such as caching DNS requests, support for
> DNS servers, cache poisoning prevention, TCP support, etc.
>
> Signed-off-by: Qian Lei <qianl.fnst@cn.fujitsu.com>
> ---
> .../recipes-daemons/dnrd/dnrd/dnrd.conf.sample | 21 +++++
> .../recipes-daemons/dnrd/dnrd/dnrd.init | 94 ++++++++++++++++++++++
> .../recipes-daemons/dnrd/dnrd/dnrd.service | 12 +++
> .../recipes-daemons/dnrd/dnrd_2.20.3.bb | 39 +++++++++
> 4 files changed, 166 insertions(+)
> create mode 100644 meta-networking/recipes-daemons/dnrd/dnrd/dnrd.conf.sample
> create mode 100644 meta-networking/recipes-daemons/dnrd/dnrd/dnrd.init
> create mode 100644 meta-networking/recipes-daemons/dnrd/dnrd/dnrd.service
> create mode 100644 meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb
>
> diff --git a/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.conf.sample b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.conf.sample
> new file mode 100644
> index 0000000..d9f6b3d
> --- /dev/null
> +++ b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.conf.sample
> @@ -0,0 +1,21 @@
> +# options to dnrd
> +
> +# example: two default dns servers and dns servers for exampledomain.com. The
> +# latter are load balanced (-b)
> +#
> +#
> +
> +# DNRD_OPTS="
> +# -s XXX.XXX.XX.XXX
> +# -s XXX.XXX.XX.XXX
> +# -b
> +# -s XXX.XXX.XX.XXX:exampledomain.com
> +# -s XXX.XXX.XX.XXX:exampledomain.com"
> +
> +# example: dnrd user
> +#
> +
> +# DNRD_USER="user"
> +#
> +
> +
> diff --git a/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.init b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.init
> new file mode 100644
> index 0000000..73289a9
> --- /dev/null
> +++ b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.init
> @@ -0,0 +1,94 @@
> +#!/bin/sh
> +#
> +# Startup script for dnrd
> +#
> +# Copyright 2008, Rakesh Pandit <rakesh.pandit@gmail.com>
> +#
> +# This source 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; either version 2, or (at your option)
> +# any later version.
> +
> +# This source 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, write to the Free Software
> +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
> +#
> +# chkconfig: - 85 15
> +# description: dnrd is a proxying nameserver. It forwards DNS queries to the
> +# appropriate nameserver, but can also act as the primary nameserver for
> +# a subnet behind a firewall. It also has features such as caching DNS
> +# requests, support for DNS servers, cache poisoning prevention, TCP
> +# support, etc..
> +
> +# processname: dnrd
> +# pidfile: /var/run/dnrd.pid
> +# config: /etc/dnrd/dnrd.conf
> +
> +# Provides: dnrd
> +# Required-Start:
> +# Should-Start:
> +# Required-Stop:
> +# Default-Stop: 0 1 2 6
> +# Short-Description: Start dnrd daemon
> +# Description: Domain Name Relay Daemon
> +# END INIT INFO
> +
> +exe=/usr/sbin/dnrd
> +pfile=/etc/passwd
> +
> +# Source function library.
> +. /etc/init.d/functions
> +
> +# Source conf file
> +. /etc/dnrd/dnrd.conf
> +
> +[ -x $exe ] || exit 1
> +[ -r "/etc/dnrd/dnrd.conf" ] || exit 1
> +if [ $DNRD_USER ]
> +then
> + grep "^${LOGIN}:" $pfile >/dev/null 2>&1
> + if [ $? -eq 0 ];then
> + echo "$DNRD_USER specified in /etc/dnrd/dnrd.conf does not exist!"
> + fi
> +else
> + echo "DNRD_USER not set at /etc/dnrd/dnrd.conf!"
> + exit 1
> +fi
> +
> +case "$1" in
> + start)
> + echo -n "Starting dnrd: "
> + daemon dnrd $DNRD_OPTS -u $DNRD_USER
> + echo
> + touch /var/lock/subsys/dnrd
> + ;;
> + stop)
> + echo -n "Shutting down dnrd: "
> + killproc dnrd
> + echo
> + rm -f /var/lock/subsys/dnrd
> + rm -f /var/run/dnrd.pid
> + ;;
> + status)
> + status dnrd
> + ;;
> + restart)
> + $0 stop
> + $0 start
> + ;;
> + reload)
> + echo -n "Reloading dnrd: "
> + killproc dnrd -HUP
> + echo
> + ;;
> + *)
> + echo "Usage: $0 {start|stop|restart|reload|status}"
> + exit 1
> +esac
> +
> +exit 0
> diff --git a/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.service b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.service
> new file mode 100644
> index 0000000..9c9fa66
> --- /dev/null
> +++ b/meta-networking/recipes-daemons/dnrd/dnrd/dnrd.service
> @@ -0,0 +1,12 @@
> +[Unit]
> +Description=Domain Name Relay Daemon
> +After=network.target
> +
> +[Service]
> +Type=forking
> +PIDFile=/var/run/dnrd.pid
> +EnvironmentFile=/etc/dnrd/dnrd.conf
> +ExecStart=/usr/sbin/dnrd $DNRD_OPTS -u $DNRD_USER
> +
> +[Install]
> +WantedBy=multi-user.target
> diff --git a/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb b/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb
> new file mode 100644
> index 0000000..85a58cc
> --- /dev/null
> +++ b/meta-networking/recipes-daemons/dnrd/dnrd_2.20.3.bb
> @@ -0,0 +1,39 @@
> +SUMMARY = "A caching, forwarding DNS proxy server"
> +DESCRIPTION = "\
> +dnrd is a proxying nameserver. It forwards DNS queries to the appropriate \
> +nameserver, but can also act as the primary nameserver for a subnet behind \
> +a firewall. It also has features such as caching DNS requests, support for \
> +DNS servers, cache poisoning prevention, TCP support, etc.."
> +HOMEPAGE = "http://dnrd.sourceforge.net/"
> +SECTION = "System Environment/Daemons"
> +LICENSE = "GPLv2"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=0be67017f1c770313ad7b40e18d568f1"
> +
> +SRC_URI = "http://ncu.dl.sourceforge.net/project/${BPN}/${BPN}/${PV}/${BP}.tar.gz \
> + file://dnrd.service \
> + file://dnrd.conf.sample \
> + file://dnrd.init"
> +SRC_URI[md5sum] = "41c9b070aae8ed403fc8c2aac7ab157c"
> +SRC_URI[sha256sum] = "aa46e7f8736b88c1d752cf606b3990041221ce91d014e955c6b02eb2167db015"
> +
> +SYSTEMD_SERVICE_${PN} = "dnrd.service"
> +SYSTEMD_AUTO_ENABLE = "disable"
> +
> +inherit autotools
> +inherit ${@base_contains('VIRTUAL-RUNTIME_init_manager','systemd','systemd','', d)}
> +
> +do_install() {
> + oe_runmake install DESTDIR=${D} INSTALL="install -p"
> +
> + sed -i -e 's:/etc/rc.d/init.d/functions:/etc/init.d/functions:g' \
> + ${WORKDIR}/dnrd.init
> + install -d -m 0755 ${D}${sysconfdir}/init.d
> + install -d -m 0755 ${D}${sysconfdir}/dnrd
> + install -p -m 0644 ${WORKDIR}/dnrd.conf.sample ${D}${sysconfdir}/dnrd/dnrd.conf
> + install -p -m 0755 ${WORKDIR}/dnrd.init ${D}${sysconfdir}/init.d/dnrd
> +
> + if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then
> + install -d -m 0755 ${D}${systemd_unitdir}/system
> + install -m 644 ${WORKDIR}/dnrd.service ${D}${systemd_unitdir}/system
> + fi
> +}
> --
> 1.8.3.1
>
--
-Joe MacDonald.
:wq
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 501 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-12-29 20:05 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-18 8:09 [meta-networking][PATCH] dnrd: Add new recipe Qian Lei
2014-12-29 20:05 ` Joe MacDonald
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.