From 45126112845a552e34ad922e78dfe4bddbe8b39c Mon Sep 17 00:00:00 2001
From: Volker Stolz <vs@FreeBSD.org>
Date: Thu, 22 Jul 2004 07:03:50 +0000
Subject: - Fix signal-handling - Bump PORTREVISION

PR:		ports/69385
Submitted by:	Olafur Osvaldsson (maintainer)
---
 dns/nsd/files/patch-aa | 110 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 110 insertions(+)
 create mode 100644 dns/nsd/files/patch-aa

(limited to 'dns/nsd/files')

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);
-- 
cgit v1.2.3