aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvs <vs@FreeBSD.org>2004-07-22 15:03:50 +0800
committervs <vs@FreeBSD.org>2004-07-22 15:03:50 +0800
commit241d2fdb06b65c5c356b0420ac7d7f5e6d5f42ef (patch)
tree2355dae3f3c4d89ee0bcd8837ae8c6d6d5ff4eb2
parentb511182f2bb51e3d92c9d70fcd86ec77a7a81567 (diff)
downloadfreebsd-ports-gnome-241d2fdb06b65c5c356b0420ac7d7f5e6d5f42ef.tar.gz
freebsd-ports-gnome-241d2fdb06b65c5c356b0420ac7d7f5e6d5f42ef.tar.zst
freebsd-ports-gnome-241d2fdb06b65c5c356b0420ac7d7f5e6d5f42ef.zip
- Fix signal-handling
- Bump PORTREVISION PR: ports/69385 Submitted by: Olafur Osvaldsson (maintainer)
-rw-r--r--dns/nsd/Makefile1
-rw-r--r--dns/nsd/files/patch-aa110
2 files changed, 111 insertions, 0 deletions
diff --git a/dns/nsd/Makefile b/dns/nsd/Makefile
index 16444777047e..be8b550cccb4 100644
--- a/dns/nsd/Makefile
+++ b/dns/nsd/Makefile
@@ -7,6 +7,7 @@
PORTNAME= nsd
PORTVERSION= 2.1.1
+PORTREVISION= 1
CATEGORIES= dns ipv6
MASTER_SITES= http://www.nlnetlabs.nl/downloads/nsd/ \
ftp://ftp.rhnet.is/pub/nsd/
diff --git a/dns/nsd/files/patch-aa b/dns/nsd/files/patch-aa
new file mode 100644
index 000000000000..181d41b34dd5
--- /dev/null
+++ b/dns/nsd/files/patch-aa
@@ -0,0 +1,110 @@
+Index: nsd.8
+===================================================================
+RCS file: /cvs/nsd/nsd.8,v
+retrieving revision 1.28
+retrieving revision 1.28.2.1
+diff -u -r1.28 -r1.28.2.1
+--- nsd.8 22 Apr 2004 13:23:05 -0000 1.28
++++ nsd.8 21 Jul 2004 16:31:50 -0000 1.28.2.1
+@@ -158,7 +158,7 @@
+ .Ar seconds
+ seconds.
+ This is equal to sending
+-.Em SIGILL
++.Em SIGUSR1
+ to the daemon periodically.
+
+ .It Fl t Ar chroot
+@@ -208,7 +208,7 @@
+ Stop answering queries, shutdown, and exit normally.
+ .It Dv SIGHUP
+ Reload the database.
+-.It Dv SIGILL
++.It Dv SIGUSR1
+ Dump BIND8-style statistics into the log. Ignored otherwise.
+ .El
+ .\" .Sh IMPLEMENTATION NOTES
+Index: nsd.c
+===================================================================
+RCS file: /cvs/nsd/nsd.c,v
+retrieving revision 1.105
+retrieving revision 1.105.2.1
+diff -u -r1.105 -r1.105.2.1
+--- nsd.c 22 Apr 2004 13:23:06 -0000 1.105
++++ nsd.c 21 Jul 2004 16:31:54 -0000 1.105.2.1
+@@ -218,6 +218,7 @@
+ nsd.mode = NSD_QUIT;
+ break;
+ case SIGILL:
++ case SIGUSR1: /* Dump stats on SIGUSR1. */
+ nsd.mode = NSD_STATS;
+ break;
+ default:
+@@ -237,8 +238,17 @@
+ #ifdef BIND8_STATS
+ alarm(nsd.st.period);
+ #endif
+- sig = SIGILL;
++ sig = SIGUSR1;
++ break;
+ case SIGILL:
++ /*
++ * For backwards compatibility with BIND 8 and older
++ * versions of NSD.
++ */
++ sig = SIGUSR1;
++ break;
++ case SIGUSR1:
++ /* Dump statistics. */
+ break;
+ case SIGINT:
+ /* Silent shutdown... */
+@@ -248,6 +258,7 @@
+ default:
+ nsd.mode = NSD_SHUTDOWN;
+ log_msg(LOG_WARNING, "signal %d received, shutting down...", sig);
++ sig = SIGTERM;
+ break;
+ }
+
+@@ -724,6 +735,7 @@
+ sigaction(SIGHUP, &action, NULL);
+ sigaction(SIGINT, &action, NULL);
+ sigaction(SIGILL, &action, NULL);
++ sigaction(SIGUSR1, &action, NULL);
+ sigaction(SIGALRM, &action, NULL);
+ sigaction(SIGCHLD, &action, NULL);
+ action.sa_handler = SIG_IGN;
+Index: nsdc.sh.in
+===================================================================
+RCS file: /cvs/nsd/nsdc.sh.in,v
+retrieving revision 1.30
+retrieving revision 1.30.2.1
+diff -u -r1.30 -r1.30.2.1
+--- nsdc.sh.in 22 Apr 2004 13:39:47 -0000 1.30
++++ nsdc.sh.in 21 Jul 2004 16:31:56 -0000 1.30.2.1
+@@ -89,7 +89,7 @@
+ signal "TERM"
+ ;;
+ stats)
+- signal "ILL"
++ signal "USR1"
+ ;;
+ reload)
+ signal "HUP"
+Index: server.c
+===================================================================
+RCS file: /cvs/nsd/server.c,v
+retrieving revision 1.123
+retrieving revision 1.123.2.1
+diff -u -r1.123 -r1.123.2.1
+--- server.c 12 May 2004 14:45:35 -0000 1.123
++++ server.c 21 Jul 2004 16:32:00 -0000 1.123.2.1
+@@ -623,6 +623,7 @@
+ sigemptyset(&block_sigmask);
+ sigaddset(&block_sigmask, SIGHUP);
+ sigaddset(&block_sigmask, SIGILL);
++ sigaddset(&block_sigmask, SIGUSR1);
+ sigaddset(&block_sigmask, SIGINT);
+ sigaddset(&block_sigmask, SIGTERM);
+ sigprocmask(SIG_BLOCK, &block_sigmask, &default_sigmask);