* (at your option) any later version.
* Please read the file COPYING, README and AUTHORS for more information.
*
- * $Id: conf.h,v 1.47 2007/11/23 16:28:37 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
{
RES_STAT res_stat; /* Status of the resolver */
int flags; /* Flags */
CONN_ID conn_id; /* ID of server connection or NONE */
- struct in_addr bind_addr; /* source address to use for outgoing connections */
+ 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
GLOBAL array Conf_ListenPorts;
/* Address to which the socket should be bound or empty (=all) */
-GLOBAL char Conf_ListenAddress[16];
+GLOBAL char *Conf_ListenAddress;
/* User and group ID the server should run with */
GLOBAL uid_t Conf_UID;
/* Disable all DNS functions? */
GLOBAL bool Conf_NoDNS;
+/*
+ * 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 */
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 ));