X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/92fb5c3175786a5ca7ed04cd207cf23a263576a8..94d53e53a43a2aa36a658c01f78abe9f3f9ddbfe:/src/s_conf.c?ds=sidebyside diff --git a/src/s_conf.c b/src/s_conf.c index ca5e414..6d452c4 100644 --- a/src/s_conf.c +++ b/src/s_conf.c @@ -21,7 +21,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA * - * $Id: s_conf.c 3159 2007-01-25 07:08:21Z nenolod $ + * $Id: s_conf.c 3446 2007-05-14 22:21:16Z jilles $ */ #include "stdinc.h" @@ -188,10 +188,15 @@ check_client(struct Client *client_p, struct Client *source_p, const char *usern break; case TOO_MANY_LOCAL: + /* Note that these notices are sent to opers on other + * servers also, so even if local opers are allowed to + * see the IP, we still cannot send it. + */ sendto_realops_snomask(SNO_FULL, L_NETWIDE, "Too many local connections for %s!%s%s@%s", source_p->name, IsGotId(source_p) ? "" : "~", - source_p->username, source_p->sockhost); + source_p->username, + show_ip(NULL, source_p) && !IsIPSpoof(source_p) ? source_p->sockhost : source_p->host); ilog(L_FUSER, "Too many local connections from %s!%s%s@%s", source_p->name, IsGotId(source_p) ? "" : "~", @@ -205,7 +210,8 @@ check_client(struct Client *client_p, struct Client *source_p, const char *usern sendto_realops_snomask(SNO_FULL, L_NETWIDE, "Too many global connections for %s!%s%s@%s", source_p->name, IsGotId(source_p) ? "" : "~", - source_p->username, source_p->sockhost); + source_p->username, + show_ip(NULL, source_p) && !IsIPSpoof(source_p) ? source_p->sockhost : source_p->host); ilog(L_FUSER, "Too many global connections from %s!%s%s@%s", source_p->name, IsGotId(source_p) ? "" : "~", source_p->username, source_p->sockhost); @@ -218,7 +224,8 @@ check_client(struct Client *client_p, struct Client *source_p, const char *usern sendto_realops_snomask(SNO_FULL, L_NETWIDE, "Too many user connections for %s!%s%s@%s", source_p->name, IsGotId(source_p) ? "" : "~", - source_p->username, source_p->sockhost); + source_p->username, + show_ip(NULL, source_p) && !IsIPSpoof(source_p) ? source_p->sockhost : source_p->host); ilog(L_FUSER, "Too many user connections from %s!%s%s@%s", source_p->name, IsGotId(source_p) ? "" : "~", source_p->username, source_p->sockhost); @@ -232,7 +239,7 @@ check_client(struct Client *client_p, struct Client *source_p, const char *usern "I-line is full for %s!%s%s@%s (%s).", source_p->name, IsGotId(source_p) ? "" : "~", source_p->username, source_p->host, - source_p->sockhost); + show_ip(NULL, source_p) && !IsIPSpoof(source_p) ? source_p->sockhost : "255.255.255.255"); ilog(L_FUSER, "Too many connections from %s!%s%s@%s.", source_p->name, IsGotId(source_p) ? "" : "~", @@ -330,8 +337,7 @@ verify_access(struct Client *client_p, const char *username) { if(aconf->flags & CONF_FLAGS_REDIR) { - sendto_one(client_p, form_str(RPL_REDIR), - me.name, client_p->name, + sendto_one_numeric(client_p, RPL_REDIR, form_str(RPL_REDIR), aconf->name ? aconf->name : "", aconf->port); return (NOT_AUTHORISED); } @@ -386,7 +392,7 @@ verify_access(struct Client *client_p, const char *username) } else if(aconf->status & CONF_GLINE) { - sendto_one(client_p, ":%s NOTICE %s :*** G-lined", me.name, client_p->name); + sendto_one_notice(client_p, ":*** G-lined"); if(ConfigFileEntry.kline_with_reason) sendto_one(client_p, @@ -597,8 +603,7 @@ attach_conf(struct Client *client_p, struct ConfItem *aconf) } else { - sendto_one(client_p, ":%s NOTICE %s :*** I: line is full, but you have an >I: line!", - me.name, client_p->name); + sendto_one_notice(client_p, ":*** I: line is full, but you have an >I: line!"); SetExemptLimits(client_p); } @@ -824,7 +829,6 @@ set_default_conf(void) ConfigChannel.max_bans = 25; ConfigChannel.max_bans_large = 500; ConfigChannel.burst_topicwho = NO; - ConfigChannel.invite_ops_only = YES; ConfigChannel.kick_on_split_riding = NO; ConfigChannel.default_split_user_count = 15000; @@ -846,7 +850,9 @@ set_default_conf(void) ConfigFileEntry.reject_after_count = 5; ConfigFileEntry.reject_ban_time = 300; ConfigFileEntry.reject_duration = 120; - + ConfigFileEntry.max_unknown_ip = 2; + + ServerInfo.max_clients = comm_get_maxconnections() - MAX_BUFFER; } #undef YES @@ -1355,9 +1361,7 @@ write_confitem(KlineType type, struct Client *source_p, char *user, reason, oper_reason); } - sendto_one(source_p, - ":%s NOTICE %s :Added D-Line [%s] to %s", me.name, - source_p->name, host, filename); + sendto_one_notice(source_p, ":Added D-Line [%s] to %s", host, filename); } else if(type == RESV_TYPE)