X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=src%2Fngircd%2Fconf.h;h=8029c0f77b3086d17512d8466ef04821402d1b15;hp=4e7e3796478d8f200b11661c4ade71488dcfbad3;hb=e954b59d414fb32b89291514d0d690c9ebabba49;hpb=d0bb185cf55655fc68ad54508c84314c2520d54c diff --git a/src/ngircd/conf.h b/src/ngircd/conf.h index 4e7e3796..8029c0f7 100644 --- a/src/ngircd/conf.h +++ b/src/ngircd/conf.h @@ -1,6 +1,6 @@ /* * ngIRCd -- The Next Generation IRC Daemon - * Copyright (c)2001-2011 Alexander Barton (alex@barton.de) and Contributors. + * Copyright (c)2001-2013 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 @@ -29,7 +29,7 @@ /** * Configured IRC operator. - * Please note the the name of the IRC operaor and his nick have nothing to + * Please note that the name of the IRC operaor and his nick have nothing to * do with each other! The IRC operator is only identified by the name and * password configured in this structure. */ @@ -62,7 +62,7 @@ typedef struct _Conf_Server #ifdef SSL_SUPPORT bool SSLConnect; /**< Establish connection using SSL? */ #endif - char svs_mask[CLIENT_ID_LEN]; /**< Mask of nick names that should be + char svs_mask[CLIENT_ID_LEN]; /**< Mask of nicknames that should be treated and counted as services */ } CONF_SERVER; @@ -75,6 +75,7 @@ struct SSLOptions { char *DHFile; /**< File containing DH parameters */ array ListenPorts; /**< Array of listening SSL ports */ array KeyFilePassword; /**< Key file password */ + char *CipherList; /**< Set SSL cipher list to use */ }; #endif @@ -108,9 +109,15 @@ GLOBAL char Conf_ServerAdmin1[CLIENT_INFO_LEN]; GLOBAL char Conf_ServerAdmin2[CLIENT_INFO_LEN]; GLOBAL char Conf_ServerAdminMail[CLIENT_INFO_LEN]; +/** Network name (optional, no spaces allowed) */ +GLOBAL char Conf_Network[CLIENT_INFO_LEN]; + /** Message of the day (MOTD) of this server */ GLOBAL array Conf_Motd; +/** Help text of this server */ +GLOBAL array Conf_Helptext; + /** Array of ports this server should listen on */ GLOBAL array Conf_ListenPorts; @@ -145,12 +152,15 @@ GLOBAL CONF_SERVER Conf_Server[MAX_SERVERS]; /** Array of pre-defined channels */ GLOBAL array Conf_Channels; -/** Flag indicating if only pre-defined channels are allowed (true) or not */ -GLOBAL bool Conf_PredefChannelsOnly; +/** String containing all locally allowed channel prefixes for new channels */ +GLOBAL char Conf_AllowedChannelTypes[8]; /** Flag indicating if IRC operators are allowed to always use MODE (true) */ GLOBAL bool Conf_OperCanMode; +/** Flag indicating if IRC operators get AutoOp in persistent (+P) channels */ +GLOBAL bool Conf_OperChanPAutoOp; + /** * If true, mask channel MODE commands of IRC operators to the server. * Background: ircd2 will ignore channel MODE commands if an IRC operator @@ -172,7 +182,7 @@ GLOBAL char Conf_CloakHostModeX[CLIENT_ID_LEN]; /** Salt for hostname hash for cloaked hostnames */ GLOBAL char Conf_CloakHostSalt[CLIENT_ID_LEN]; -/** Use nick name as user name? */ +/** Use nickname as user name? */ GLOBAL bool Conf_CloakUserToNick; /** Enable all DNS functions? */ @@ -184,8 +194,8 @@ GLOBAL bool Conf_Ident; /** Enable "more privacy" mode and "censor" some user-related information */ GLOBAL bool Conf_MorePrivacy; -/** Enable NOTICE AUTH messages on connect */ -GLOBAL bool Conf_NoticeAuth; +/** Enable "NOTICE *" messages on connect */ +GLOBAL bool Conf_NoticeBeforeRegistration; /** Enable all usage of PAM, even when compiled with support for it */ GLOBAL bool Conf_PAM; @@ -193,9 +203,15 @@ GLOBAL bool Conf_PAM; /** Don't require all clients to send a password an to be PAM authenticated */ GLOBAL bool Conf_PAMIsOptional; +/** The service name to use for PAM */ +GLOBAL char Conf_PAMServiceName[MAX_PAM_SERVICE_NAME_LEN]; + /** Disable all CTCP commands except for /me ? */ GLOBAL bool Conf_ScrubCTCP; +/** Default user modes for new local clients */ +GLOBAL char Conf_DefaultUserModes[CLIENT_MODE_LEN]; + /* * try to connect to remote systems using the ipv6 protocol, * if they have an ipv6 address? (default yes) @@ -205,8 +221,11 @@ GLOBAL bool Conf_ConnectIPv6; /** Try to connect to remote systems using the IPv4 protocol (true) */ GLOBAL bool Conf_ConnectIPv4; +/** Idle timout (seconds), after which the daemon should exit */ +GLOBAL int Conf_IdleTimeout; + /** Maximum number of simultaneous connections to this server */ -GLOBAL long Conf_MaxConnections; +GLOBAL int Conf_MaxConnections; /** Maximum number of channels a user can join */ GLOBAL int Conf_MaxJoins; @@ -214,9 +233,15 @@ GLOBAL int Conf_MaxJoins; /** Maximum number of connections per IP address */ GLOBAL int Conf_MaxConnectionsIP; -/** Maximum length of a nick name */ +/** Maximum length of a nickname */ GLOBAL unsigned int Conf_MaxNickLength; +/** Maximum number of channels returned to /list */ +GLOBAL int Conf_MaxListSize; + +/** Maximium seconds to add per "penalty". -1 = unlimited. */ +GLOBAL time_t Conf_MaxPenaltyTime; + #ifndef STRICT_RFC /** Require "AUTH PING-PONG" on login */ @@ -236,7 +261,7 @@ GLOBAL bool Conf_Rehash PARAMS((void)); GLOBAL int Conf_Test PARAMS((void)); GLOBAL void Conf_UnsetServer PARAMS(( CONN_ID Idx )); -GLOBAL void Conf_SetServer PARAMS(( int ConfServer, CONN_ID Idx )); +GLOBAL bool Conf_SetServer PARAMS(( int ConfServer, CONN_ID Idx )); GLOBAL int Conf_GetServer PARAMS(( CONN_ID Idx )); GLOBAL bool Conf_EnableServer PARAMS(( const char *Name, UINT16 Port )); @@ -244,7 +269,12 @@ GLOBAL bool Conf_EnablePassiveServer PARAMS((const char *Name)); GLOBAL bool Conf_DisableServer PARAMS(( const char *Name )); GLOBAL bool Conf_AddServer PARAMS(( const char *Name, UINT16 Port, const char *Host, const char *MyPwd, const char *PeerPwd )); -GLOBAL bool Conf_IsService PARAMS((int ConfServer, const char *Nick)); +GLOBAL bool Conf_NickIsService PARAMS((int ConfServer, const char *Nick)); +GLOBAL bool Conf_NickIsBlocked PARAMS((const char *Nick)); + +#ifdef SSL_SUPPORT +GLOBAL bool Conf_SSLInUse PARAMS((void)); +#endif /* Password required by WEBIRC command */ GLOBAL char Conf_WebircPwd[CLIENT_PASS_LEN];