mirror of
https://github.com/pissnet/angiosperm.git
synced 2025-05-08 03:05:03 +01:00
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
modules
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue