Remove double-quote restriction on dline, kline, resv, and xline reasons; remove colon restriction on xline reasons.
This commit is contained in:
parent
adcec062ce
commit
9319a2e206
4 changed files with 11 additions and 79 deletions
|
@ -64,7 +64,6 @@ mapi_clist_av1 dline_clist[] = { &dline_msgtab, &undline_msgtab, NULL };
|
|||
|
||||
DECLARE_MODULE_AV1(dline, NULL, NULL, dline_clist, NULL, NULL, "$Revision$");
|
||||
|
||||
static int valid_comment(char *comment);
|
||||
static int remove_temp_dline(struct ConfItem *);
|
||||
static int apply_dline(struct Client *, const char *, int, char *);
|
||||
static int apply_undline(struct Client *, const char *);
|
||||
|
@ -257,14 +256,6 @@ apply_dline(struct Client *source_p, const char *dlhost, int tdline_time, char *
|
|||
}
|
||||
}
|
||||
|
||||
if(!valid_comment(reason))
|
||||
{
|
||||
sendto_one(source_p,
|
||||
":%s NOTICE %s :Invalid character '\"' in comment",
|
||||
me.name, source_p->name);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(ConfigFileEntry.non_redundant_klines)
|
||||
{
|
||||
if((aconf = find_dline((struct sockaddr *) &daddr, t)) != NULL)
|
||||
|
@ -298,6 +289,9 @@ apply_dline(struct Client *source_p, const char *dlhost, int tdline_time, char *
|
|||
aconf->passwd = rb_strdup(reason);
|
||||
aconf->info.oper = operhash_add(get_oper_name(source_p));
|
||||
|
||||
if(strlen(reason) > BANREASONLEN)
|
||||
reason[BANREASONLEN] = '\0';
|
||||
|
||||
/* Look for an oper reason */
|
||||
if((oper_reason = strchr(reason, '|')) != NULL)
|
||||
{
|
||||
|
@ -409,25 +403,6 @@ apply_undline(struct Client *source_p, const char *cidr)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* valid_comment
|
||||
* inputs - pointer to client
|
||||
* - pointer to comment
|
||||
* output - 0 if no valid comment, 1 if valid
|
||||
* side effects - NONE
|
||||
*/
|
||||
static int
|
||||
valid_comment(char *comment)
|
||||
{
|
||||
if(strchr(comment, '"'))
|
||||
return 0;
|
||||
|
||||
if(strlen(comment) > BANREASONLEN)
|
||||
comment[BANREASONLEN] = '\0';
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* remove_temp_dline()
|
||||
*
|
||||
* inputs - confitem to undline
|
||||
|
|
|
@ -69,7 +69,6 @@ DECLARE_MODULE_AV1(kline, NULL, NULL, kline_clist, NULL, NULL, "$Revision$");
|
|||
|
||||
/* Local function prototypes */
|
||||
static int find_user_host(struct Client *source_p, const char *userhost, char *user, char *host);
|
||||
static int valid_comment(struct Client *source_p, char *comment);
|
||||
static int valid_user_host(struct Client *source_p, const char *user, const char *host);
|
||||
|
||||
static void handle_remote_kline(struct Client *source_p, int tkline_time,
|
||||
|
@ -166,8 +165,7 @@ mo_kline(struct Client *client_p, struct Client *source_p, int parc, const char
|
|||
(tkline_time > 0) ? SHARED_TKLINE : SHARED_PKLINE, CAP_KLN,
|
||||
"%lu %s %s :%s", tkline_time, user, host, reason);
|
||||
|
||||
if(!valid_user_host(source_p, user, host) ||
|
||||
!valid_comment(source_p, reason))
|
||||
if(!valid_user_host(source_p, user, host))
|
||||
return 0;
|
||||
|
||||
if(!valid_wild_card(user, host))
|
||||
|
@ -197,6 +195,9 @@ mo_kline(struct Client *client_p, struct Client *source_p, int parc, const char
|
|||
aconf->port = 0;
|
||||
aconf->info.oper = operhash_add(get_oper_name(source_p));
|
||||
|
||||
if(strlen(reason) > BANREASONLEN)
|
||||
reason[BANREASONLEN] = '\0';
|
||||
|
||||
/* Look for an oper reason */
|
||||
if((oper_reason = strchr(reason, '|')) != NULL)
|
||||
{
|
||||
|
@ -287,8 +288,7 @@ handle_remote_kline(struct Client *source_p, int tkline_time,
|
|||
(tkline_time > 0) ? SHARED_TKLINE : SHARED_PKLINE))
|
||||
return;
|
||||
|
||||
if(!valid_user_host(source_p, user, host) ||
|
||||
!valid_comment(source_p, reason))
|
||||
if(!valid_user_host(source_p, user, host))
|
||||
return;
|
||||
|
||||
if(!valid_wild_card(user, host))
|
||||
|
@ -311,6 +311,9 @@ handle_remote_kline(struct Client *source_p, int tkline_time,
|
|||
aconf->host = rb_strdup(host);
|
||||
aconf->info.oper = operhash_add(get_oper_name(source_p));
|
||||
|
||||
if(strlen(reason) > BANREASONLEN)
|
||||
reason[BANREASONLEN] = '\0';
|
||||
|
||||
/* Look for an oper reason */
|
||||
if((oper_reason = strchr(reason, '|')) != NULL)
|
||||
{
|
||||
|
@ -698,28 +701,6 @@ valid_user_host(struct Client *source_p, const char *luser, const char *lhost)
|
|||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* valid_comment
|
||||
* inputs - pointer to client
|
||||
* - pointer to comment
|
||||
* output - 0 if no valid comment, 1 if valid
|
||||
* side effects - NONE
|
||||
*/
|
||||
static int
|
||||
valid_comment(struct Client *source_p, char *comment)
|
||||
{
|
||||
if(strchr(comment, '"'))
|
||||
{
|
||||
sendto_one_notice(source_p, ":Invalid character '\"' in comment");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(strlen(comment) > BANREASONLEN)
|
||||
comment[BANREASONLEN] = '\0';
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* already_placed_kline()
|
||||
*
|
||||
* inputs - source to notify, user@host to check, tkline time
|
||||
|
|
|
@ -219,12 +219,6 @@ parse_resv(struct Client *source_p, const char *name, const char *reason, int te
|
|||
return;
|
||||
}
|
||||
|
||||
if(strchr(reason, '"'))
|
||||
{
|
||||
sendto_one_notice(source_p, ":Invalid character '\"' in comment");
|
||||
return;
|
||||
}
|
||||
|
||||
aconf = make_conf();
|
||||
aconf->status = CONF_RESV_CHANNEL;
|
||||
aconf->port = 0;
|
||||
|
@ -293,12 +287,6 @@ parse_resv(struct Client *source_p, const char *name, const char *reason, int te
|
|||
return;
|
||||
}
|
||||
|
||||
if(strchr(reason, '"'))
|
||||
{
|
||||
sendto_one_notice(source_p, ":Invalid character '\"' in comment");
|
||||
return;
|
||||
}
|
||||
|
||||
if(!valid_wild_card_simple(name))
|
||||
{
|
||||
sendto_one_notice(source_p,
|
||||
|
|
|
@ -256,18 +256,6 @@ valid_xline(struct Client *source_p, const char *gecos, const char *reason)
|
|||
return 0;
|
||||
}
|
||||
|
||||
if(strchr(reason, ':') != NULL)
|
||||
{
|
||||
sendto_one_notice(source_p, ":Invalid character ':' in comment");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(strchr(reason, '"'))
|
||||
{
|
||||
sendto_one_notice(source_p, ":Invalid character '\"' in comment");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(!valid_wild_card_simple(gecos))
|
||||
{
|
||||
sendto_one_notice(source_p,
|
||||
|
|
Loading…
Reference in a new issue