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
Clear privileges when deopering.
[ircu2.10.12-pk.git]
/
ircd
/
s_user.c
diff --git
a/ircd/s_user.c
b/ircd/s_user.c
index a989a06d00778160d48901cf8c59506261790fd6..1f0e0d92ddd990ff543c0445af741d7d72464555 100644
(file)
--- a/
ircd/s_user.c
+++ b/
ircd/s_user.c
@@
-355,6
+355,16
@@
int register_user(struct Client *cptr, struct Client *sptr)
Count_unknownbecomesclient(sptr, UserStats);
Count_unknownbecomesclient(sptr, UserStats);
+ /*
+ * Set user's initial modes
+ */
+ tmpstr = (char*)client_get_default_umode(sptr);
+ if (tmpstr) {
+ char *umodev[] = { NULL, NULL, NULL, NULL };
+ umodev[2] = tmpstr;
+ set_user_mode(cptr, sptr, 3, umodev, ALLOWMODES_ANY);
+ }
+
SetUser(sptr);
cli_handler(sptr) = CLIENT_HANDLER;
SetLocalNumNick(sptr);
SetUser(sptr);
cli_handler(sptr) = CLIENT_HANDLER;
SetLocalNumNick(sptr);
@@
-385,16
+395,6
@@
int register_user(struct Client *cptr, struct Client *sptr)
cli_info(sptr), NumNick(cptr) /* two %s's */);
IPcheck_connect_succeeded(sptr);
cli_info(sptr), NumNick(cptr) /* two %s's */);
IPcheck_connect_succeeded(sptr);
- /*
- * Set user's initial modes
- */
- tmpstr = (char*)client_get_default_umode(sptr);
- if (tmpstr) {
- char *umodev[] = { NULL, NULL, NULL, NULL };
- umodev[2] = tmpstr;
- set_user_mode(cptr, sptr, 1, umodev, ALLOWMODES_ANY);
- }
-
}
else {
struct Client *acptr = user->server;
}
else {
struct Client *acptr = user->server;
@@
-1128,7
+1128,10
@@
int set_user_mode(struct Client *cptr, struct Client *sptr, int parc,
{
if ((FlagHas(&setflags, FLAG_OPER) || FlagHas(&setflags, FLAG_LOCOP)) &&
!IsAnOper(sptr))
{
if ((FlagHas(&setflags, FLAG_OPER) || FlagHas(&setflags, FLAG_LOCOP)) &&
!IsAnOper(sptr))
+ {
det_confs_butmask(sptr, CONF_CLIENT & ~CONF_OPERATOR);
det_confs_butmask(sptr, CONF_CLIENT & ~CONF_OPERATOR);
+ client_set_privs(sptr, NULL);
+ }
if (SendServNotice(sptr))
{
if (SendServNotice(sptr))
{