X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/0a61720ad41a0a667002cb37a91f83de7e5a5a0c..90a3c35b295b07ebe3793bf5d3b882c3c1a5dc7c:/src/s_user.c diff --git a/src/s_user.c b/src/s_user.c index 07941dc..8d247fc 100644 --- a/src/s_user.c +++ b/src/s_user.c @@ -25,7 +25,6 @@ */ #include "stdinc.h" -#include "tools.h" #include "s_user.h" #include "channel.h" #include "class.h" @@ -38,7 +37,6 @@ #include "listener.h" #include "msg.h" #include "numeric.h" -#include "commio.h" #include "s_conf.h" #include "s_newconf.h" #include "s_log.h" @@ -48,7 +46,6 @@ #include "send.h" #include "supported.h" #include "whowas.h" -#include "memory.h" #include "packet.h" #include "reject.h" #include "cache.h" @@ -147,41 +144,41 @@ int user_modes[256] = { int show_lusers(struct Client *source_p) { - if(dlink_list_length(&lclient_list) > (unsigned long)MaxClientCount) - MaxClientCount = dlink_list_length(&lclient_list); + if(rb_dlink_list_length(&lclient_list) > (unsigned long)MaxClientCount) + MaxClientCount = rb_dlink_list_length(&lclient_list); - if((dlink_list_length(&lclient_list) + dlink_list_length(&serv_list)) > + if((rb_dlink_list_length(&lclient_list) + rb_dlink_list_length(&serv_list)) > (unsigned long)MaxConnectionCount) - MaxConnectionCount = dlink_list_length(&lclient_list) + - dlink_list_length(&serv_list); + MaxConnectionCount = rb_dlink_list_length(&lclient_list) + + rb_dlink_list_length(&serv_list); sendto_one_numeric(source_p, RPL_LUSERCLIENT, form_str(RPL_LUSERCLIENT), (Count.total - Count.invisi), - Count.invisi, dlink_list_length(&global_serv_list)); + Count.invisi, rb_dlink_list_length(&global_serv_list)); - if(dlink_list_length(&oper_list) > 0) + if(rb_dlink_list_length(&oper_list) > 0) sendto_one_numeric(source_p, RPL_LUSEROP, - form_str(RPL_LUSEROP), dlink_list_length(&oper_list)); + form_str(RPL_LUSEROP), rb_dlink_list_length(&oper_list)); - if(dlink_list_length(&unknown_list) > 0) + if(rb_dlink_list_length(&unknown_list) > 0) sendto_one_numeric(source_p, RPL_LUSERUNKNOWN, form_str(RPL_LUSERUNKNOWN), - dlink_list_length(&unknown_list)); + rb_dlink_list_length(&unknown_list)); - if(dlink_list_length(&global_channel_list) > 0) + if(rb_dlink_list_length(&global_channel_list) > 0) sendto_one_numeric(source_p, RPL_LUSERCHANNELS, form_str(RPL_LUSERCHANNELS), - dlink_list_length(&global_channel_list)); + rb_dlink_list_length(&global_channel_list)); sendto_one_numeric(source_p, RPL_LUSERME, form_str(RPL_LUSERME), - dlink_list_length(&lclient_list), - dlink_list_length(&serv_list)); + rb_dlink_list_length(&lclient_list), + rb_dlink_list_length(&serv_list)); sendto_one_numeric(source_p, RPL_LOCALUSERS, form_str(RPL_LOCALUSERS), - dlink_list_length(&lclient_list), + rb_dlink_list_length(&lclient_list), Count.max_loc, - dlink_list_length(&lclient_list), + rb_dlink_list_length(&lclient_list), Count.max_loc); sendto_one_numeric(source_p, RPL_GLOBALUSERS, form_str(RPL_GLOBALUSERS), @@ -223,7 +220,7 @@ show_lusers(struct Client *source_p) int register_local_user(struct Client *client_p, struct Client *source_p, const char *username) { - struct ConfItem *aconf; + struct ConfItem *aconf, *xconf; struct User *user = source_p->user; char tmpstr2[IRCD_BUFSIZE]; char ipaddr[HOSTIPLEN]; @@ -250,18 +247,18 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char source_p->flags |= FLAGS_PINGSENT; return -1; } - if(!(source_p->flags2 & FLAGS2_PING_COOKIE)) + if(!(source_p->flags & FLAGS_PING_COOKIE)) { return -1; } } /* hasnt finished client cap negotiation */ - if(source_p->flags2 & FLAGS2_CLICAP) + if(source_p->flags & FLAGS_CLICAP) return -1; /* still has DNSbls to validate against */ - if(dlink_list_length(&source_p->preClient->dnsbl_queries) > 0) + if(rb_dlink_list_length(&source_p->preClient->dnsbl_queries) > 0) return -1; client_p->localClient->last = CurrentTime; @@ -296,7 +293,7 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char del_from_client_hash(source_p->name, source_p); strlcpy(source_p->name, source_p->preClient->spoofnick, NICKLEN + 1); add_to_client_hash(source_p->name, source_p); - comm_note(source_p->localClient->fd, "Nick: %s", source_p->name); + rb_note(source_p->localClient->F->fd, "Nick: %s", source_p->name); } if(!valid_hostname(source_p->host)) @@ -304,11 +301,6 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char sendto_one_notice(source_p, ":*** Notice -- You have an illegal character in your hostname"); strlcpy(source_p->host, source_p->sockhost, sizeof(source_p->host)); - -#ifdef IPV6 - if(ConfigFileEntry.dot_in_ip6_addr == 1) - strlcat(source_p->host, ".", sizeof(source_p->host)); -#endif } @@ -385,7 +377,7 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char if(source_p->localClient->passwd) { memset(source_p->localClient->passwd, 0, strlen(source_p->localClient->passwd)); - MyFree(source_p->localClient->passwd); + rb_free(source_p->localClient->passwd); source_p->localClient->passwd = NULL; } } @@ -402,8 +394,8 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char * -Taner */ /* Except "F:" clients */ - if(dlink_list_length(&lclient_list) >= - (unsigned long)GlobalSetOptions.maxclients && !IsExemptLimits(source_p)) + if(rb_dlink_list_length(&lclient_list) >= + (unsigned long)GlobalSetOptions.maxclients && !IsConfExemptLimits(aconf)) { sendto_realops_snomask(SNO_FULL, L_ALL, "Too many clients, rejecting %s[%s].", source_p->name, source_p->host); @@ -415,10 +407,10 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char /* kline exemption extends to xline too */ if(!IsExemptKline(source_p) && - find_xline(source_p->info, 1) != NULL) + (xconf = find_xline(source_p->info, 1)) != NULL) { ServerStats->is_ref++; - add_reject(source_p); + add_reject(source_p, xconf->name, NULL); exit_client(client_p, source_p, &me, "Bad user info"); return CLIENT_EXITED; } @@ -431,7 +423,7 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char source_p->sockhost, source_p->preClient->dnsbl_listed->host); else { - dlink_list varlist = { NULL, NULL, 0 }; + rb_dlink_list varlist = { NULL, NULL, 0 }; substitution_append_var(&varlist, "nick", source_p->name); substitution_append_var(&varlist, "ip", source_p->sockhost); @@ -450,7 +442,7 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char sendto_one_notice(source_p, ":*** Your IP address %s is listed in %s", source_p->sockhost, source_p->preClient->dnsbl_listed->host); source_p->preClient->dnsbl_listed->hits++; - add_reject(source_p); + add_reject(source_p, NULL, NULL); exit_client(client_p, source_p, &me, "*** Banned (DNS blacklist)"); return CLIENT_EXITED; } @@ -466,7 +458,7 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char ServerStats->is_ref++; sendto_one_notice(source_p, ":*** Your username is invalid. Please make sure that your username contains " "only alphanumeric characters."); - ircsprintf(tmpstr2, "Invalid username [%s]", source_p->username); + rb_sprintf(tmpstr2, "Invalid username [%s]", source_p->username); exit_client(client_p, source_p, &me, tmpstr2); return (CLIENT_EXITED); } @@ -531,11 +523,11 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char s_assert(!IsClient(source_p)); del_unknown_ip(source_p); - dlinkMoveNode(&source_p->localClient->tnode, &unknown_list, &lclient_list); + rb_dlinkMoveNode(&source_p->localClient->tnode, &unknown_list, &lclient_list); SetClient(source_p); source_p->servptr = &me; - dlinkAdd(source_p, &source_p->lnode, &source_p->servptr->serv->users); + rb_dlinkAdd(source_p, &source_p->lnode, &source_p->servptr->serv->users); /* Increment our total user count here */ if(++Count.total > Count.max_tot) @@ -547,9 +539,9 @@ register_local_user(struct Client *client_p, struct Client *source_p, const char s_assert(source_p->localClient != NULL); - if(dlink_list_length(&lclient_list) > (unsigned long)Count.max_loc) + if(rb_dlink_list_length(&lclient_list) > (unsigned long)Count.max_loc) { - Count.max_loc = dlink_list_length(&lclient_list); + Count.max_loc = rb_dlink_list_length(&lclient_list); if(!(Count.max_loc % 10)) sendto_realops_snomask(SNO_GENERAL, L_ALL, "New Max Local Clients: %d", Count.max_loc); @@ -637,7 +629,7 @@ introduce_client(struct Client *client_p, struct Client *source_p, struct User * nick, source_p->hopcount + 1, (long) source_p->tsinfo, ubuf, source_p->username, source_p->host, - user->server, source_p->info); + source_p->servptr->name, source_p->info); } else sendto_server(client_p, NULL, NOCAPS, NOCAPS, @@ -645,7 +637,7 @@ introduce_client(struct Client *client_p, struct Client *source_p, struct User * nick, source_p->hopcount + 1, (long) source_p->tsinfo, ubuf, source_p->username, source_p->host, - user->server, source_p->info); + source_p->servptr->name, source_p->info); if (IsDynSpoof(source_p)) { @@ -681,7 +673,7 @@ introduce_client(struct Client *client_p, struct Client *source_p, struct User * source_p->localClient->passwd); } memset(source_p->localClient->passwd, 0, strlen(source_p->localClient->passwd)); - MyFree(source_p->localClient->passwd); + rb_free(source_p->localClient->passwd); source_p->localClient->passwd = NULL; } @@ -816,7 +808,7 @@ report_and_set_user_flags(struct Client *source_p, struct ConfItem *aconf) if(IsConfExemptKline(aconf)) { SetExemptKline(source_p); - sendto_one_notice(source_p, ":*** You are exempt from K/D/G/X lines. congrats."); + sendto_one_notice(source_p, ":*** You are exempt from K/G/X lines. congrats."); } if(IsConfExemptGline(aconf)) @@ -836,15 +828,7 @@ report_and_set_user_flags(struct Client *source_p, struct ConfItem *aconf) /* If this user is exempt from user limits set it F lined" */ if(IsConfExemptLimits(aconf)) { - SetExemptLimits(source_p); - sendto_one_notice(source_p, "*** You are exempt from user limits. congrats."); - } - - /* If this user is exempt from idle time outs */ - if(IsConfIdlelined(aconf)) - { - SetIdlelined(source_p); - sendto_one_notice(source_p, ":*** You are exempt from idle limits. congrats."); + sendto_one_notice(source_p, ":*** You are exempt from user limits. congrats."); } if(IsConfExemptFlood(aconf)) @@ -977,7 +961,7 @@ user_mode(struct Client *client_p, struct Client *source_p, int parc, const char { ++Count.oper; SetOper(source_p); - dlinkAddAlloc(source_p, &oper_list); + rb_dlinkAddAlloc(source_p, &oper_list); } } else @@ -1003,13 +987,13 @@ user_mode(struct Client *client_p, struct Client *source_p, int parc, const char } source_p->flags2 &= ~OPER_FLAGS; - MyFree(source_p->localClient->opername); + rb_free(source_p->localClient->opername); source_p->localClient->opername = NULL; - dlinkFindDestroy(source_p, &local_oper_list); + rb_dlinkFindDestroy(source_p, &local_oper_list); } - dlinkFindDestroy(source_p, &oper_list); + rb_dlinkFindDestroy(source_p, &oper_list); } break; @@ -1089,7 +1073,7 @@ user_mode(struct Client *client_p, struct Client *source_p, int parc, const char if(MyClient(source_p) && (source_p->snomask & SNO_NCHANGE) && !IsOperN(source_p)) { - sendto_one_notice(source_p, ":*** You need oper and N flag for +s +n"); + sendto_one_notice(source_p, ":*** You need oper and nick_changes flag for +s +n"); source_p->snomask &= ~SNO_NCHANGE; /* only tcm's really need this */ } @@ -1102,7 +1086,7 @@ user_mode(struct Client *client_p, struct Client *source_p, int parc, const char if(MyConnect(source_p) && (source_p->umodes & UMODE_ADMIN) && (!IsOperAdmin(source_p) || IsOperHiddenAdmin(source_p))) { - sendto_one_notice(source_p, ":*** You need oper and A flag for +a"); + sendto_one_notice(source_p, ":*** You need oper and admin flag for +a"); source_p->umodes &= ~UMODE_ADMIN; } @@ -1192,11 +1176,11 @@ send_umode_out(struct Client *client_p, struct Client *source_p, int old) { struct Client *target_p; char buf[BUFSIZE]; - dlink_node *ptr; + rb_dlink_node *ptr; send_umode(NULL, source_p, old, 0, buf); - DLINK_FOREACH(ptr, serv_list.head) + RB_DLINK_FOREACH(ptr, serv_list.head) { target_p = ptr->data; @@ -1292,8 +1276,8 @@ oper_up(struct Client *source_p, struct oper_conf *oper_p) source_p->flags2 |= oper_p->flags; DupString(source_p->localClient->opername, oper_p->name); - dlinkAddAlloc(source_p, &local_oper_list); - dlinkAddAlloc(source_p, &oper_list); + rb_dlinkAddAlloc(source_p, &local_oper_list); + rb_dlinkAddAlloc(source_p, &oper_list); if(IsOperAdmin(source_p) && !IsOperHiddenAdmin(source_p)) source_p->umodes |= UMODE_ADMIN; @@ -1383,7 +1367,7 @@ void change_nick_user_host(struct Client *target_p, const char *nick, const char *user, const char *host, int newts, char *format, ...) { - dlink_node *ptr; + rb_dlink_node *ptr; struct Channel *chptr; struct membership *mscptr; int changed = irccmp(target_p->name, nick); @@ -1411,7 +1395,7 @@ change_nick_user_host(struct Client *target_p, const char *nick, const char *use target_p->name, target_p->username, target_p->host, reason); - DLINK_FOREACH(ptr, target_p->user->channel.head) + RB_DLINK_FOREACH(ptr, target_p->user->channel.head) { mscptr = ptr->data; chptr = mscptr->chptr;