]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/ngircd/conf.h
ngIRCd Release 27
[ngircd-alex.git] / src / ngircd / conf.h
index aa80b8dd94942536c29ff4fce85c18e316e591ce..9378d17c35f9c27436f6c885c141aed68fbbcbed 100644 (file)
@@ -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 operator 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.
  */
@@ -61,6 +61,7 @@ typedef struct _Conf_Server
        ng_ipaddr_t dst_addr[2];        /**< List of addresses to connect to */
 #ifdef SSL_SUPPORT
        bool SSLConnect;                /**< Establish connection using SSL? */
+       bool SSLVerify;                 /**< Verify server certificate using CA? */
 #endif
        char svs_mask[CLIENT_ID_LEN];   /**< Mask of nicknames that should be
                                             treated and counted as services */
@@ -76,6 +77,8 @@ struct SSLOptions {
        array ListenPorts;              /**< Array of listening SSL ports */
        array KeyFilePassword;          /**< Key file password */
        char *CipherList;               /**< Set SSL cipher list to use */
+       char *CAFile;                   /**< Trusted CA certificates file */
+       char *CRLFile;                  /**< Certificate revocation file */
 };
 #endif
 
@@ -83,11 +86,13 @@ struct SSLOptions {
 /** Pre-defined channels */
 struct Conf_Channel {
        char name[CHANNEL_NAME_LEN];    /**< Name of the channel */
-       char modes[CHANNEL_MODE_LEN];   /**< Initial channel modes */
+       char *modes[512];               /**< Initial channel modes to evaluate */
        char key[CLIENT_PASS_LEN];      /**< Channel key ("password", mode "k" ) */
        char topic[COMMAND_LEN];        /**< Initial topic */
        char keyfile[512];              /**< Path and name of channel key file */
+       bool autojoin;                  /**< 1 to make all users autojoin this channel */
        unsigned long maxusers;         /**< User limit for this channel, mode "l" */
+       unsigned int modes_num;         /**< Number of channel modes to evaluate */
 };
 
 
@@ -194,8 +199,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;
@@ -203,6 +208,9 @@ 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;
 
@@ -218,7 +226,7 @@ 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 */
+/** Idle timeout (seconds), after which the daemon should exit */
 GLOBAL int Conf_IdleTimeout;
 
 /** Maximum number of simultaneous connections to this server */
@@ -236,6 +244,9 @@ GLOBAL unsigned int Conf_MaxNickLength;
 /** Maximum number of channels returned to /list */
 GLOBAL int Conf_MaxListSize;
 
+/** Maximum seconds to add per "penalty". -1 = unlimited. */
+GLOBAL time_t Conf_MaxPenaltyTime;
+
 #ifndef STRICT_RFC
 
 /** Require "AUTH PING-PONG" on login */
@@ -273,9 +284,7 @@ GLOBAL bool Conf_SSLInUse PARAMS((void));
 /* Password required by WEBIRC command */
 GLOBAL char Conf_WebircPwd[CLIENT_PASS_LEN];
 
-#ifdef DEBUG
 GLOBAL void Conf_DebugDump PARAMS((void));
-#endif
 
 
 #endif