]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - src/newconf.c
macro replacement
[irc/rqf/shadowircd.git] / src / newconf.c
index 9bb3c1fb872ad04457066e999a21762e686e606b..b820330248aa6b881448bf1ce1ab607afaf6a8a5 100644 (file)
@@ -37,7 +37,7 @@
 struct TopConf *conf_cur_block;
 static char *conf_cur_block_name;
 
-static dlink_list conf_items;
+static rb_dlink_list conf_items;
 
 static struct ConfItem *yy_aconf = NULL;
 
@@ -46,10 +46,10 @@ static struct Class *yy_class = NULL;
 static struct remote_conf *yy_shared = NULL;
 static struct server_conf *yy_server = NULL;
 
-static dlink_list yy_aconf_list;
-static dlink_list yy_oper_list;
-static dlink_list yy_shared_list;
-static dlink_list yy_cluster_list;
+static rb_dlink_list yy_aconf_list;
+static rb_dlink_list yy_oper_list;
+static rb_dlink_list yy_shared_list;
+static rb_dlink_list yy_cluster_list;
 static struct oper_conf *yy_oper = NULL;
 
 static struct alias_entry *yy_alias = NULL;
@@ -90,17 +90,17 @@ add_top_conf(const char *name, int (*sfunc) (struct TopConf *),
        tc->tc_efunc = efunc;
        tc->tc_entries = items;
 
-       dlinkAddAlloc(tc, &conf_items);
+       rb_dlinkAddAlloc(tc, &conf_items);
        return 0;
 }
 
 struct TopConf *
 find_top_conf(const char *name)
 {
-       dlink_node *d;
+       rb_dlink_node *d;
        struct TopConf *tc;
 
-       DLINK_FOREACH(d, conf_items.head)
+       RB_DLINK_FOREACH(d, conf_items.head)
        {
                tc = d->data;
                if(strcasecmp(tc->tc_name, name) == 0)
@@ -115,7 +115,7 @@ struct ConfEntry *
 find_conf_item(const struct TopConf *top, const char *name)
 {
        struct ConfEntry *cf;
-       dlink_node *d;
+       rb_dlink_node *d;
 
        if(top->tc_entries)
        {
@@ -130,7 +130,7 @@ find_conf_item(const struct TopConf *top, const char *name)
                }
        }
 
-       DLINK_FOREACH(d, top->tc_items.head)
+       RB_DLINK_FOREACH(d, top->tc_items.head)
        {
                cf = d->data;
                if(strcasecmp(cf->cf_name, name) == 0)
@@ -144,15 +144,15 @@ int
 remove_top_conf(char *name)
 {
        struct TopConf *tc;
-       dlink_node *ptr;
+       rb_dlink_node *ptr;
 
        if((tc = find_top_conf(name)) == NULL)
                return -1;
 
-       if((ptr = dlinkFind(tc, &conf_items)) == NULL)
+       if((ptr = rb_dlinkFind(tc, &conf_items)) == NULL)
                return -1;
 
-       dlinkDestroy(ptr, &conf_items);
+       rb_dlinkDestroy(ptr, &conf_items);
        MyFree(tc);
 
        return 0;
@@ -307,7 +307,7 @@ static struct mode_table umode_table[] = {
        {NULL, 0}
 };
 
-static struct mode_table flag_table[] = {
+static struct mode_table oper_table[] = {
        {"encrypted",           OPER_ENCRYPTED          },
        {"local_kill",          OPER_LOCKILL            },
        {"global_kill",         OPER_GLOBKILL|OPER_LOCKILL      },
@@ -321,10 +321,12 @@ static struct mode_table flag_table[] = {
        {"admin",               OPER_ADMIN              },
        {"hidden_admin",        OPER_HADMIN             },
        {"xline",               OPER_XLINE              },
+       {"resv",                OPER_RESV               },
        {"operwall",            OPER_OPERWALL           },
        {"oper_spy",            OPER_SPY                },
        {"hidden_oper",         OPER_INVIS              },
        {"remoteban",           OPER_REMOTEBAN          },
+       {"mass_notice",         OPER_MASSNOTICE         },
        {NULL, 0}
 };
 
@@ -449,8 +451,8 @@ set_modes_from_table(int *modes, const char *whatis, struct mode_table *tab, con
 static int
 conf_begin_oper(struct TopConf *tc)
 {
-       dlink_node *ptr;
-       dlink_node *next_ptr;
+       rb_dlink_node *ptr;
+       rb_dlink_node *next_ptr;
 
        if(yy_oper != NULL)
        {
@@ -458,14 +460,14 @@ conf_begin_oper(struct TopConf *tc)
                yy_oper = NULL;
        }
 
-       DLINK_FOREACH_SAFE(ptr, next_ptr, yy_oper_list.head)
+       RB_DLINK_FOREACH_SAFE(ptr, next_ptr, yy_oper_list.head)
        {
                free_oper_conf(ptr->data);
-               dlinkDestroy(ptr, &yy_oper_list);
+               rb_dlinkDestroy(ptr, &yy_oper_list);
        }
 
        yy_oper = make_oper_conf();
-       yy_oper->flags |= OPER_ENCRYPTED|OPER_OPERWALL|OPER_REMOTEBAN;
+       yy_oper->flags |= OPER_ENCRYPTED|OPER_RESV|OPER_OPERWALL|OPER_REMOTEBAN|OPER_MASSNOTICE;
 
        return 0;
 }
@@ -474,8 +476,8 @@ static int
 conf_end_oper(struct TopConf *tc)
 {
        struct oper_conf *yy_tmpoper;
-       dlink_node *ptr;
-       dlink_node *next_ptr;
+       rb_dlink_node *ptr;
+       rb_dlink_node *next_ptr;
 
        if(conf_cur_block_name != NULL)
        {
@@ -506,7 +508,7 @@ conf_end_oper(struct TopConf *tc)
         * and host in, yy_oper contains the rest of the information which
         * we need to copy into each element in yy_oper_list
         */
-       DLINK_FOREACH_SAFE(ptr, next_ptr, yy_oper_list.head)
+       RB_DLINK_FOREACH_SAFE(ptr, next_ptr, yy_oper_list.head)
        {
                yy_tmpoper = ptr->data;
 
@@ -536,7 +538,7 @@ conf_end_oper(struct TopConf *tc)
                        yy_tmpoper->rsa_pubkey =
                                (RSA *) PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL);
 
-                       BIO_set_close(file, BIO_CLOSE);
+                       (void)BIO_set_close(file, BIO_CLOSE);
                        BIO_free(file);
 
                        if(yy_tmpoper->rsa_pubkey == NULL)
@@ -550,7 +552,7 @@ conf_end_oper(struct TopConf *tc)
 #endif
 
                /* all is ok, put it on oper_conf_list */
-               dlinkMoveNode(ptr, &yy_oper_list, &oper_conf_list);
+               rb_dlinkMoveNode(ptr, &yy_oper_list, &oper_conf_list);
        }
 
        free_oper_conf(yy_oper);
@@ -564,7 +566,7 @@ conf_set_oper_flags(void *data)
 {
        conf_parm_t *args = data;
 
-       set_modes_from_table(&yy_oper->flags, "flag", flag_table, args);
+       set_modes_from_table(&yy_oper->flags, "flag", oper_table, args);
 }
 
 static void
@@ -597,7 +599,7 @@ conf_set_oper_user(void *data)
                return;
        }
 
-       dlinkAddAlloc(yy_tmpoper, &yy_oper_list);
+       rb_dlinkAddAlloc(yy_tmpoper, &yy_oper_list);
 }
 
 static void
@@ -791,16 +793,16 @@ conf_set_listen_address(void *data)
 static int
 conf_begin_auth(struct TopConf *tc)
 {
-       dlink_node *ptr;
-       dlink_node *next_ptr;
+       rb_dlink_node *ptr;
+       rb_dlink_node *next_ptr;
 
        if(yy_aconf)
                free_conf(yy_aconf);
 
-       DLINK_FOREACH_SAFE(ptr, next_ptr, yy_aconf_list.head)
+       RB_DLINK_FOREACH_SAFE(ptr, next_ptr, yy_aconf_list.head)
        {
                free_conf(ptr->data);
-               dlinkDestroy(ptr, &yy_aconf_list);
+               rb_dlinkDestroy(ptr, &yy_aconf_list);
        }
 
        yy_aconf = make_conf();
@@ -813,8 +815,8 @@ static int
 conf_end_auth(struct TopConf *tc)
 {
        struct ConfItem *yy_tmp;
-       dlink_node *ptr;
-       dlink_node *next_ptr;
+       rb_dlink_node *ptr;
+       rb_dlink_node *next_ptr;
 
        if(EmptyString(yy_aconf->name))
                DupString(yy_aconf->name, "NOMATCH");
@@ -832,7 +834,7 @@ conf_end_auth(struct TopConf *tc)
        conf_add_class_to_conf(yy_aconf);
        add_conf_by_address(yy_aconf->host, CONF_CLIENT, yy_aconf->user, yy_aconf);
 
-       DLINK_FOREACH_SAFE(ptr, next_ptr, yy_aconf_list.head)
+       RB_DLINK_FOREACH_SAFE(ptr, next_ptr, yy_aconf_list.head)
        {
                yy_tmp = ptr->data;
 
@@ -854,7 +856,7 @@ conf_end_auth(struct TopConf *tc)
                conf_add_class_to_conf(yy_tmp);
 
                add_conf_by_address(yy_tmp->host, CONF_CLIENT, yy_tmp->user, yy_tmp);
-               dlinkDestroy(ptr, &yy_aconf_list);
+               rb_dlinkDestroy(ptr, &yy_aconf_list);
        }
 
        yy_aconf = NULL;
@@ -890,7 +892,7 @@ conf_set_auth_user(void *data)
        }
 
        if(yy_aconf != yy_tmp)
-               dlinkAddAlloc(yy_tmp, &yy_aconf_list);
+               rb_dlinkAddAlloc(yy_tmp, &yy_aconf_list);
 }
 
 static void
@@ -1002,12 +1004,12 @@ conf_set_auth_class(void *data)
 static int
 conf_cleanup_shared(struct TopConf *tc)
 {
-       dlink_node *ptr, *next_ptr;
+       rb_dlink_node *ptr, *next_ptr;
 
-       DLINK_FOREACH_SAFE(ptr, next_ptr, yy_shared_list.head)
+       RB_DLINK_FOREACH_SAFE(ptr, next_ptr, yy_shared_list.head)
        {
                free_remote_conf(ptr->data);
-               dlinkDestroy(ptr, &yy_shared_list);
+               rb_dlinkDestroy(ptr, &yy_shared_list);
        }
 
        if(yy_shared != NULL)
@@ -1070,7 +1072,7 @@ conf_set_shared_oper(void *data)
        else
                DupString(yy_shared->username, username);
 
-       dlinkAddAlloc(yy_shared, &yy_shared_list);
+       rb_dlinkAddAlloc(yy_shared, &yy_shared_list);
        yy_shared = NULL;
 }
 
@@ -1079,20 +1081,20 @@ conf_set_shared_flags(void *data)
 {
        conf_parm_t *args = data;
        int flags = 0;
-       dlink_node *ptr, *next_ptr;
+       rb_dlink_node *ptr, *next_ptr;
 
        if(yy_shared != NULL)
                free_remote_conf(yy_shared);
 
        set_modes_from_table(&flags, "flag", shared_table, args);
 
-       DLINK_FOREACH_SAFE(ptr, next_ptr, yy_shared_list.head)
+       RB_DLINK_FOREACH_SAFE(ptr, next_ptr, yy_shared_list.head)
        {
                yy_shared = ptr->data;
 
                yy_shared->flags = flags;
-               dlinkDestroy(ptr, &yy_shared_list);
-               dlinkAddTail(yy_shared, &yy_shared->node, &shared_conf_list);
+               rb_dlinkDestroy(ptr, &yy_shared_list);
+               rb_dlinkAddTail(yy_shared, &yy_shared->node, &shared_conf_list);
        }
 
        yy_shared = NULL;
@@ -1106,6 +1108,7 @@ conf_begin_connect(struct TopConf *tc)
 
        yy_server = make_server_conf();
        yy_server->port = PORTNUM;
+       yy_server->flags |= SERVER_TB;
 
        if(conf_cur_block_name != NULL)
                DupString(yy_server->name, conf_cur_block_name);
@@ -1152,7 +1155,7 @@ conf_end_connect(struct TopConf *tc)
 #endif
 
        add_server_conf(yy_server);
-       dlinkAdd(yy_server, &yy_server->node, &server_conf_list);
+       rb_dlinkAdd(yy_server, &yy_server->node, &server_conf_list);
 
        yy_server = NULL;
        return 0;
@@ -1253,7 +1256,7 @@ conf_set_connect_hub_mask(void *data)
 
        DupString(yy_hub->host, data);
        DupString(yy_hub->server, yy_server->name);
-       dlinkAdd(yy_hub, &yy_hub->node, &hubleaf_conf_list);
+       rb_dlinkAdd(yy_hub, &yy_hub->node, &hubleaf_conf_list);
 }
 
 static void
@@ -1269,7 +1272,7 @@ conf_set_connect_leaf_mask(void *data)
 
        DupString(yy_leaf->host, data);
        DupString(yy_leaf->server, yy_server->name);
-       dlinkAdd(yy_leaf, &yy_leaf->node, &hubleaf_conf_list);
+       rb_dlinkAdd(yy_leaf, &yy_leaf->node, &hubleaf_conf_list);
 }
 
 static void
@@ -1300,12 +1303,12 @@ conf_set_exempt_ip(void *data)
 static int
 conf_cleanup_cluster(struct TopConf *tc)
 {
-       dlink_node *ptr, *next_ptr;
+       rb_dlink_node *ptr, *next_ptr;
 
-       DLINK_FOREACH_SAFE(ptr, next_ptr, yy_cluster_list.head)
+       RB_DLINK_FOREACH_SAFE(ptr, next_ptr, yy_cluster_list.head)
        {
                free_remote_conf(ptr->data);
-               dlinkDestroy(ptr, &yy_cluster_list);
+               rb_dlinkDestroy(ptr, &yy_cluster_list);
        }
 
        if(yy_shared != NULL)
@@ -1325,7 +1328,7 @@ conf_set_cluster_name(void *data)
 
        yy_shared = make_remote_conf();
        DupString(yy_shared->server, data);
-       dlinkAddAlloc(yy_shared, &yy_cluster_list);
+       rb_dlinkAddAlloc(yy_shared, &yy_cluster_list);
 
        yy_shared = NULL;
 }
@@ -1335,19 +1338,19 @@ conf_set_cluster_flags(void *data)
 {
        conf_parm_t *args = data;
        int flags = 0;
-       dlink_node *ptr, *next_ptr;
+       rb_dlink_node *ptr, *next_ptr;
 
        if(yy_shared != NULL)
                free_remote_conf(yy_shared);
 
        set_modes_from_table(&flags, "flag", cluster_table, args);
 
-       DLINK_FOREACH_SAFE(ptr, next_ptr, yy_cluster_list.head)
+       RB_DLINK_FOREACH_SAFE(ptr, next_ptr, yy_cluster_list.head)
        {
                yy_shared = ptr->data;
                yy_shared->flags = flags;
-               dlinkAddTail(yy_shared, &yy_shared->node, &cluster_conf_list);
-               dlinkDestroy(ptr, &yy_cluster_list);
+               rb_dlinkAddTail(yy_shared, &yy_shared->node, &cluster_conf_list);
+               rb_dlinkDestroy(ptr, &yy_cluster_list);
        }
 
        yy_shared = NULL;
@@ -1534,9 +1537,9 @@ static int
 conf_begin_service(struct TopConf *tc)
 {
        struct Client *target_p;
-       dlink_node *ptr;
+       rb_dlink_node *ptr;
 
-       DLINK_FOREACH(ptr, global_serv_list.head)
+       RB_DLINK_FOREACH(ptr, global_serv_list.head)
        {
                target_p = ptr->data;
 
@@ -1573,7 +1576,7 @@ conf_set_service_name(void *data)
        }
 
        DupString(tmp, data);
-       dlinkAddAlloc(tmp, &service_list);
+       rb_dlinkAddAlloc(tmp, &service_list);
 
        if((target_p = find_server(NULL, tmp)))
                target_p->flags |= FLAGS_SERVICE;
@@ -1853,7 +1856,7 @@ add_conf_item(const char *topconf, const char *name, int type, void (*func) (voi
        cf->cf_func = func;
        cf->cf_arg = NULL;
 
-       dlinkAddAlloc(cf, &tc->tc_items);
+       rb_dlinkAddAlloc(cf, &tc->tc_items);
 
        return 0;
 }
@@ -1863,7 +1866,7 @@ remove_conf_item(const char *topconf, const char *name)
 {
        struct TopConf *tc;
        struct ConfEntry *cf;
-       dlink_node *ptr;
+       rb_dlink_node *ptr;
 
        if((tc = find_top_conf(topconf)) == NULL)
                return -1;
@@ -1871,10 +1874,10 @@ remove_conf_item(const char *topconf, const char *name)
        if((cf = find_conf_item(tc, name)) == NULL)
                return -1;
 
-       if((ptr = dlinkFind(cf, &tc->tc_items)) == NULL)
+       if((ptr = rb_dlinkFind(cf, &tc->tc_items)) == NULL)
                return -1;
 
-       dlinkDestroy(ptr, &tc->tc_items);
+       rb_dlinkDestroy(ptr, &tc->tc_items);
        MyFree(cf);
 
        return 0;
@@ -2010,7 +2013,6 @@ static struct ConfEntry conf_general_table[] =
        { "connect_timeout",    CF_TIME,  NULL, 0, &ConfigFileEntry.connect_timeout     },
        { "default_floodcount", CF_INT,   NULL, 0, &ConfigFileEntry.default_floodcount  },
        { "disable_auth",       CF_YESNO, NULL, 0, &ConfigFileEntry.disable_auth        },
-       { "dot_in_ip6_addr",    CF_YESNO, NULL, 0, &ConfigFileEntry.dot_in_ip6_addr     },
        { "dots_in_ident",      CF_INT,   NULL, 0, &ConfigFileEntry.dots_in_ident       },
        { "failed_oper_notice", CF_YESNO, NULL, 0, &ConfigFileEntry.failed_oper_notice  },
        { "glines",             CF_YESNO, NULL, 0, &ConfigFileEntry.glines              },
@@ -2018,7 +2020,6 @@ static struct ConfEntry conf_general_table[] =
        { "gline_min_cidr6",    CF_INT,   NULL, 0, &ConfigFileEntry.gline_min_cidr6     },
        { "gline_time",         CF_TIME,  NULL, 0, &ConfigFileEntry.gline_time          },
        { "global_snotices",    CF_YESNO, NULL, 0, &ConfigFileEntry.global_snotices     },
-       { "idletime",           CF_TIME,  NULL, 0, &ConfigFileEntry.idletime            },
        { "hide_spoof_ips",     CF_YESNO, NULL, 0, &ConfigFileEntry.hide_spoof_ips      },
        { "dline_with_reason",  CF_YESNO, NULL, 0, &ConfigFileEntry.dline_with_reason   },
        { "kline_with_reason",  CF_YESNO, NULL, 0, &ConfigFileEntry.kline_with_reason   },