X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/62d289465fbe0c51a6a86f642f8b88d7b44bcb47..7bab07d4d30245bf5ba272b236dc7b1c1e309c4d:/src/s_conf.c diff --git a/src/s_conf.c b/src/s_conf.c index 83f0c58..c0033d1 100644 --- a/src/s_conf.c +++ b/src/s_conf.c @@ -42,10 +42,9 @@ #include "hostmask.h" #include "modules.h" #include "numeric.h" -#include "s_log.h" +#include "logger.h" #include "send.h" #include "s_gline.h" -#include "patricia.h" #include "reject.h" #include "cache.h" #include "blacklist.h" @@ -59,7 +58,7 @@ extern char linebuf[]; #define INADDR_NONE ((unsigned int) 0xffffffff) #endif -static BlockHeap *confitem_heap = NULL; +static rb_bh *confitem_heap = NULL; rb_dlink_list temp_klines[LAST_TEMP_TYPE]; rb_dlink_list temp_dlines[LAST_TEMP_TYPE]; @@ -83,22 +82,22 @@ static int attach_iline(struct Client *, struct ConfItem *); void init_s_conf(void) { - confitem_heap = BlockHeapCreate(sizeof(struct ConfItem), CONFITEM_HEAP_SIZE); + confitem_heap = rb_bh_create(sizeof(struct ConfItem), CONFITEM_HEAP_SIZE, "confitem_heap"); - eventAddIsh("expire_temp_klines", expire_temp_kd, &temp_klines[TEMP_MIN], 60); - eventAddIsh("expire_temp_dlines", expire_temp_kd, &temp_dlines[TEMP_MIN], 60); + rb_event_addish("expire_temp_klines", expire_temp_kd, &temp_klines[TEMP_MIN], 60); + rb_event_addish("expire_temp_dlines", expire_temp_kd, &temp_dlines[TEMP_MIN], 60); - eventAddIsh("expire_temp_klines_hour", reorganise_temp_kd, + rb_event_addish("expire_temp_klines_hour", reorganise_temp_kd, &temp_klines[TEMP_HOUR], 3600); - eventAddIsh("expire_temp_dlines_hour", reorganise_temp_kd, + rb_event_addish("expire_temp_dlines_hour", reorganise_temp_kd, &temp_dlines[TEMP_HOUR], 3600); - eventAddIsh("expire_temp_klines_day", reorganise_temp_kd, + rb_event_addish("expire_temp_klines_day", reorganise_temp_kd, &temp_klines[TEMP_DAY], 86400); - eventAddIsh("expire_temp_dlines_day", reorganise_temp_kd, + rb_event_addish("expire_temp_dlines_day", reorganise_temp_kd, &temp_dlines[TEMP_DAY], 86400); - eventAddIsh("expire_temp_klines_week", reorganise_temp_kd, + rb_event_addish("expire_temp_klines_week", reorganise_temp_kd, &temp_klines[TEMP_WEEK], 604800); - eventAddIsh("expire_temp_dlines_week", reorganise_temp_kd, + rb_event_addish("expire_temp_dlines_week", reorganise_temp_kd, &temp_dlines[TEMP_WEEK], 604800); } @@ -114,7 +113,7 @@ make_conf() { struct ConfItem *aconf; - aconf = BlockHeapAlloc(confitem_heap); + aconf = rb_bh_alloc(confitem_heap); aconf->status = CONF_ILLEGAL; return (aconf); } @@ -146,7 +145,7 @@ free_conf(struct ConfItem *aconf) rb_free(aconf->user); rb_free(aconf->host); - BlockHeapFree(confitem_heap, aconf); + rb_bh_free(confitem_heap, aconf); } /* @@ -195,7 +194,7 @@ check_client(struct Client *client_p, struct Client *source_p, const char *usern source_p->name, IsGotId(source_p) ? "" : "~", source_p->username, source_p->sockhost); - ServerStats->is_ref++; + ServerStats.is_ref++; exit_client(client_p, source_p, &me, "Too many host connections (local)"); break; @@ -209,7 +208,7 @@ check_client(struct Client *client_p, struct Client *source_p, const char *usern source_p->name, IsGotId(source_p) ? "" : "~", source_p->username, source_p->sockhost); - ServerStats->is_ref++; + ServerStats.is_ref++; exit_client(client_p, source_p, &me, "Too many host connections (global)"); break; @@ -223,7 +222,7 @@ check_client(struct Client *client_p, struct Client *source_p, const char *usern source_p->name, IsGotId(source_p) ? "" : "~", source_p->username, source_p->sockhost); - ServerStats->is_ref++; + ServerStats.is_ref++; exit_client(client_p, source_p, &me, "Too many user connections (global)"); break; @@ -238,7 +237,7 @@ check_client(struct Client *client_p, struct Client *source_p, const char *usern source_p->name, IsGotId(source_p) ? "" : "~", source_p->username, source_p->sockhost); - ServerStats->is_ref++; + ServerStats.is_ref++; exit_client(client_p, source_p, &me, "No more connections allowed in your connection class"); break; @@ -246,14 +245,14 @@ check_client(struct Client *client_p, struct Client *source_p, const char *usern case NOT_AUTHORISED: { int port = -1; -#ifdef IPV6 +#ifdef RB_IPV6 if(source_p->localClient->ip.ss_family == AF_INET6) port = ntohs(((struct sockaddr_in6 *)&source_p->localClient->listener->addr)->sin6_port); else #endif port = ntohs(((struct sockaddr_in *)&source_p->localClient->listener->addr)->sin_port); - ServerStats->is_ref++; + ServerStats.is_ref++; /* jdc - lists server name & port connections are on */ /* a purely cosmetical change */ /* why ipaddr, and not just source_p->sockhost? --fl */ @@ -281,7 +280,7 @@ check_client(struct Client *client_p, struct Client *source_p, const char *usern } case BANNED_CLIENT: exit_client(client_p, client_p, &me, "*** Banned "); - ServerStats->is_ref++; + ServerStats.is_ref++; break; case 0: @@ -408,13 +407,13 @@ verify_access(struct Client *client_p, const char *username) static int add_ip_limit(struct Client *client_p, struct ConfItem *aconf) { - patricia_node_t *pnode; + rb_patricia_node_t *pnode; /* If the limits are 0 don't do anything.. */ if(ConfCidrAmount(aconf) == 0 || ConfCidrBitlen(aconf) == 0) return -1; - pnode = match_ip(ConfIpLimits(aconf), (struct sockaddr *)&client_p->localClient->ip); + pnode = rb_match_ip(ConfIpLimits(aconf), (struct sockaddr *)&client_p->localClient->ip); if(pnode == NULL) pnode = make_and_lookup_ip(ConfIpLimits(aconf), (struct sockaddr *)&client_p->localClient->ip, ConfCidrBitlen(aconf)); @@ -429,7 +428,7 @@ add_ip_limit(struct Client *client_p, struct ConfItem *aconf) /* This should only happen if the limits are set to 0 */ if((unsigned long) pnode->data == 0) { - patricia_remove(ConfIpLimits(aconf), pnode); + rb_patricia_remove(ConfIpLimits(aconf), pnode); } return (0); } @@ -442,20 +441,20 @@ add_ip_limit(struct Client *client_p, struct ConfItem *aconf) static void remove_ip_limit(struct Client *client_p, struct ConfItem *aconf) { - patricia_node_t *pnode; + rb_patricia_node_t *pnode; /* If the limits are 0 don't do anything.. */ if(ConfCidrAmount(aconf) == 0 || ConfCidrBitlen(aconf) == 0) return; - pnode = match_ip(ConfIpLimits(aconf), (struct sockaddr *)&client_p->localClient->ip); + pnode = rb_match_ip(ConfIpLimits(aconf), (struct sockaddr *)&client_p->localClient->ip); if(pnode == NULL) return; pnode->data--; if(((unsigned long) pnode->data) == 0) { - patricia_remove(ConfIpLimits(aconf), pnode); + rb_patricia_remove(ConfIpLimits(aconf), pnode); } } @@ -722,7 +721,7 @@ set_default_conf(void) memset(&ServerInfo.ip, 0, sizeof(ServerInfo.ip)); ServerInfo.specific_ipv4_vhost = 0; -#ifdef IPV6 +#ifdef RB_IPV6 memset(&ServerInfo.ip6, 0, sizeof(ServerInfo.ip6)); ServerInfo.specific_ipv6_vhost = 0; #endif @@ -839,7 +838,7 @@ set_default_conf(void) ConfigFileEntry.reject_duration = 120; ConfigFileEntry.max_unknown_ip = 2; - ServerInfo.max_clients = rb_get_maxconnections() - MAX_BUFFER; + ServerInfo.max_clients = maxconnections - MAX_BUFFER; } #undef YES @@ -890,7 +889,8 @@ validate_conf(void) if(!split_users || !split_servers || (!ConfigChannel.no_create_on_split && !ConfigChannel.no_join_on_split)) { - eventDelete(check_splitmode, NULL); + rb_event_delete(check_splitmode_ev); + check_splitmode_ev = NULL; splitmode = 0; splitchecking = 0; } @@ -935,17 +935,17 @@ conf_connect_allowed(struct sockaddr *addr, int aftype) void add_temp_kline(struct ConfItem *aconf) { - if(aconf->hold >= CurrentTime + (10080 * 60)) + if(aconf->hold >= rb_current_time() + (10080 * 60)) { rb_dlinkAddAlloc(aconf, &temp_klines[TEMP_WEEK]); aconf->port = TEMP_WEEK; } - else if(aconf->hold >= CurrentTime + (1440 * 60)) + else if(aconf->hold >= rb_current_time() + (1440 * 60)) { rb_dlinkAddAlloc(aconf, &temp_klines[TEMP_DAY]); aconf->port = TEMP_DAY; } - else if(aconf->hold >= CurrentTime + (60 * 60)) + else if(aconf->hold >= rb_current_time() + (60 * 60)) { rb_dlinkAddAlloc(aconf, &temp_klines[TEMP_HOUR]); aconf->port = TEMP_HOUR; @@ -969,17 +969,17 @@ add_temp_kline(struct ConfItem *aconf) void add_temp_dline(struct ConfItem *aconf) { - if(aconf->hold >= CurrentTime + (10080 * 60)) + if(aconf->hold >= rb_current_time() + (10080 * 60)) { rb_dlinkAddAlloc(aconf, &temp_dlines[TEMP_WEEK]); aconf->port = TEMP_WEEK; } - else if(aconf->hold >= CurrentTime + (1440 * 60)) + else if(aconf->hold >= rb_current_time() + (1440 * 60)) { rb_dlinkAddAlloc(aconf, &temp_dlines[TEMP_DAY]); aconf->port = TEMP_DAY; } - else if(aconf->hold >= CurrentTime + (60 * 60)) + else if(aconf->hold >= rb_current_time() + (60 * 60)) { rb_dlinkAddAlloc(aconf, &temp_dlines[TEMP_HOUR]); aconf->port = TEMP_HOUR; @@ -1012,7 +1012,7 @@ expire_temp_kd(void *list) { aconf = ptr->data; - if(aconf->hold <= CurrentTime) + if(aconf->hold <= rb_current_time()) { /* Alert opers that a TKline expired - Hwy */ if(ConfigFileEntry.tkline_expire_notices) @@ -1037,7 +1037,7 @@ reorganise_temp_kd(void *list) { aconf = ptr->data; - if(aconf->hold < (CurrentTime + (60 * 60))) + if(aconf->hold < (rb_current_time() + (60 * 60))) { rb_dlinkMoveNode(ptr, list, (aconf->status == CONF_KILL) ? &temp_klines[TEMP_MIN] : &temp_dlines[TEMP_MIN]); @@ -1045,14 +1045,14 @@ reorganise_temp_kd(void *list) } else if(aconf->port > TEMP_HOUR) { - if(aconf->hold < (CurrentTime + (1440 * 60))) + if(aconf->hold < (rb_current_time() + (1440 * 60))) { rb_dlinkMoveNode(ptr, list, (aconf->status == CONF_KILL) ? &temp_klines[TEMP_HOUR] : &temp_dlines[TEMP_HOUR]); aconf->port = TEMP_HOUR; } else if(aconf->port > TEMP_DAY && - (aconf->hold < (CurrentTime + (10080 * 60)))) + (aconf->hold < (rb_current_time() + (10080 * 60)))) { rb_dlinkMoveNode(ptr, list, (aconf->status == CONF_KILL) ? &temp_klines[TEMP_DAY] : &temp_dlines[TEMP_DAY]); @@ -1377,18 +1377,18 @@ write_confitem(KlineType type, struct Client *source_p, char *user, rb_snprintf(buffer, sizeof(buffer), "\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",%ld\n", user, host, reason, oper_reason, current_date, - get_oper_name(source_p), CurrentTime); + get_oper_name(source_p), rb_current_time()); } else if(type == DLINE_TYPE) { rb_snprintf(buffer, sizeof(buffer), "\"%s\",\"%s\",\"%s\",\"%s\",\"%s\",%ld\n", host, - reason, oper_reason, current_date, get_oper_name(source_p), CurrentTime); + reason, oper_reason, current_date, get_oper_name(source_p), rb_current_time()); } else if(type == RESV_TYPE) { rb_snprintf(buffer, sizeof(buffer), "\"%s\",\"%s\",\"%s\",%ld\n", - host, reason, get_oper_name(source_p), CurrentTime); + host, reason, get_oper_name(source_p), rb_current_time()); } if(fputs(buffer, out) == -1)