#include "substitution.h"
#include "chmode.h"
-struct module_modes ModuleModes;
-
static void report_and_set_user_flags(struct Client *, struct ConfItem *);
void user_welcome(struct Client *source_p);
}
/* FALLTHROUGH */
default:
- if (MyConnect(source_p) && *pm == 'Q' && !ModuleModes.MODE_FORWARD) {
+ if (MyConnect(source_p) && *pm == 'Q' && !ConfigChannel.use_forward) {
badflag = YES;
break;
}
sendto_one_numeric(source_p, RPL_YOURHOST, form_str(RPL_YOURHOST),
get_listener_name(source_p->localClient->listener), ircd_version);
sendto_one_numeric(source_p, RPL_CREATED, form_str(RPL_CREATED), creation);
- sendto_one_numeric(source_p, RPL_MYINFO, form_str(RPL_MYINFO), me.name, ircd_version, umodebuf, cflagsmyinfo);
+ sendto_one_numeric(source_p, RPL_MYINFO, form_str(RPL_MYINFO), me.name, ircd_version, umodebuf, cflagsmyinfo, cflagsparaminfo);
show_isupport(source_p);
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);
}