#include "hostmask.h"
#include "logger.h"
-static int m_ban(struct Client *client_p, struct Client *source_p, int parc, const char *parv[]);
-static int ms_ban(struct Client *client_p, struct Client *source_p, int parc, const char *parv[]);
+static int m_ban(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]);
+static int ms_ban(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]);
+static const char ban_desc[] = "Provides the TS6 BAN command for propagating network-wide bans";
struct Message ban_msgtab = {
- "BAN", 0, 0, 0, MFLG_SLOW,
+ "BAN", 0, 0, 0, 0,
{mg_unreg, {m_ban, 0}, {ms_ban, 9}, {ms_ban, 9}, mg_ignore, {m_ban, 0}}
};
mapi_clist_av1 ban_clist[] = { &ban_msgtab, NULL };
-DECLARE_MODULE_AV1(ban, NULL, NULL, ban_clist, NULL, NULL, "$Revision: 1349 $");
+DECLARE_MODULE_AV2(ban, NULL, NULL, ban_clist, NULL, NULL, NULL, NULL, ban_desc);
static int
-m_ban(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
+m_ban(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
{
sendto_one_notice(source_p, ":The BAN command is not user-accessible.");
sendto_one_notice(source_p, ":To ban a user from a channel, see /QUOTE HELP CMODE");
* parv[8] - reason (possibly with |operreason)
*/
static int
-ms_ban(struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
+ms_ban(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[])
{
rb_dlink_node *ptr;
struct ConfItem *aconf;
unsigned int ntype;
const char *oper, *stype;
- time_t created, hold, lifetime;
+ time_t now, created, hold, lifetime;
char *p;
int act;
int valid;
+ now = rb_current_time();
if (strlen(parv[1]) != 1)
{
sendto_realops_snomask(SNO_GENERAL, L_NETWIDE,
* is not a removal and not already expired.
*/
act = !(aconf->status & CONF_ILLEGAL) || (hold != created &&
- hold > rb_current_time());
+ hold > now);
if (lifetime > aconf->lifetime)
aconf->lifetime = lifetime;
/* already expired, hmm */
- if (aconf->lifetime <= rb_current_time())
+ if (aconf->lifetime <= now)
return 0;
/* Deactivate, it will be reactivated later if appropriate. */
- deactivate_conf(aconf, ptr);
+ deactivate_conf(aconf, ptr, now);
rb_free(aconf->user);
aconf->user = NULL;
rb_free(aconf->host);
aconf->status = CONF_ILLEGAL | ntype;
aconf->lifetime = lifetime;
rb_dlinkAddAlloc(aconf, &prop_bans);
- act = hold != created && hold > rb_current_time();
+ act = hold != created && hold > now;
}
aconf->flags &= ~CONF_FLAGS_MYOPER;
aconf->flags |= CONF_FLAGS_TEMPORARY;
{
sendto_realops_snomask(SNO_GENERAL, L_ALL,
"Ignoring global %d min. %s from %s%s%s for [%s%s%s]: too few non-wildcard characters",
- (int)((hold - rb_current_time()) / 60),
+ (int)((hold - now) / 60),
stype,
IsServer(source_p) ? source_p->name : get_oper_name(source_p),
strcmp(parv[7], "*") ? " on behalf of " : "",
sendto_realops_snomask(SNO_GENERAL, L_ALL,
"%s added global %d min. %s%s%s for [%s%s%s] [%s]",
IsServer(source_p) ? source_p->name : get_oper_name(source_p),
- (int)((hold - rb_current_time()) / 60),
+ (int)((hold - now) / 60),
stype,
strcmp(parv[7], "*") ? " from " : "",
strcmp(parv[7], "*") ? parv[7] : "",
parv[parc - 1]);
ilog(L_KLINE, "%s %s %d %s%s%s %s", parv[1],
IsServer(source_p) ? source_p->name : get_oper_name(source_p),
- (int)((hold - rb_current_time()) / 60),
+ (int)((hold - now) / 60),
aconf->user ? aconf->user : "",
aconf->user ? " " : "",
aconf->host,
if (!(aconf->status & CONF_ILLEGAL))
{
add_to_resv_hash(aconf->host, aconf);
- resv_chan_forcepart(aconf->host, aconf->passwd, hold - rb_current_time());
+ resv_chan_forcepart(aconf->host, aconf->passwd, hold - now);
}
break;
case CONF_RESV_NICK: