projects
/
ircu2.10.12-pk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix SourceForge bug #2816618 (default user modes in connection class do not work).
[ircu2.10.12-pk.git]
/
ircd
/
s_user.c
diff --git
a/ircd/s_user.c
b/ircd/s_user.c
index a2de84f876ed7082fac055601f11ea5edc073f89..97d3517a4b0f2ab3af63ed49755eb9bf72301488 100644
(file)
--- 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;
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;
}
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 (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. */
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);
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?
*/
/*
* 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 (!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
if (cli_nexttarget(sptr) - CurrentTime < TARGET_DELAY + 8) {
/*
* No server flooding
@@
-1078,7
+1073,7
@@
int set_user_mode(struct Client *cptr, struct Client *sptr, int parc,
do_host_hiding = 1;
break;
case 'r':
do_host_hiding = 1;
break;
case 'r':
- if (
what == MODE_ADD
) {
+ if (
*(p + 1) && (what == MODE_ADD)
) {
account = *(++p);
SetAccount(sptr);
}
account = *(++p);
SetAccount(sptr);
}