| @@ -1,29 +1,29 @@ | | | @@ -1,29 +1,29 @@ |
1 | #!@RCD_SCRIPTS_SHELL@ | | 1 | #!@RCD_SCRIPTS_SHELL@ |
2 | # | | 2 | # |
3 | # $NetBSD: axfrdns.sh,v 1.10 2019/01/07 14:01:55 schmonz Exp $ | | 3 | # $NetBSD: axfrdns.sh,v 1.11 2020/10/16 09:28:15 schmonz Exp $ |
4 | # | | 4 | # |
5 | # @PKGNAME@ script to control axfrdns (DNS zone-transfer and TCP service). | | 5 | # @PKGNAME@ script to control axfrdns (DNS zone-transfer and TCP service). |
6 | # | | 6 | # |
7 | | | 7 | |
8 | # PROVIDE: axfrdns named | | 8 | # PROVIDE: axfrdns named |
9 | # REQUIRE: NETWORKING mountcritremote syslogd tinydns | | 9 | # REQUIRE: NETWORKING mountcritremote syslogd tinydns |
10 | # BEFORE: DAEMON | | 10 | # BEFORE: DAEMON |
11 | | | 11 | |
12 | name="axfrdns" | | 12 | name="axfrdns" |
13 | | | 13 | |
14 | # User-settable rc.conf variables and their default values: | | 14 | # User-settable rc.conf variables and their default values: |
15 | : ${axfrdns_postenv:=""} | | 15 | : ${axfrdns_postenv:=""} |
16 | : ${tinydns_ip:="@TINYDNS_LISTENIP@"} | | 16 | : ${axfrdns_ip:="@TINYDNS_LISTENIP@"} |
17 | : ${axfrdns_datalimit:="300000"} | | 17 | : ${axfrdns_datalimit:="300000"} |
18 | : ${axfrdns_pretcpserver:=""} | | 18 | : ${axfrdns_pretcpserver:=""} |
19 | : ${axfrdns_tcpserver:="@PREFIX@/bin/tcpserver"} | | 19 | : ${axfrdns_tcpserver:="@PREFIX@/bin/tcpserver"} |
20 | : ${axfrdns_tcpflags:="-vDRHl0"} | | 20 | : ${axfrdns_tcpflags:="-vDRHl0"} |
21 | : ${axfrdns_tcprules:="@PKG_SYSCONFDIR@/axfrdns/tcp"} | | 21 | : ${axfrdns_tcprules:="@PKG_SYSCONFDIR@/axfrdns/tcp"} |
22 | : ${axfrdns_autocdb:="YES"} | | 22 | : ${axfrdns_autocdb:="YES"} |
23 | : ${axfrdns_tcpport:="53"} | | 23 | : ${axfrdns_tcpport:="53"} |
24 | : ${axfrdns_log:="YES"} | | 24 | : ${axfrdns_log:="YES"} |
25 | : ${axfrdns_logcmd:="logger -t nbdjbdns/axfr -p daemon.info"} | | 25 | : ${axfrdns_logcmd:="logger -t nbdjbdns/axfr -p daemon.info"} |
26 | : ${axfrdns_nologcmd:="@PREFIX@/bin/multilog -*"} | | 26 | : ${axfrdns_nologcmd:="@PREFIX@/bin/multilog -*"} |
27 | | | 27 | |
28 | if [ -f /etc/rc.subr ]; then | | 28 | if [ -f /etc/rc.subr ]; then |
29 | . /etc/rc.subr | | 29 | . /etc/rc.subr |
| @@ -37,36 +37,36 @@ start_precmd="axfrdns_precmd" | | | @@ -37,36 +37,36 @@ start_precmd="axfrdns_precmd" |
37 | extra_commands="cdb reload" | | 37 | extra_commands="cdb reload" |
38 | cdb_cmd="axfrdns_cdb" | | 38 | cdb_cmd="axfrdns_cdb" |
39 | reload_cmd=${cdb_cmd} | | 39 | reload_cmd=${cdb_cmd} |
40 | | | 40 | |
41 | axfrdns_precmd() { | | 41 | axfrdns_precmd() { |
42 | if [ -f /etc/rc.subr ] && ! checkyesno axfrdns_log; then | | 42 | if [ -f /etc/rc.subr ] && ! checkyesno axfrdns_log; then |
43 | axfrdns_logcmd=${axfrdns_nologcmd} | | 43 | axfrdns_logcmd=${axfrdns_nologcmd} |
44 | fi | | 44 | fi |
45 | if [ -f /etc/rc.subr ] && checkyesno axfrdns_autocdb; then | | 45 | if [ -f /etc/rc.subr ] && checkyesno axfrdns_autocdb; then |
46 | axfrdns_needcdb && axfrdns_cdb | | 46 | axfrdns_needcdb && axfrdns_cdb |
47 | fi | | 47 | fi |
48 | # tcpserver(1) is akin to inetd(8), but runs one service per process. | | 48 | # tcpserver(1) is akin to inetd(8), but runs one service per process. |
49 | # We want to signal only the tcpserver process responsible for this | | 49 | # We want to signal only the tcpserver process responsible for this |
50 | # service. Use argv0(1) to set procname to "axfrdns". | | 50 | # service. Use argv0(1) to set procname to "nbaxfrdns". |
51 | command="@PREFIX@/bin/pgrphack @SETENV@ - ${axfrdns_postenv} \ | | 51 | command="@PREFIX@/bin/pgrphack @SETENV@ - ${axfrdns_postenv} \ |
52 | ROOT=@PKG_SYSCONFDIR@/tinydns \ | | 52 | ROOT=@PKG_SYSCONFDIR@/tinydns \ |
53 | IP=${tinydns_ip} \ | | 53 | IP=${axfrdns_ip} \ |
54 | @PREFIX@/bin/envuidgid @DJBDNS_AXFR_USER@ \ | | 54 | @PREFIX@/bin/envuidgid @DJBDNS_AXFR_USER@ \ |
55 | @PREFIX@/bin/softlimit -d ${axfrdns_datalimit} ${axfrdns_pretcpserver} \ | | 55 | @PREFIX@/bin/softlimit -d ${axfrdns_datalimit} ${axfrdns_pretcpserver} \ |
56 | @PREFIX@/bin/argv0 ${axfrdns_tcpserver} ${procname} \ | | 56 | @PREFIX@/bin/argv0 ${axfrdns_tcpserver} ${procname} \ |
57 | ${axfrdns_tcpflags} -x ${axfrdns_tcprules}.cdb \ | | 57 | ${axfrdns_tcpflags} -x ${axfrdns_tcprules}.cdb \ |
58 | -- \ | | 58 | -- \ |
59 | ${tinydns_ip} ${axfrdns_tcpport} \ | | 59 | ${axfrdns_ip} ${axfrdns_tcpport} \ |
60 | @PREFIX@/bin/${name} \ | | 60 | @PREFIX@/bin/${name} \ |
61 | </dev/null 2>&1 | \ | | 61 | </dev/null 2>&1 | \ |
62 | @PREFIX@/bin/pgrphack @PREFIX@/bin/setuidgid @DJBDNS_LOG_USER@ ${axfrdns_logcmd}" | | 62 | @PREFIX@/bin/pgrphack @PREFIX@/bin/setuidgid @DJBDNS_LOG_USER@ ${axfrdns_logcmd}" |
63 | command_args="&" | | 63 | command_args="&" |
64 | rc_flags="" | | 64 | rc_flags="" |
65 | } | | 65 | } |
66 | | | 66 | |
67 | axfrdns_needcdb() { | | 67 | axfrdns_needcdb() { |
68 | _src=${axfrdns_tcprules} | | 68 | _src=${axfrdns_tcprules} |
69 | _dst=${axfrdns_tcprules}.cdb | | 69 | _dst=${axfrdns_tcprules}.cdb |
70 | [ -f "${_src}" -a "${_src}" -nt "${_dst}" ] || [ ! -f "${_dst}" ] | | 70 | [ -f "${_src}" -a "${_src}" -nt "${_dst}" ] || [ ! -f "${_dst}" ] |
71 | } | | 71 | } |
72 | | | 72 | |