X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=ircd%2Fs_user.c;h=97d3517a4b0f2ab3af63ed49755eb9bf72301488;hb=858f93e84226260e096d4dac158d4eb13a52665b;hp=1fdfcbf323751eaaee06cd4f28479c12ab7971cb;hpb=dda7c8d90d9f681bd06979d45735ba009dbbee26;p=ircu2.10.12-pk.git diff --git a/ircd/s_user.c b/ircd/s_user.c index 1fdfcbf..97d3517 100644 --- a/ircd/s_user.c +++ b/ircd/s_user.c @@ -392,9 +392,8 @@ int register_user(struct Client *cptr, struct Client *sptr) if (tmpstr) { char *umodev[] = { NULL, NULL, NULL, NULL }; umodev[2] = tmpstr; - set_user_mode(cptr, sptr, 1, umodev, ALLOWMODES_ANY); + set_user_mode(cptr, sptr, 3, umodev, ALLOWMODES_ANY); } - } else { struct Client *acptr = user->server; @@ -439,10 +438,6 @@ int register_user(struct Client *cptr, struct Client *sptr) */ if (HasHiddenHost(sptr)) hide_hostmask(sptr, FLAG_HIDDENHOST); - if (IsInvisible(sptr)) - ++UserStats.inv_clients; - if (IsOper(sptr)) - ++UserStats.opers; tmpstr = umode_str(sptr); /* Send full IP address to IPv6-grokking servers. */ @@ -702,10 +697,6 @@ int check_target_limit(struct Client *sptr, void *target, const char *name, assert(cli_local(sptr)); targets = cli_targets(sptr); - /* If user is invited to channel, give him/her a free target */ - if (IsChannelName(name) && IsInvited(sptr, target)) - return 0; - /* * Same target as last time? */ @@ -723,6 +714,10 @@ int check_target_limit(struct Client *sptr, void *target, const char *name, */ if (!created) { if (CurrentTime < cli_nexttarget(sptr)) { + /* If user is invited to channel, give him/her a free target */ + if (IsChannelName(name) && IsInvited(sptr, target)) + return 0; + if (cli_nexttarget(sptr) - CurrentTime < TARGET_DELAY + 8) { /* * No server flooding