* (at your option) any later version.
* Please read the file COPYING, README and AUTHORS for more information.
*
- * $Id: conf.h,v 1.41 2006/11/05 13:03:48 fw Exp $
+ * $Id: conf.h,v 1.49 2008/03/18 20:12:47 fw Exp $
*
* Configuration management (header)
*/
#include "defines.h"
#include "array.h"
#include "portab.h"
+#include "tool.h"
+#include "ng_ipaddr.h"
typedef struct _Conf_Oper
{
typedef struct _Conf_Server
{
char host[HOST_LEN]; /* Hostname */
- char ip[16]; /* IP address (Resolver) */
char name[CLIENT_ID_LEN]; /* IRC-Client-ID */
char pwd_in[CLIENT_PASS_LEN]; /* Password which must be received */
char pwd_out[CLIENT_PASS_LEN]; /* Password to send to peer */
RES_STAT res_stat; /* Status of the resolver */
int flags; /* Flags */
CONN_ID conn_id; /* ID of server connection or NONE */
+ ng_ipaddr_t bind_addr; /* source address to use for outgoing connections */
+ ng_ipaddr_t dst_addr[2]; /* list of addresses to connect to */
} CONF_SERVER;
typedef struct _Conf_Channel
{
char name[CHANNEL_NAME_LEN]; /* Name of the channel */
char modes[CHANNEL_MODE_LEN]; /* Initial channel modes */
+ char key[CLIENT_PASS_LEN]; /* Channel key ("password", mode "k" ) */
+ unsigned long maxusers; /* maximum usercount for this channel, mode "l" */
array topic; /* Initial topic */
} CONF_CHANNEL;
/* Are IRC operators allowed to always use MODE? */
GLOBAL bool Conf_OperCanMode;
+/* Disable all DNS functions? */
+GLOBAL bool Conf_NoDNS;
+
+/* listen for incoming ipv6 connections if OS supports it (default: yes)? */
+GLOBAL bool Conf_ListenIPv6;
+
+/* listen for incoming ipv4 connections if OS supports it (default: yes)? */
+GLOBAL bool Conf_ListenIPv4;
+
+/*
+ * try to connect to remote systems using the ipv6 protocol,
+ * if they have an ipv6 address? (default yes)
+ */
+GLOBAL bool Conf_ConnectIPv6;
+
+/* same as above, but for ipv4 hosts, default: yes */
+GLOBAL bool Conf_ConnectIPv4;
+
/* If an IRC op gives chanop privileges without being a chanop,
* ircd2 will ignore the command. This enables a workaround:
* It masks the command as coming from the server */
/* Maximum number of connections per IP address */
GLOBAL int Conf_MaxConnectionsIP;
+/* Maximum length of a nick name */
+GLOBAL unsigned int Conf_MaxNickLength;
GLOBAL void Conf_Init PARAMS((void));
-GLOBAL void Conf_Rehash PARAMS((void));
+GLOBAL bool Conf_Rehash PARAMS((void));
GLOBAL int Conf_Test PARAMS((void));
GLOBAL void Conf_UnsetServer PARAMS(( CONN_ID Idx ));
GLOBAL int Conf_GetServer PARAMS(( CONN_ID Idx ));
GLOBAL bool Conf_EnableServer PARAMS(( char *Name, UINT16 Port ));
+GLOBAL bool Conf_EnablePassiveServer PARAMS((const char *Name));
GLOBAL bool Conf_DisableServer PARAMS(( char *Name ));
GLOBAL bool Conf_AddServer PARAMS(( char *Name, UINT16 Port, char *Host, char *MyPwd, char *PeerPwd ));