source_p->snomask &= ~SNO_NCHANGE;
if(!IsOperOperwall(source_p))
source_p->umodes &= ~UMODE_OPERWALL;
+ if (!IsOperOverride(source_p))
+ source_p->umodes &= ~UMODE_OVERRIDE;
hdata.client = source_p;
hdata.oldumodes = old;
hdata.oldsnomask = oldsnomask;
user_join(&me, source_p, aconf->autojoin_opers, NULL);
}
+ /* If we're setting +p, expire it */
+ if(ConfigFileEntry.expire_override_time && MyClient(source_p) && source_p->umodes & UMODE_OVERRIDE)
+ {
+ source_p->localClient->override_timeout_event =
+ rb_event_addonce("expire_override", expire_umode_p, source_p, ConfigFileEntry.expire_override_time);
+ }
+
return (1);
}