From 3c5d3f6bd846c1312e075bf4546bbc4d52a93bd0 Mon Sep 17 00:00:00 2001 From: ajt <> Date: Sun, 9 Oct 2005 13:03:32 -0800 Subject: [PATCH] [project @ 2005-10-09 14:03:32 by ajt] limit usertags to alphanumerics, dot, at, plus, dash --- scripts/service.in | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/scripts/service.in b/scripts/service.in index 9bba5cdd..382b0cd3 100755 --- a/scripts/service.in +++ b/scripts/service.in @@ -1,5 +1,5 @@ #!/usr/bin/perl -# $Id: service.in,v 1.115 2005/10/06 03:46:13 ajt Exp $ +# $Id: service.in,v 1.116 2005/10/09 14:03:32 ajt Exp $ # # Usage: service .nn # Temps: incoming/P.nn @@ -262,8 +262,18 @@ END } else { my %ut; Debbugs::User::read_usertags(\%ut, $user); - my @oldtags = (); my @newtags = (); - my %chtags = map { ($_, 1) } split /[,\s]+/, $tags; + my @oldtags = (); my @newtags = (); my @badtags = (); + my %chtags; + for my $t (split /[,\s]+/, $tags) { + if ($t =~ m/^[a-zA-Z0-9.+\@-]+$/) { + $chtags{$t} = 1; + } else { + push @badtags, $t; + } + } + if (@badtags) { + &transcript("Ignoring illegal tag/s: ".join(', ', @badtags).".\nPlease use only alphanumerics, at, dot, plus and dash.\n"); + } for my $t (keys %chtags) { $ut{$t} = [] unless defined $ut{$t}; } -- 2.39.5