diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/protocol/inspircd11.c | 9 | ||||
-rw-r--r-- | src/protocol/unreal32.c | 9 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/protocol/inspircd11.c b/src/protocol/inspircd11.c index 17e7f00fd..eb2b3c4a2 100644 --- a/src/protocol/inspircd11.c +++ b/src/protocol/inspircd11.c @@ -442,6 +442,15 @@ void inspircd_set_umode(User * user, int ac, char **av) opcnt--; } break; + case 'a': + if (UnRestrictSAdmin) { + break; + } + if (add && !is_services_admin(user)) { + common_svsmode(user, "-a", NULL); + user->mode &= ~UMODE_a; + } + break; case 'r': user->svid = (add ? user->timestamp : 0); if (add && !nick_identified(user)) { diff --git a/src/protocol/unreal32.c b/src/protocol/unreal32.c index d4c526d14..39ec97db4 100644 --- a/src/protocol/unreal32.c +++ b/src/protocol/unreal32.c @@ -469,6 +469,15 @@ void unreal_set_umode(User * user, int ac, char **av) opcnt--; } break; + case 'a': + if (UnRestrictSAdmin) { + break; + } + if (add && !is_services_admin(user)) { + common_svsmode(user, "-a", NULL); + user->mode &= ~UMODE_a; + } + break; case 'r': if (add && !nick_identified(user)) { common_svsmode(user, "-r", NULL); |