X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/ad9e4e4095e2c7baeb120b456e1472624b6f270f..5d3b05b9b624b745527e84f605c9cb04c6831c78:/src/s_conf.c diff --git a/src/s_conf.c b/src/s_conf.c index 9ea157a..e34a77e 100644 --- a/src/s_conf.c +++ b/src/s_conf.c @@ -45,7 +45,6 @@ #include "s_log.h" #include "send.h" #include "s_gline.h" -#include "patricia.h" #include "reject.h" #include "cache.h" #include "blacklist.h" @@ -83,7 +82,7 @@ static int attach_iline(struct Client *, struct ConfItem *); void init_s_conf(void) { - confitem_heap = rb_bh_create(sizeof(struct ConfItem), CONFITEM_HEAP_SIZE); + confitem_heap = rb_bh_create(sizeof(struct ConfItem), CONFITEM_HEAP_SIZE, "confitem_heap"); 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); @@ -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; @@ -253,7 +252,7 @@ check_client(struct Client *client_p, struct Client *source_p, const char *usern #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); } } @@ -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; } @@ -1120,21 +1120,21 @@ get_printable_conf(struct ConfItem *aconf, char **name, char **host, *port = (int) aconf->port; } -void -get_printable_kline(struct Client *source_p, struct ConfItem *aconf, - const char **host, const char **reason, - const char **user, const char **oper_reason) -{ - static const char *null = ""; - - *host = EmptyString(aconf->host) ? null : aconf->host; - *reason = EmptyString(aconf->passwd) ? null : aconf->passwd; - *user = EmptyString(aconf->user) ? null : aconf->user; - - if(EmptyString(aconf->spasswd) || !IsOper(source_p)) - *oper_reason = NULL; - else - *oper_reason = aconf->spasswd; +void +get_printable_kline(struct Client *source_p, struct ConfItem *aconf, + char **host, char **reason, + char **user, char **oper_reason) +{ + static char null[] = ""; + + *host = EmptyString(aconf->host) ? null : aconf->host; + *reason = EmptyString(aconf->passwd) ? null : aconf->passwd; + *user = EmptyString(aconf->user) ? null : aconf->user; + + if(EmptyString(aconf->spasswd) || !IsOper(source_p)) + *oper_reason = NULL; + else + *oper_reason = aconf->spasswd; } /*