X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=src%2Fngircd%2Fconf.c;h=4a255b26b81ae56834db34434a904b620dea8a29;hp=a70973e78cf8b47d33eeac5cb54a27f8388e4fef;hb=8ea1c5bb82e224326d1a73c462c74dfcb5badef6;hpb=056de78e315a79edc1166649514bf8dfeb18abb1 diff --git a/src/ngircd/conf.c b/src/ngircd/conf.c index a70973e7..4a255b26 100644 --- a/src/ngircd/conf.c +++ b/src/ngircd/conf.c @@ -49,7 +49,7 @@ #include "conf.h" -static bool Use_Log = true; +static bool Use_Log = true, Using_MotdFile = true; static CONF_SERVER New_Server; static int New_Server_Idx; @@ -300,8 +300,14 @@ Conf_Test( void ) printf(" AdminInfo1 = %s\n", Conf_ServerAdmin1); printf(" AdminInfo2 = %s\n", Conf_ServerAdmin2); printf(" AdminEMail = %s\n", Conf_ServerAdminMail); - printf(" MotdFile = %s\n", Conf_MotdFile); - printf(" MotdPhrase = %.32s\n", array_bytes(&Conf_Motd) ? (const char*) array_start(&Conf_Motd) : ""); + if (Using_MotdFile) { + printf(" MotdFile = %s\n", Conf_MotdFile); + printf(" MotdPhrase =\n"); + } else { + printf(" MotdFile = \n"); + printf(" MotdPhrase = %s\n", array_bytes(&Conf_Motd) + ? (const char*) array_start(&Conf_Motd) : ""); + } printf(" ChrootDir = %s\n", Conf_Chroot); printf(" PidFile = %s\n", Conf_PidFile); printf(" Listen = %s\n", Conf_ListenAddress); @@ -324,6 +330,10 @@ Conf_Test( void ) printf(" ServerGID = %s\n", grp->gr_name); else printf(" ServerGID = %ld\n", (long)Conf_GID); +#ifdef SYSLOG + printf(" SyslogFacility = %s\n", + ngt_SyslogFacilityName(Conf_SyslogFacility)); +#endif printf(" PingTimeout = %d\n", Conf_PingTimeout); printf(" PongTimeout = %d\n", Conf_PongTimeout); printf(" ConnectRetry = %d\n", Conf_ConnectRetry); @@ -334,6 +344,7 @@ Conf_Test( void ) printf(" NoDNS = %s\n", yesno_to_str(Conf_NoDNS)); printf(" NoIdent = %s\n", yesno_to_str(Conf_NoIdent)); printf(" NoPAM = %s\n", yesno_to_str(Conf_NoPAM)); + printf(" NoZeroConf = %s\n", yesno_to_str(Conf_NoZeroConf)); #ifdef WANT_IPV6 printf(" ConnectIPv4 = %s\n", yesno_to_str(Conf_ConnectIPv6)); @@ -583,6 +594,7 @@ Set_Defaults(bool InitServers) Conf_NoDNS = false; Conf_NoIdent = false; Conf_NoPAM = false; + Conf_NoZeroConf = false; Conf_Oper_Count = 0; Conf_Channel_Count = 0; @@ -600,6 +612,14 @@ Set_Defaults(bool InitServers) Conf_MaxJoins = 10; Conf_MaxNickLength = CLIENT_NICK_LEN_DEFAULT; +#ifdef SYSLOG +#ifdef LOG_LOCAL5 + Conf_SyslogFacility = LOG_LOCAL5; +#else + Conf_SyslogFacility = 0; +#endif +#endif + /* Initialize server configuration structures */ if (InitServers) { for (i = 0; i < MAX_SERVERS; @@ -635,6 +655,7 @@ Read_Motd(const char *filename) } array_free(&Conf_Motd); + Using_MotdFile = true; while (fgets(line, (int)sizeof line, fp)) { ngt_TrimLastChr( line, '\n'); @@ -830,7 +851,8 @@ Check_ArgIsTrue( const char *Arg ) } /* Check_ArgIsTrue */ -static unsigned int Handle_MaxNickLength(int Line, const char *Arg) +static unsigned int +Handle_MaxNickLength(int Line, const char *Arg) { unsigned new; @@ -936,6 +958,7 @@ Handle_GLOBAL( int Line, char *Var, char *Arg ) if (!array_copyb(&Conf_Motd, Arg, len + 1)) Config_Error(LOG_WARNING, "%s, line %d: Could not append MotdPhrase: %s", NGIRCd_ConfFile, Line, strerror(errno)); + Using_MotdFile = false; return; } if( strcasecmp( Var, "ChrootDir" ) == 0 ) { @@ -1036,6 +1059,11 @@ Handle_GLOBAL( int Line, char *Var, char *Arg ) Conf_NoPAM = Check_ArgIsTrue(Arg); return; } + if(strcasecmp(Var, "NoZeroConf") == 0) { + /* don't register services using ZeroConf */ + Conf_NoZeroConf = Check_ArgIsTrue(Arg); + return; + } #ifdef WANT_IPV6 /* the default setting for all the WANT_IPV6 special options is 'true' */ if( strcasecmp( Var, "ConnectIPv6" ) == 0 ) { @@ -1147,6 +1175,13 @@ Handle_GLOBAL( int Line, char *Var, char *Arg ) Conf_SSLOptions.DHFile = strdup_warn( Arg ); return; } +#endif +#ifdef SYSLOG + if (strcasecmp(Var, "SyslogFacility") == 0) { + Conf_SyslogFacility = ngt_SyslogFacilityID(Arg, + Conf_SyslogFacility); + return; + } #endif Config_Error(LOG_ERR, "%s, line %d (section \"Global\"): Unknown variable \"%s\"!", NGIRCd_ConfFile, Line, Var); @@ -1524,6 +1559,29 @@ va_dcl } /* Config_Error */ +#ifdef DEBUG + +GLOBAL void +Conf_DebugDump(void) +{ + int i; + + Log(LOG_DEBUG, "Configured servers:"); + for (i = 0; i < MAX_SERVERS; i++) { + if (! Conf_Server[i].name[0]) + continue; + Log(LOG_DEBUG, + " - %s: %s:%d, last=%ld, group=%d, flags=%d, conn=%d", + Conf_Server[i].name, Conf_Server[i].host, + Conf_Server[i].port, Conf_Server[i].lasttry, + Conf_Server[i].group, Conf_Server[i].flags, + Conf_Server[i].conn_id); + } +} /* Conf_DebugDump */ + +#endif + + static void Init_Server_Struct( CONF_SERVER *Server ) {