repo: ngircd
action: commit
revision: 
path_from: 
revision_from: f8002057f20e71f24b52c3aab5df3dc1760a151e:
path_to: 
revision_to: 
git.thebackupbox.net
ngircd
git clone git://git.thebackupbox.net/ngircd
commit f8002057f20e71f24b52c3aab5df3dc1760a151e
Author: Alexander Barton 
Date:   Sat Jun 29 16:02:52 2019 +0200

    Streamline handling of invalid and unset server name

    Don't exit during runtime (REHASH command, HUP signal), because the
    server name can't be changed in this case anyway and the new invalid
    name will be ignored.

diff --git a/src/ngircd/conf.c b/src/ngircd/conf.c
index 59a8ef9e7e3821d1683fa40f44727ac601ec94b5..
index ..ef36a2fe5d1c1842c851624c5322c91979554084 100644
--- a/src/ngircd/conf.c
+++ b/src/ngircd/conf.c
@@ -2234,7 +2234,8 @@ Validate_Config(bool Configtest, bool Rehash)
 		break;
 	} while (*(++ptr));

-	if (!Conf_ServerName[0]) {
+	if (!Conf_ServerName[0] || !strchr(Conf_ServerName, '.'))
+	{
 		/* No server name configured! */
 		config_valid = false;
 		Config_Error(LOG_ALERT,
@@ -2248,20 +2249,6 @@ Validate_Config(bool Configtest, bool Rehash)
 		}
 	}

-	if (Conf_ServerName[0] && !strchr(Conf_ServerName, '.')) {
-		/* No dot in server name! */
-		config_valid = false;
-		Config_Error(LOG_ALERT,
-			     "Invalid server name configured in \"%s\" (section 'Global': 'Name'): Dot missing!",
-			     NGIRCd_ConfFile);
-		if (!Configtest) {
-			Config_Error(LOG_ALERT,
-				     "%s exiting due to fatal errors!",
-				     PACKAGE_NAME);
-			exit(1);
-		}
-	}
-
 #ifdef STRICT_RFC
 	if (!Conf_ServerAdminMail[0]) {
 		/* No administrative contact configured! */
diff --git a/src/ngircd/sighandlers.c b/src/ngircd/sighandlers.c
index e352d586e80c9c62743b8c01ec5d0ffe354be832..
index ..6244846fb4b020275137f3f2189041c16a036c0c 100644
--- a/src/ngircd/sighandlers.c
+++ b/src/ngircd/sighandlers.c
@@ -119,7 +119,7 @@ Rehash(void)
 	if (strcmp(old_name, Conf_ServerName) != 0 ) {
 		strlcpy(Conf_ServerName, old_name, sizeof Conf_ServerName);
 		Log(LOG_ERR,
-		    "Can't change \"ServerName\" on runtime! Ignored new name.");
+		    "Can't change server name (\"Name\") on runtime! Ignored new name.");
 	}
 	if (old_nicklen != Conf_MaxNickLength) {
 		Conf_MaxNickLength = old_nicklen;

-----END OF PAGE-----