X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fngircd%2Fconf.c;h=3a796f038c00ead7b6a650d320a90a57f875e7f1;hb=c8162a80beba80f3b1d04fdba8e74bf5366c47f7;hp=5f8c392976d2c377e4d35e6799ec81936916c4b4;hpb=100de3e4ccaab10524821d4262f6a8c3342224f8;p=ngircd-alex.git diff --git a/src/ngircd/conf.c b/src/ngircd/conf.c index 5f8c3929..3a796f03 100644 --- a/src/ngircd/conf.c +++ b/src/ngircd/conf.c @@ -1,6 +1,6 @@ /* * ngIRCd -- The Next Generation IRC Daemon - * Copyright (c)2001-2014 Alexander Barton (alex@barton.de) and Contributors. + * Copyright (c)2001-2018 Alexander Barton (alex@barton.de) and Contributors. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -364,7 +364,7 @@ Conf_Test( void ) ? (const char*) array_start(&Conf_Motd) : ""); } printf(" Network = %s\n", Conf_Network); - if (!Conf_PAM) + if (!Conf_PAM) printf(" Password = %s\n", Conf_ServerPwd); printf(" PidFile = %s\n", Conf_PidFile); printf(" Ports = "); @@ -412,13 +412,14 @@ Conf_Test( void ) #endif printf(" IncludeDir = %s\n", Conf_IncludeDir); printf(" MorePrivacy = %s\n", yesno_to_str(Conf_MorePrivacy)); - printf(" NoticeAuth = %s\n", yesno_to_str(Conf_NoticeAuth)); + printf(" NoticeBeforeRegistration = %s\n", yesno_to_str(Conf_NoticeBeforeRegistration)); printf(" OperCanUseMode = %s\n", yesno_to_str(Conf_OperCanMode)); printf(" OperChanPAutoOp = %s\n", yesno_to_str(Conf_OperChanPAutoOp)); printf(" OperServerMode = %s\n", yesno_to_str(Conf_OperServerMode)); #ifdef PAM printf(" PAM = %s\n", yesno_to_str(Conf_PAM)); printf(" PAMIsOptional = %s\n", yesno_to_str(Conf_PAMIsOptional)); + printf(" PAMServiceName = %s\n", Conf_PAMServiceName); #endif #ifndef STRICT_RFC printf(" RequireAuthPing = %s\n", yesno_to_str(Conf_AuthPing)); @@ -618,6 +619,7 @@ Conf_EnablePassiveServer(const char *Name) && (Conf_Server[i].port > 0)) { /* BINGO! Enable server */ Conf_Server[i].flags &= ~CONF_SFLAG_DISABLED; + Conf_Server[i].lasttry = 0; return true; } } @@ -709,7 +711,6 @@ Conf_NickIsService(int ConfServer, const char *Nick) /** * Check if the given nickname is blocked for "normal client" use. * - * @param ConfServer The server index or NONE to check all configured servers. * @param Nick The nickname to check. * @returns true if the given nickname belongs to an "IRC service". */ @@ -796,7 +797,7 @@ Set_Defaults(bool InitServers) #endif strcpy(Conf_IncludeDir, ""); Conf_MorePrivacy = false; - Conf_NoticeAuth = false; + Conf_NoticeBeforeRegistration = false; Conf_OperCanMode = false; Conf_OperChanPAutoOp = true; Conf_OperServerMode = false; @@ -806,6 +807,7 @@ Set_Defaults(bool InitServers) Conf_PAM = false; #endif Conf_PAMIsOptional = false; + strcpy(Conf_PAMServiceName, "ngircd"); Conf_ScrubCTCP = false; #ifdef SYSLOG #ifdef LOG_LOCAL5 @@ -842,7 +844,7 @@ no_listenports(void) * * This function is used to read the MOTD and help text file, for example. * - * @param filename Name of the file to read. + * @param Filename Name of the file to read. * @return true, when the file has been read in. */ static bool @@ -884,9 +886,9 @@ Read_TextFile(const char *Filename, const char *Name, array *Destination) * Please note that this function uses exit(1) on fatal errors and therefore * can result in ngIRCd terminating! * - * @param ngircd_starting Flag indicating if ngIRCd is starting or not. - * @returns true when the configuration file has been read - * successfully; false otherwise. + * @param IsStarting Flag indicating if ngIRCd is starting or not. + * @returns true when the configuration file has been read + * successfully; false otherwise. */ static bool Read_Config(bool TestOnly, bool IsStarting) @@ -1796,7 +1798,19 @@ Handle_OPTIONS(const char *File, int Line, char *Var, char *Arg) return; } if (strcasecmp(Var, "NoticeAuth") == 0) { - Conf_NoticeAuth = Check_ArgIsTrue(Arg); + /* + * TODO: This section and support for "NoticeAuth" variable + * could be removed starting with ngIRCd release 24 (one + * release after marking it "deprecated") ... + */ + Config_Error(LOG_WARNING, + "%s, line %d (section \"Options\"): \"%s\" is deprecated, please use \"NoticeBeforeRegistration\"!", + File, Line, Var); + Conf_NoticeBeforeRegistration = Check_ArgIsTrue(Arg); + return; + } + if (strcasecmp(Var, "NoticeBeforeRegistration") == 0) { + Conf_NoticeBeforeRegistration = Check_ArgIsTrue(Arg); return; } if (strcasecmp(Var, "OperCanUseMode") == 0) { @@ -1820,6 +1834,12 @@ Handle_OPTIONS(const char *File, int Line, char *Var, char *Arg) Conf_PAMIsOptional = Check_ArgIsTrue(Arg); return; } + if (strcasecmp(Var, "PAMServiceName") == 0) { + len = strlcpy(Conf_PAMServiceName, Arg, sizeof(Conf_PAMServiceName)); + if (len >= sizeof(Conf_PAMServiceName)) + Config_Error_TooLong(File, Line, Var); + return; + } if (strcasecmp(Var, "PredefChannelsOnly") == 0) { /* * TODO: This section and support for "PredefChannelsOnly"