Commits


ngIRCd release 17~rc1


New configuration option "NoZeroConf" to disable ZeroConf registration If ngIRCd is compiled to register its services using ZeroConf (e.g. using Howl, Avahi or on Mac OS X) this parameter can be used to disable service registration at runtime.


Xcode: only build current architecture in "Debug" target


doc/Platforms.txt: added NetBSD 5.0.2


Updated doc/Platforms.txt


Make sure sighandlers.h is listed in noinst_HEADERS ... because it must be included in the distribution archive :-)


const'ify ngt_SyslogFacilityName() function This fixes the following gcc compiler warning: tool.c: In function 'ngt_SyslogFacilityName': tool.c:195: warning: return discards qualifiers from pointer target type


Debian packages: build "-full" and "-full-dbg" with support for PAM


New configuration option "SyslogFacility" The new option "SyslogFacility" deines the syslog "facility" to which ngIRCd should send log messages. Possible values are system dependant, but most probably "auth", "daemon", "user" and "local1" through "local7" are possible values; see syslog(3). Default is "local5" for historical reasons.


New functions ngt_SyslogFacilityName() and ngt_SyslogFacilityID() These both functions translate syslog facility names to ID numbers and vice versa. On systems that don't define the facilitynames[] array in syslog.h, we try to build one ourself.


Explicitly cast return value of read(2) to "int" This fixes the following gcc warning, emitted by Xcode: src/ngircd/sighandlers.c: In function 'Signal_Callback': src/ngircd/sighandlers.c:239: warning: implicit conversion shortens 64-bit value into a 32-bit value


Add sighandlers.{c|h} to Xcode project And update static Mac OS X config.h used by the Xcode project.


Don't call sigaction() if it is not available on the system


Fix signalpipe file descriptor leak on RESTART Signals_Init() must only be called once. This does not affect any ngircd release version. Earlier version of this patch moved the io and sighandler initialization before the while() loop, but as Alexander Barton noticed that broke all systems without builtin select support in io.c...


sighandlers.{c|h}: Code cleanup - declare signals_catch[] array not between the function implementations. - rename now local function NGIRCd_Rehash() to Rehash(). - remove empty and therefore not used "catch SIGHUP; break;".


Make sighandlers.{c|h} compatible with ansi2knr


Updated ChangeLog to include signal handler changes


Bump version number to "17-dev"


Update ChangeLog and NEWS: include SIGUSR1/SIGUSR2 changes


Output connection status when dumping the internal server state


Reformat "server state" debug messages a little bit


Enable the daemon to dump its internal state in debug-mode. This patch allows ngIRCd to dump its internal state (connected clients, actual configuration) when compiled with --enable-debug. The daemon catches two more signals: - SIGUSR1: toggle debug mode (on/off), - SIGUSR2: dump internal state to console/syslog.


signalhandlers: add fallback to deprecated sysv API


remove NGIRCd_SignalRehash now that the main signal handling is done from the dispatcher loop we can call NGIRCD_Rehash() directly. the /REHASH handler can queue the Rehash() function for execution by sending a SIGHUP. It will be run when we return back to the dispatch loop.


Add new 'delayed' signal handlers. Allows to defer/queue signal processing for execution on the next event dispatch call, i.e. we can perform any signal action in normal, non-signal context. Example uses: - Reload everything on HUP without writing a global "SIGHUP_received" variable - Dump status of internal Lists on SIGUSR1, etc.