Fix CheckValidNames().
- Make RegExp configurable. - Change default for clients (client names have spaces). Signed-off-by: Thomas Hochstein <thh@thh.name>
This commit is contained in:
parent
66a175c7f8
commit
09a9112679
|
@ -642,9 +642,11 @@ sub SQLGroupList {
|
||||||
### OUT: SQL code to become part of a 'WHERE' clause,
|
### OUT: SQL code to become part of a 'WHERE' clause,
|
||||||
### list of names for SQL bindings
|
### list of names for SQL bindings
|
||||||
my ($Names,$Type) = @_;
|
my ($Names,$Type) = @_;
|
||||||
|
my $InvalidCharRegExp;
|
||||||
# substitute '*' wildcard with SQL wildcard character '%'
|
# substitute '*' wildcard with SQL wildcard character '%'
|
||||||
$Names =~ s/\*/%/g;
|
$Names =~ s/\*/%/g;
|
||||||
return (undef,undef) if !CheckValidNames($Names);
|
$InvalidCharRegExp = ',;' if $Type eq 'client';
|
||||||
|
return (undef,undef) if !CheckValidNames($Names,$InvalidCharRegExp);
|
||||||
# just one name/newsgroup?
|
# just one name/newsgroup?
|
||||||
return (SQLGroupWildcard($Names,$Type),$Names) if $Names !~ /:/;
|
return (SQLGroupWildcard($Names,$Type),$Names) if $Names !~ /:/;
|
||||||
my ($SQL,@WildcardNames,@NoWildcardNames);
|
my ($SQL,@WildcardNames,@NoWildcardNames);
|
||||||
|
@ -807,10 +809,11 @@ sub SQLBuildClause {
|
||||||
sub CheckValidNames {
|
sub CheckValidNames {
|
||||||
################################################################################
|
################################################################################
|
||||||
### syntax check of a list
|
### syntax check of a list
|
||||||
### IN : $Names: list of names, e.g. newsgroups (group.one.*:group.two:group.three.*)
|
### IN : $Names : list of names, e.g. newsgroups (group.one.*:group.two:group.three.*)
|
||||||
|
### InvalidCharRegExp: regular expression for invalid characters
|
||||||
### OUT: boolean
|
### OUT: boolean
|
||||||
my ($Names) = @_;
|
my ($Names,$InvalidCharRegExp) = @_;
|
||||||
my $InvalidCharRegExp = ',; ';
|
$InvalidCharRegExp = ',; ' if (!$InvalidCharRegExp);
|
||||||
return ($Names =~ /[$InvalidCharRegExp]/) ? 0 : 1;
|
return ($Names =~ /[$InvalidCharRegExp]/) ? 0 : 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue