Remove double-quote restriction on dline, kline, resv, and xline reasons; remove colon restriction on xline reasons.

This commit is contained in:
Keith Buck 2011-12-30 17:29:58 +00:00
parent adcec062ce
commit 9319a2e206
4 changed files with 11 additions and 79 deletions

View file

@ -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

View file

@ -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

View file

@ -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,

View file

@ -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,