Module Name:    src
Committed By:   tsarna
Date:           Sat Oct  3 00:03:05 UTC 2009

Modified Files:
        src/external/apache2/mDNSResponder/dist/mDNSPosix: PosixDaemon.c
        src/external/apache2/mDNSResponder/usr.sbin/mdnsd: Makefile

Log Message:
Make signals match what OS X and the manpage say. Implement toggles for
debug and packet trace logging.

Make this conditional on HAVE_SIGINFO. Presumably lack of SIGINFO as a
standard posix feature is why they went with different signals here in
the first place, but since we have it, let's use it.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
    src/external/apache2/mDNSResponder/dist/mDNSPosix/PosixDaemon.c
cvs rdiff -u -r1.3 -r1.4 \
    src/external/apache2/mDNSResponder/usr.sbin/mdnsd/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/apache2/mDNSResponder/dist/mDNSPosix/PosixDaemon.c
diff -u src/external/apache2/mDNSResponder/dist/mDNSPosix/PosixDaemon.c:1.2 src/external/apache2/mDNSResponder/dist/mDNSPosix/PosixDaemon.c:1.3
--- src/external/apache2/mDNSResponder/dist/mDNSPosix/PosixDaemon.c:1.2	Thu Oct  1 16:36:20 2009
+++ src/external/apache2/mDNSResponder/dist/mDNSPosix/PosixDaemon.c	Sat Oct  3 00:03:05 2009
@@ -213,6 +213,10 @@
 	mDNSPosixListenForSignalInEventLoop(SIGINT);
 	mDNSPosixListenForSignalInEventLoop(SIGTERM);
 	mDNSPosixListenForSignalInEventLoop(SIGUSR1);
+#ifdef HAVE_SIGINFO
+	mDNSPosixListenForSignalInEventLoop(SIGUSR2);
+	mDNSPosixListenForSignalInEventLoop(SIGINFO);
+#endif
 	mDNSPosixListenForSignalInEventLoop(SIGPIPE);
 	mDNSPosixListenForSignalInEventLoop(SIGHUP) ;
 
@@ -239,7 +243,22 @@
 		(void) mDNSPosixRunEventLoopOnce(m, &timeout, &signals, &gotData);
 
 		if (sigismember(&signals, SIGHUP )) Reconfigure(m);
+#ifdef HAVE_SIGINFO
+                /* use OSX-compatible signals since we can, and gain enhanced debugging */
+		if (sigismember(&signals, SIGINFO)) DumpStateLog(m);
+		if (sigismember(&signals, SIGUSR1))
+			{
+		        mDNS_LoggingEnabled = mDNS_LoggingEnabled ? 0 : 1;
+		        LogMsg("SIGUSR1: Logging %s", mDNS_LoggingEnabled ? "Enabled" : "Disabled");
+			}
+		if (sigismember(&signals, SIGUSR2))
+			{
+			mDNS_PacketLoggingEnabled = mDNS_PacketLoggingEnabled ? 0 : 1;
+			LogMsg("SIGUSR2: Packet Logging %s", mDNS_PacketLoggingEnabled ? "Enabled" : "Disabled");
+			}
+#else
 		if (sigismember(&signals, SIGUSR1)) DumpStateLog(m);
+#endif
 		// SIGPIPE happens when we try to write to a dead client; death should be detected soon in request_callback() and cleaned up.
 		if (sigismember(&signals, SIGPIPE)) LogMsg("Received SIGPIPE - ignoring");
 		if (sigismember(&signals, SIGINT) || sigismember(&signals, SIGTERM)) break;

Index: src/external/apache2/mDNSResponder/usr.sbin/mdnsd/Makefile
diff -u src/external/apache2/mDNSResponder/usr.sbin/mdnsd/Makefile:1.3 src/external/apache2/mDNSResponder/usr.sbin/mdnsd/Makefile:1.4
--- src/external/apache2/mDNSResponder/usr.sbin/mdnsd/Makefile:1.3	Thu Oct  1 10:01:14 2009
+++ src/external/apache2/mDNSResponder/usr.sbin/mdnsd/Makefile	Sat Oct  3 00:03:05 2009
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.3 2009/10/01 10:01:14 tron Exp $
+#	$NetBSD: Makefile,v 1.4 2009/10/03 00:03:05 tsarna Exp $
 
 PROG=	mdnsd
 
@@ -6,7 +6,8 @@
 
 .PATH:	${DIST}/mDNSPosix ${DIST}/mDNSCore ${DIST}/mDNSShared
 
-CPPFLAGS+=-I${DIST}/mDNSCore -I${DIST}/mDNSShared -DPROGRAM_NAME=\"mdnsd\"
+CPPFLAGS+=-I${DIST}/mDNSCore -I${DIST}/mDNSShared \
+	-DPROGRAM_NAME=\"mdnsd\" -DHAVE_SIGINFO
 SRCS=	PosixDaemon.c mDNSPosix.c mDNSUNP.c mDNS.c DNSDigest.c uDNS.c \
 	DNSCommon.c uds_daemon.c mDNSDebug.c dnssd_ipc.c GenLinkedList.c \
 	PlatformCommon.c

Reply via email to