1
0
mirror of https://github.com/osmarks/ngircd.git synced 2025-11-13 20:17:10 +00:00

Report the correct file on error

This commit is contained in:
Federico G. Schwindt
2013-10-17 21:52:15 +01:00
parent cba5a2579f
commit a7dda1b28c

View File

@@ -216,7 +216,7 @@ ports_puts(array *a)
* Parse a comma separated string into an array of port numbers (integers). * Parse a comma separated string into an array of port numbers (integers).
*/ */
static void static void
ports_parse(array *a, int Line, char *Arg) ports_parse(array *a, const char *File, int Line, char *Arg)
{ {
char *ptr; char *ptr;
int port; int port;
@@ -232,10 +232,10 @@ ports_parse(array *a, int Line, char *Arg)
port16 = (UINT16) port; port16 = (UINT16) port;
if (!array_catb(a, (char*)&port16, sizeof port16)) if (!array_catb(a, (char*)&port16, sizeof port16))
Config_Error(LOG_ERR, "%s, line %d Could not add port number %ld: %s", Config_Error(LOG_ERR, "%s, line %d Could not add port number %ld: %s",
NGIRCd_ConfFile, Line, port, strerror(errno)); File, Line, port, strerror(errno));
} else { } else {
Config_Error( LOG_ERR, "%s, line %d (section \"Global\"): Illegal port number %ld!", Config_Error( LOG_ERR, "%s, line %d (section \"Global\"): Illegal port number %ld!",
NGIRCd_ConfFile, Line, port ); File, Line, port );
} }
ptr = strtok( NULL, "," ); ptr = strtok( NULL, "," );
@@ -1141,7 +1141,7 @@ static void Read_Config_File(const char *File, FILE *fd)
Config_Error(LOG_ERR, Config_Error(LOG_ERR,
"%s, line %d: Unknown section \"%s\"!", "%s, line %d: Unknown section \"%s\"!",
NGIRCd_ConfFile, line, section); File, line, section);
section[0] = 0x1; section[0] = 0x1;
} }
if (section[0] == 0x1) if (section[0] == 0x1)
@@ -1151,7 +1151,7 @@ static void Read_Config_File(const char *File, FILE *fd)
ptr = strchr(str, '='); ptr = strchr(str, '=');
if (!ptr) { if (!ptr) {
Config_Error(LOG_ERR, "%s, line %d: Syntax error!", Config_Error(LOG_ERR, "%s, line %d: Syntax error!",
NGIRCd_ConfFile, line); File, line);
continue; continue;
} }
*ptr = '\0'; *ptr = '\0';
@@ -1179,7 +1179,7 @@ static void Read_Config_File(const char *File, FILE *fd)
else else
Config_Error(LOG_ERR, Config_Error(LOG_ERR,
"%s, line %d: Variable \"%s\" outside section!", "%s, line %d: Variable \"%s\" outside section!",
NGIRCd_ConfFile, line, var); File, line, var);
} }
} }
@@ -1211,7 +1211,7 @@ Check_ArgIsTrue(const char *Arg)
* @returns New configured maximum nickname length. * @returns New configured maximum nickname length.
*/ */
static unsigned int static unsigned int
Handle_MaxNickLength(int Line, const char *Arg) Handle_MaxNickLength(const char *File, int Line, const char *Arg)
{ {
unsigned new; unsigned new;
@@ -1219,13 +1219,13 @@ Handle_MaxNickLength(int Line, const char *Arg)
if (new > CLIENT_NICK_LEN) { if (new > CLIENT_NICK_LEN) {
Config_Error(LOG_WARNING, Config_Error(LOG_WARNING,
"%s, line %d: Value of \"MaxNickLength\" exceeds %u!", "%s, line %d: Value of \"MaxNickLength\" exceeds %u!",
NGIRCd_ConfFile, Line, CLIENT_NICK_LEN - 1); File, Line, CLIENT_NICK_LEN - 1);
return CLIENT_NICK_LEN; return CLIENT_NICK_LEN;
} }
if (new < 2) { if (new < 2) {
Config_Error(LOG_WARNING, Config_Error(LOG_WARNING,
"%s, line %d: Value of \"MaxNickLength\" must be at least 1!", "%s, line %d: Value of \"MaxNickLength\" must be at least 1!",
NGIRCd_ConfFile, Line); File, Line);
return 2; return 2;
} }
return new; return new;
@@ -1235,14 +1235,14 @@ Handle_MaxNickLength(int Line, const char *Arg)
* Output a warning messages if IDENT is configured but not compiled in. * Output a warning messages if IDENT is configured but not compiled in.
*/ */
static void static void
WarnIdent(int UNUSED Line) WarnIdent(const char UNUSED *File, int UNUSED Line)
{ {
#ifndef IDENTAUTH #ifndef IDENTAUTH
if (Conf_Ident) { if (Conf_Ident) {
/* user has enabled ident lookups explicitly, but ... */ /* user has enabled ident lookups explicitly, but ... */
Config_Error(LOG_WARNING, Config_Error(LOG_WARNING,
"%s: line %d: \"Ident = yes\", but ngircd was built without IDENT support!", "%s: line %d: \"Ident = yes\", but ngircd was built without IDENT support!",
NGIRCd_ConfFile, Line); File, Line);
} }
#endif #endif
} }
@@ -1251,14 +1251,14 @@ WarnIdent(int UNUSED Line)
* Output a warning messages if IPv6 is configured but not compiled in. * Output a warning messages if IPv6 is configured but not compiled in.
*/ */
static void static void
WarnIPv6(int UNUSED Line) WarnIPv6(const char UNUSED *File, int UNUSED Line)
{ {
#ifndef WANT_IPV6 #ifndef WANT_IPV6
if (Conf_ConnectIPv6) { if (Conf_ConnectIPv6) {
/* user has enabled IPv6 explicitly, but ... */ /* user has enabled IPv6 explicitly, but ... */
Config_Error(LOG_WARNING, Config_Error(LOG_WARNING,
"%s: line %d: \"ConnectIPv6 = yes\", but ngircd was built without IPv6 support!", "%s: line %d: \"ConnectIPv6 = yes\", but ngircd was built without IPv6 support!",
NGIRCd_ConfFile, Line); File, Line);
} }
#endif #endif
} }
@@ -1267,13 +1267,13 @@ WarnIPv6(int UNUSED Line)
* Output a warning messages if PAM is configured but not compiled in. * Output a warning messages if PAM is configured but not compiled in.
*/ */
static void static void
WarnPAM(int UNUSED Line) WarnPAM(const char UNUSED *File, int UNUSED Line)
{ {
#ifndef PAM #ifndef PAM
if (Conf_PAM) { if (Conf_PAM) {
Config_Error(LOG_WARNING, Config_Error(LOG_WARNING,
"%s: line %d: \"PAM = yes\", but ngircd was built without PAM support!", "%s: line %d: \"PAM = yes\", but ngircd was built without PAM support!",
NGIRCd_ConfFile, Line); File, Line);
} }
#endif #endif
} }
@@ -1481,7 +1481,7 @@ Handle_GLOBAL(const char *File, int Line, char *Var, char *Arg )
if (!array_copyb(&Conf_Motd, Arg, len + 1)) if (!array_copyb(&Conf_Motd, Arg, len + 1))
Config_Error(LOG_WARNING, Config_Error(LOG_WARNING,
"%s, line %d: Could not append MotdPhrase: %s", "%s, line %d: Could not append MotdPhrase: %s",
NGIRCd_ConfFile, Line, strerror(errno)); File, Line, strerror(errno));
Using_MotdFile = false; Using_MotdFile = false;
return; return;
} }
@@ -1498,7 +1498,7 @@ Handle_GLOBAL(const char *File, int Line, char *Var, char *Arg )
return; return;
} }
if (strcasecmp(Var, "Ports") == 0) { if (strcasecmp(Var, "Ports") == 0) {
ports_parse(&Conf_ListenPorts, Line, Arg); ports_parse(&Conf_ListenPorts, File, Line, Arg);
return; return;
} }
if (strcasecmp(Var, "ServerGID") == 0) { if (strcasecmp(Var, "ServerGID") == 0) {
@@ -1510,7 +1510,7 @@ Handle_GLOBAL(const char *File, int Line, char *Var, char *Arg )
if (!Conf_GID && strcmp(Arg, "0")) if (!Conf_GID && strcmp(Arg, "0"))
Config_Error(LOG_WARNING, Config_Error(LOG_WARNING,
"%s, line %d: Value of \"%s\" is not a valid group name or ID!", "%s, line %d: Value of \"%s\" is not a valid group name or ID!",
NGIRCd_ConfFile, Line, Var); File, Line, Var);
} }
return; return;
} }
@@ -1523,7 +1523,7 @@ Handle_GLOBAL(const char *File, int Line, char *Var, char *Arg )
if (!Conf_UID && strcmp(Arg, "0")) if (!Conf_UID && strcmp(Arg, "0"))
Config_Error(LOG_WARNING, Config_Error(LOG_WARNING,
"%s, line %d: Value of \"%s\" is not a valid user name or ID!", "%s, line %d: Value of \"%s\" is not a valid user name or ID!",
NGIRCd_ConfFile, Line, Var); File, Line, Var);
} }
return; return;
} }
@@ -1534,11 +1534,11 @@ Handle_GLOBAL(const char *File, int Line, char *Var, char *Arg )
* after marking it "deprecated"). */ * after marking it "deprecated"). */
Config_Error(LOG_WARNING, Config_Error(LOG_WARNING,
"%s, line %d (section \"Global\"): \"No\"-Prefix is deprecated, use \"%s = %s\" in [Options] section!", "%s, line %d (section \"Global\"): \"No\"-Prefix is deprecated, use \"%s = %s\" in [Options] section!",
NGIRCd_ConfFile, Line, NoNo(Var), InvertArg(Arg)); File, Line, NoNo(Var), InvertArg(Arg));
if (strcasecmp(Var, "NoIdent") == 0) if (strcasecmp(Var, "NoIdent") == 0)
WarnIdent(Line); WarnIdent(File, Line);
else if (strcasecmp(Var, "NoPam") == 0) else if (strcasecmp(Var, "NoPam") == 0)
WarnPAM(Line); WarnPAM(File, Line);
return; return;
} }
if ((section = CheckLegacyGlobalOption(File, Line, Var, Arg))) { if ((section = CheckLegacyGlobalOption(File, Line, Var, Arg))) {
@@ -1548,12 +1548,12 @@ Handle_GLOBAL(const char *File, int Line, char *Var, char *Arg )
if (strncasecmp(Var, "SSL", 3) == 0) { if (strncasecmp(Var, "SSL", 3) == 0) {
Config_Error(LOG_WARNING, Config_Error(LOG_WARNING,
"%s, line %d (section \"Global\"): \"%s\" is deprecated here, move it to %s and rename to \"%s\"!", "%s, line %d (section \"Global\"): \"%s\" is deprecated here, move it to %s and rename to \"%s\"!",
NGIRCd_ConfFile, Line, Var, section, File, Line, Var, section,
Var + 3); Var + 3);
} else { } else {
Config_Error(LOG_WARNING, Config_Error(LOG_WARNING,
"%s, line %d (section \"Global\"): \"%s\" is deprecated here, move it to %s!", "%s, line %d (section \"Global\"): \"%s\" is deprecated here, move it to %s!",
NGIRCd_ConfFile, Line, Var, section); File, Line, Var, section);
} }
return; return;
} }
@@ -1581,7 +1581,7 @@ Handle_LIMITS(const char *File, int Line, char *Var, char *Arg)
if (Conf_ConnectRetry < 5) { if (Conf_ConnectRetry < 5) {
Config_Error(LOG_WARNING, Config_Error(LOG_WARNING,
"%s, line %d: Value of \"ConnectRetry\" too low!", "%s, line %d: Value of \"ConnectRetry\" too low!",
NGIRCd_ConfFile, Line); File, Line);
Conf_ConnectRetry = 5; Conf_ConnectRetry = 5;
} }
return; return;
@@ -1611,7 +1611,7 @@ Handle_LIMITS(const char *File, int Line, char *Var, char *Arg)
return; return;
} }
if (strcasecmp(Var, "MaxNickLength") == 0) { if (strcasecmp(Var, "MaxNickLength") == 0) {
Conf_MaxNickLength = Handle_MaxNickLength(Line, Arg); Conf_MaxNickLength = Handle_MaxNickLength(File, Line, Arg);
return; return;
} }
if (strcasecmp(Var, "MaxListSize") == 0) { if (strcasecmp(Var, "MaxListSize") == 0) {
@@ -1625,7 +1625,7 @@ Handle_LIMITS(const char *File, int Line, char *Var, char *Arg)
if (Conf_PingTimeout < 5) { if (Conf_PingTimeout < 5) {
Config_Error(LOG_WARNING, Config_Error(LOG_WARNING,
"%s, line %d: Value of \"PingTimeout\" too low!", "%s, line %d: Value of \"PingTimeout\" too low!",
NGIRCd_ConfFile, Line); File, Line);
Conf_PingTimeout = 5; Conf_PingTimeout = 5;
} }
return; return;
@@ -1635,7 +1635,7 @@ Handle_LIMITS(const char *File, int Line, char *Var, char *Arg)
if (Conf_PongTimeout < 5) { if (Conf_PongTimeout < 5) {
Config_Error(LOG_WARNING, Config_Error(LOG_WARNING,
"%s, line %d: Value of \"PongTimeout\" too low!", "%s, line %d: Value of \"PongTimeout\" too low!",
NGIRCd_ConfFile, Line); File, Line);
Conf_PongTimeout = 5; Conf_PongTimeout = 5;
} }
return; return;
@@ -1720,7 +1720,7 @@ Handle_OPTIONS(const char *File, int Line, char *Var, char *Arg)
} }
if (strcasecmp(Var, "ConnectIPv6") == 0) { if (strcasecmp(Var, "ConnectIPv6") == 0) {
Conf_ConnectIPv6 = Check_ArgIsTrue(Arg); Conf_ConnectIPv6 = Check_ArgIsTrue(Arg);
WarnIPv6(Line); WarnIPv6(File, Line);
return; return;
} }
if (strcasecmp(Var, "ConnectIPv4") == 0) { if (strcasecmp(Var, "ConnectIPv4") == 0) {
@@ -1757,7 +1757,7 @@ Handle_OPTIONS(const char *File, int Line, char *Var, char *Arg)
} }
if (strcasecmp(Var, "Ident") == 0) { if (strcasecmp(Var, "Ident") == 0) {
Conf_Ident = Check_ArgIsTrue(Arg); Conf_Ident = Check_ArgIsTrue(Arg);
WarnIdent(Line); WarnIdent(File, Line);
return; return;
} }
if (strcasecmp(Var, "IncludeDir") == 0) { if (strcasecmp(Var, "IncludeDir") == 0) {
@@ -1794,7 +1794,7 @@ Handle_OPTIONS(const char *File, int Line, char *Var, char *Arg)
} }
if (strcasecmp(Var, "PAM") == 0) { if (strcasecmp(Var, "PAM") == 0) {
Conf_PAM = Check_ArgIsTrue(Arg); Conf_PAM = Check_ArgIsTrue(Arg);
WarnPAM(Line); WarnPAM(File, Line);
return; return;
} }
if (strcasecmp(Var, "PAMIsOptional") == 0 ) { if (strcasecmp(Var, "PAMIsOptional") == 0 ) {
@@ -1885,7 +1885,7 @@ Handle_SSL(const char *File, int Line, char *Var, char *Arg)
return; return;
} }
if (strcasecmp(Var, "Ports") == 0) { if (strcasecmp(Var, "Ports") == 0) {
ports_parse(&Conf_SSLOptions.ListenPorts, Line, Arg); ports_parse(&Conf_SSLOptions.ListenPorts, File, Line, Arg);
return; return;
} }
if (strcasecmp(Var, "CipherList") == 0) { if (strcasecmp(Var, "CipherList") == 0) {
@@ -1986,15 +1986,15 @@ Handle_SERVER(const char *File, int Line, char *Var, char *Arg )
return; return;
Config_Error(LOG_ERR, "%s, line %d (section \"Server\"): Can't parse IP address \"%s\"", Config_Error(LOG_ERR, "%s, line %d (section \"Server\"): Can't parse IP address \"%s\"",
NGIRCd_ConfFile, Line, Arg); File, Line, Arg);
return; return;
} }
if( strcasecmp( Var, "MyPassword" ) == 0 ) { if( strcasecmp( Var, "MyPassword" ) == 0 ) {
/* Password of this server which is sent to the peer */ /* Password of this server which is sent to the peer */
if (*Arg == ':') { if (*Arg == ':') {
Config_Error(LOG_ERR, Config_Error(LOG_ERR,
"%s, line %d (section \"Server\"): MyPassword must not start with ':'!", "%s, line %d (section \"Server\"): MyPassword must not start with ':'!",
NGIRCd_ConfFile, Line); File, Line);
} }
len = strlcpy( New_Server.pwd_in, Arg, sizeof( New_Server.pwd_in )); len = strlcpy( New_Server.pwd_in, Arg, sizeof( New_Server.pwd_in ));
if (len >= sizeof( New_Server.pwd_in )) if (len >= sizeof( New_Server.pwd_in ))
@@ -2015,8 +2015,8 @@ Handle_SERVER(const char *File, int Line, char *Var, char *Arg )
New_Server.port = (UINT16)port; New_Server.port = (UINT16)port;
else else
Config_Error(LOG_ERR, Config_Error(LOG_ERR,
"%s, line %d (section \"Server\"): Illegal port number %ld!", "%s, line %d (section \"Server\"): Illegal port number %ld!",
NGIRCd_ConfFile, Line, port ); File, Line, port );
return; return;
} }
#ifdef SSL_SUPPORT #ifdef SSL_SUPPORT