X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/af81d5a0b09446188fd6f9c292b51519f2c1cedd..6e9b4415cce8808ad39f90612f0218274f3cb1c1:/src/s_newconf.c diff --git a/src/s_newconf.c b/src/s_newconf.c index 6a0d2ff..8fa1b0d 100644 --- a/src/s_newconf.c +++ b/src/s_newconf.c @@ -37,16 +37,12 @@ #include "common.h" #include "s_conf.h" #include "s_newconf.h" -#include "tools.h" #include "client.h" -#include "memory.h" #include "s_serv.h" #include "send.h" #include "hostmask.h" #include "newconf.h" #include "hash.h" -#include "balloc.h" -#include "event.h" #include "sprintf_irc.h" #include "irc_dictionary.h" @@ -60,9 +56,9 @@ rb_dlink_list resv_conf_list; /* nicks only! */ rb_dlink_list nd_list; /* nick delay */ rb_dlink_list tgchange_list; -patricia_tree_t *tgchange_tree; +rb_patricia_tree_t *tgchange_tree; -static BlockHeap *nd_heap = NULL; +static rb_bh *nd_heap = NULL; static void expire_temp_rxlines(void *unused); static void expire_nd_entries(void *unused); @@ -71,7 +67,7 @@ void init_s_newconf(void) { tgchange_tree = New_Patricia(PATRICIA_BITS); - nd_heap = BlockHeapCreate(sizeof(struct nd_entry), ND_HEAP_SIZE); + nd_heap = rb_bh_create(sizeof(struct nd_entry), ND_HEAP_SIZE); eventAddIsh("expire_nd_entries", expire_nd_entries, NULL, 30); eventAddIsh("expire_temp_rxlines", expire_temp_rxlines, NULL, 60); } @@ -83,32 +79,32 @@ clear_s_newconf(void) rb_dlink_node *ptr; rb_dlink_node *next_ptr; - DLINK_FOREACH_SAFE(ptr, next_ptr, shared_conf_list.head) + RB_DLINK_FOREACH_SAFE(ptr, next_ptr, shared_conf_list.head) { /* ptr here is ptr->data->node */ rb_dlinkDelete(ptr, &shared_conf_list); free_remote_conf(ptr->data); } - DLINK_FOREACH_SAFE(ptr, next_ptr, cluster_conf_list.head) + RB_DLINK_FOREACH_SAFE(ptr, next_ptr, cluster_conf_list.head) { rb_dlinkDelete(ptr, &cluster_conf_list); free_remote_conf(ptr->data); } - DLINK_FOREACH_SAFE(ptr, next_ptr, hubleaf_conf_list.head) + RB_DLINK_FOREACH_SAFE(ptr, next_ptr, hubleaf_conf_list.head) { rb_dlinkDelete(ptr, &hubleaf_conf_list); free_remote_conf(ptr->data); } - DLINK_FOREACH_SAFE(ptr, next_ptr, oper_conf_list.head) + RB_DLINK_FOREACH_SAFE(ptr, next_ptr, oper_conf_list.head) { free_oper_conf(ptr->data); rb_dlinkDestroy(ptr, &oper_conf_list); } - DLINK_FOREACH_SAFE(ptr, next_ptr, server_conf_list.head) + RB_DLINK_FOREACH_SAFE(ptr, next_ptr, server_conf_list.head) { server_p = ptr->data; @@ -128,7 +124,7 @@ clear_s_newconf_bans(void) struct ConfItem *aconf; rb_dlink_node *ptr, *next_ptr; - DLINK_FOREACH_SAFE(ptr, next_ptr, xline_conf_list.head) + RB_DLINK_FOREACH_SAFE(ptr, next_ptr, xline_conf_list.head) { aconf = ptr->data; @@ -139,7 +135,7 @@ clear_s_newconf_bans(void) rb_dlinkDestroy(ptr, &xline_conf_list); } - DLINK_FOREACH_SAFE(ptr, next_ptr, resv_conf_list.head) + RB_DLINK_FOREACH_SAFE(ptr, next_ptr, resv_conf_list.head) { aconf = ptr->data; @@ -157,7 +153,7 @@ clear_s_newconf_bans(void) struct remote_conf * make_remote_conf(void) { - struct remote_conf *remote_p = MyMalloc(sizeof(struct remote_conf)); + struct remote_conf *remote_p = rb_malloc(sizeof(struct remote_conf)); return remote_p; } @@ -168,10 +164,10 @@ free_remote_conf(struct remote_conf *remote_p) if(remote_p == NULL) return; - MyFree(remote_p->username); - MyFree(remote_p->host); - MyFree(remote_p->server); - MyFree(remote_p); + rb_free(remote_p->username); + rb_free(remote_p->host); + rb_free(remote_p->server); + rb_free(remote_p); } int @@ -181,7 +177,7 @@ find_shared_conf(const char *username, const char *host, struct remote_conf *shared_p; rb_dlink_node *ptr; - DLINK_FOREACH(ptr, shared_conf_list.head) + RB_DLINK_FOREACH(ptr, shared_conf_list.head) { shared_p = ptr->data; @@ -231,7 +227,7 @@ cluster_generic(struct Client *source_p, const char *command, ircvsnprintf(buffer, sizeof(buffer), format, args); va_end(args); - DLINK_FOREACH(ptr, cluster_conf_list.head) + RB_DLINK_FOREACH(ptr, cluster_conf_list.head) { shared_p = ptr->data; @@ -250,7 +246,7 @@ cluster_generic(struct Client *source_p, const char *command, struct oper_conf * make_oper_conf(void) { - struct oper_conf *oper_p = MyMalloc(sizeof(struct oper_conf)); + struct oper_conf *oper_p = rb_malloc(sizeof(struct oper_conf)); return oper_p; } @@ -261,24 +257,24 @@ free_oper_conf(struct oper_conf *oper_p) if(oper_p == NULL) return; - MyFree(oper_p->username); - MyFree(oper_p->host); - MyFree(oper_p->name); + rb_free(oper_p->username); + rb_free(oper_p->host); + rb_free(oper_p->name); if(oper_p->passwd) { memset(oper_p->passwd, 0, strlen(oper_p->passwd)); - MyFree(oper_p->passwd); + rb_free(oper_p->passwd); } #ifdef HAVE_LIBCRYPTO - MyFree(oper_p->rsa_pubkey_file); + rb_free(oper_p->rsa_pubkey_file); if(oper_p->rsa_pubkey) RSA_free(oper_p->rsa_pubkey); #endif - MyFree(oper_p); + rb_free(oper_p); } struct oper_conf * @@ -292,7 +288,7 @@ find_oper_conf(const char *username, const char *host, const char *locip, const parse_netmask(locip, (struct sockaddr *)&cip, &cbits); - DLINK_FOREACH(ptr, oper_conf_list.head) + RB_DLINK_FOREACH(ptr, oper_conf_list.head) { oper_p = ptr->data; @@ -373,7 +369,7 @@ get_oper_privs(int flags) struct server_conf * make_server_conf(void) { - struct server_conf *server_p = MyMalloc(sizeof(struct server_conf)); + struct server_conf *server_p = rb_malloc(sizeof(struct server_conf)); server_p->aftype = AF_INET; return server_p; } @@ -388,19 +384,19 @@ free_server_conf(struct server_conf *server_p) if(!EmptyString(server_p->passwd)) { memset(server_p->passwd, 0, strlen(server_p->passwd)); - MyFree(server_p->passwd); + rb_free(server_p->passwd); } if(!EmptyString(server_p->spasswd)) { memset(server_p->spasswd, 0, strlen(server_p->spasswd)); - MyFree(server_p->spasswd); + rb_free(server_p->spasswd); } - MyFree(server_p->name); - MyFree(server_p->host); - MyFree(server_p->class_name); - MyFree(server_p); + rb_free(server_p->name); + rb_free(server_p->host); + rb_free(server_p->class_name); + rb_free(server_p); } void @@ -408,7 +404,7 @@ add_server_conf(struct server_conf *server_p) { if(EmptyString(server_p->class_name)) { - DupString(server_p->class_name, "default"); + server_p->class_name = rb_strdup("default"); server_p->class = default_class; return; } @@ -420,8 +416,8 @@ add_server_conf(struct server_conf *server_p) conf_report_error("Warning connect::class invalid for %s", server_p->name); - MyFree(server_p->class_name); - DupString(server_p->class_name, "default"); + rb_free(server_p->class_name); + server_p->class_name = rb_strdup("default"); } if(strchr(server_p->host, '*') || strchr(server_p->host, '?')) @@ -434,7 +430,7 @@ find_server_conf(const char *name) struct server_conf *server_p; rb_dlink_node *ptr; - DLINK_FOREACH(ptr, server_conf_list.head) + RB_DLINK_FOREACH(ptr, server_conf_list.head) { server_p = ptr->data; @@ -516,7 +512,7 @@ find_xline(const char *gecos, int counter) struct ConfItem *aconf; rb_dlink_node *ptr; - DLINK_FOREACH(ptr, xline_conf_list.head) + RB_DLINK_FOREACH(ptr, xline_conf_list.head) { aconf = ptr->data; @@ -537,7 +533,7 @@ find_xline_mask(const char *gecos) struct ConfItem *aconf; rb_dlink_node *ptr; - DLINK_FOREACH(ptr, xline_conf_list.head) + RB_DLINK_FOREACH(ptr, xline_conf_list.head) { aconf = ptr->data; @@ -554,7 +550,7 @@ find_nick_resv(const char *name) struct ConfItem *aconf; rb_dlink_node *ptr; - DLINK_FOREACH(ptr, resv_conf_list.head) + RB_DLINK_FOREACH(ptr, resv_conf_list.head) { aconf = ptr->data; @@ -574,7 +570,7 @@ find_nick_resv_mask(const char *name) struct ConfItem *aconf; rb_dlink_node *ptr; - DLINK_FOREACH(ptr, resv_conf_list.head) + RB_DLINK_FOREACH(ptr, resv_conf_list.head) { aconf = ptr->data; @@ -697,7 +693,7 @@ expire_temp_rxlines(void *unused) { aconf = ptr->data; - if(aconf->hold && aconf->hold <= CurrentTime) + if(aconf->hold && aconf->hold <= rb_current_time()) { if(ConfigFileEntry.tkline_expire_notices) sendto_realops_snomask(SNO_GENERAL, L_ALL, @@ -710,11 +706,11 @@ expire_temp_rxlines(void *unused) } HASH_WALK_END - DLINK_FOREACH_SAFE(ptr, next_ptr, resv_conf_list.head) + RB_DLINK_FOREACH_SAFE(ptr, next_ptr, resv_conf_list.head) { aconf = ptr->data; - if(aconf->hold && aconf->hold <= CurrentTime) + if(aconf->hold && aconf->hold <= rb_current_time()) { if(ConfigFileEntry.tkline_expire_notices) sendto_realops_snomask(SNO_GENERAL, L_ALL, @@ -725,11 +721,11 @@ expire_temp_rxlines(void *unused) } } - DLINK_FOREACH_SAFE(ptr, next_ptr, xline_conf_list.head) + RB_DLINK_FOREACH_SAFE(ptr, next_ptr, xline_conf_list.head) { aconf = ptr->data; - if(aconf->hold && aconf->hold <= CurrentTime) + if(aconf->hold && aconf->hold <= rb_current_time()) { if(ConfigFileEntry.tkline_expire_notices) sendto_realops_snomask(SNO_GENERAL, L_ALL, @@ -755,10 +751,10 @@ add_nd_entry(const char *name) if(irc_dictionary_find(nd_dict, name) != NULL) return; - nd = BlockHeapAlloc(nd_heap); + nd = rb_bh_alloc(nd_heap); strlcpy(nd->name, name, sizeof(nd->name)); - nd->expire = CurrentTime + ConfigFileEntry.nick_delay; + nd->expire = rb_current_time() + ConfigFileEntry.nick_delay; /* this list is ordered */ rb_dlinkAddTail(nd, &nd->lnode, &nd_list); @@ -772,7 +768,7 @@ free_nd_entry(struct nd_entry *nd) irc_dictionary_delete(nd_dict, nd->name); rb_dlinkDelete(&nd->lnode, &nd_list); - BlockHeapFree(nd_heap, nd); + rb_bh_free(nd_heap, nd); } void @@ -782,14 +778,14 @@ expire_nd_entries(void *unused) rb_dlink_node *ptr; rb_dlink_node *next_ptr; - DLINK_FOREACH_SAFE(ptr, next_ptr, nd_list.head) + RB_DLINK_FOREACH_SAFE(ptr, next_ptr, nd_list.head) { nd = ptr->data; /* this list is ordered - we can stop when we hit the first * entry that doesnt expire.. */ - if(nd->expire > CurrentTime) + if(nd->expire > rb_current_time()) return; free_nd_entry(nd); @@ -805,14 +801,14 @@ add_tgchange(const char *host) if(find_tgchange(host)) return; - target = MyMalloc(sizeof(tgchange)); + target = rb_malloc(sizeof(tgchange)); pnode = make_and_lookup(tgchange_tree, host); pnode->data = target; target->pnode = pnode; - DupString(target->ip, host); - target->expiry = CurrentTime + (60*60*12); + target->ip = rb_strdup(host); + target->expiry = rb_current_time() + (60*60*12); rb_dlinkAdd(target, &target->node, &tgchange_list); }