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.
This commit is contained in:
Alexander Barton 2012-09-11 11:40:47 +02:00
parent a12d6ff257
commit f38a9035e5
1 changed files with 7 additions and 0 deletions

View File

@ -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 {