$OpenBSD: operops-patch-silcd_silcd_c,v 1.4 2005/04/07 00:49:18 brad Exp $
--- silcd/silcd.c.orig	Sun Mar 27 11:53:06 2005
+++ silcd/silcd.c	Wed Apr  6 12:46:06 2005
@@ -255,6 +255,14 @@ SILC_TASK_CALLBACK(stop_server)
   silc_schedule_stop(silcd->schedule);
 }
 
+extern bool silc_debug;
+SILC_TASK_CALLBACK(toggle_debug)
+{
+  if (silc_debug)
+    silc_debug = FALSE;
+  else silc_debug = TRUE;
+}
+
 /* Dump server statistics into a file into /tmp directory */
 
 SILC_TASK_CALLBACK(dump_stats)
@@ -749,10 +757,12 @@ int main(int argc, char **argv)
   sigaction(SIGTERM, &sa, NULL);
   sigaction(SIGINT, &sa, NULL);
   sigaction(SIGUSR1, &sa, NULL);
+  sigaction(SIGUSR2, &sa, NULL);
   silc_schedule_signal_register(silcd->schedule, SIGHUP, got_hup, NULL);
   silc_schedule_signal_register(silcd->schedule, SIGTERM, stop_server, NULL);
   silc_schedule_signal_register(silcd->schedule, SIGINT, stop_server, NULL);
   silc_schedule_signal_register(silcd->schedule, SIGUSR1, dump_stats, NULL);
+  silc_schedule_signal_register(silcd->schedule, SIGUSR2, toggle_debug, NULL);
 
   if (!foreground) {
     /* Before running the server, fork to background. */
