Alexander Barton : Show a warning on startup if config file is not a full path
Module: ngircd.git Branch: master Commit: f38a9035e5439cb395b2de6b9bdfa36102bfe80c URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=f38a9035e... Author: Alexander Barton <alex@barton.de> Date: Tue Sep 11 11:40:47 2012 +0200 Show a warning on startup if config file is not a full path ngIRCd is a long-running process and changes its working directory to "/" to not block mounted filesystems and the like when running as daemon ("not in the foreground"); therefore the path to the configuration file must be relative to "/" (or the chroot() directory), which basically is "not relative", to ensure that "kill -HUP" and the "REHASH" command work as expected later on. This fixes parts of bug #127. --- src/ngircd/conf.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/ngircd/conf.c b/src/ngircd/conf.c index 034281c..627e6d3 100644 --- a/src/ngircd/conf.c +++ b/src/ngircd/conf.c @@ -1911,6 +1911,13 @@ Validate_Config(bool Configtest, bool Rehash) bool config_valid = true; char *ptr; + /* Emit a warning when the config file is not a full path name */ + if (NGIRCd_ConfFile[0] && NGIRCd_ConfFile[0] != '/') { + Config_Error(LOG_WARNING, + "Not specifying a full path name to \"%s\" can cause problems when rehashing the server!", + NGIRCd_ConfFile); + } + /* Validate configured server name, see RFC 2812 section 2.3.1 */ ptr = Conf_ServerName; do {
Teilnehmer (1)
-
alex@arthur.barton.de