From: Rob H. <for...@us...> - 2002-08-26 06:59:50
|
Update of /cvsroot/sandweb/sandweb/lib/SandWeb/Repository In directory usw-pr-cvs1:/tmp/cvs-serv17665/lib/SandWeb/Repository Modified Files: cvs.pm Log Message: adding Security class, centralizes standard security checks for user input in SandWeb Index: cvs.pm =================================================================== RCS file: /cvsroot/sandweb/sandweb/lib/SandWeb/Repository/cvs.pm,v retrieving revision 1.31 retrieving revision 1.32 diff -U2 -r1.31 -r1.32 --- cvs.pm 17 Aug 2002 02:14:26 -0000 1.31 +++ cvs.pm 26 Aug 2002 06:59:47 -0000 1.32 @@ -28,4 +28,5 @@ use SandWeb::Diff; use SandWeb::Shell; +use SandWeb::Security; sub new { @@ -210,5 +211,5 @@ my %params = @{ $args{'params'}[0] }; my $recurse = $params{'recurse'}; - my $message = $params{'message'}; + my $unsafe_message = $params{'message'}; my $rev = $params{'rev'}; my $date = $params{'date'}; @@ -224,10 +225,14 @@ my %return; - if (!$message) { + if (!$unsafe_message) { $output = "There must be a commit message.\n"; } else { - # Security check - escape unsafe characters - $message =~ s/([\<\>\\\&;\`\'\|\"*\?\~\^\(\)\[\]\{\}\$])/\\$1/g; + # Security check + my $secure = SandWeb::Security->new(); + + my $message = $secure->shell( + characters => "$unsafe_message" + ); push @param, " -m \"$message\""; @@ -558,7 +563,14 @@ my $force = $params{'force'}; my $check = $params{'check'}; - my $name = $params{'name'}; + my $unsafe_name = $params{'name'}; my $file = $params{'file'}; + # Security check + my $secure = SandWeb::Secure->new(); + + my $name = $secure->shell( + characters => "$unsafe_name" + ); + my @param = 'tag'; @@ -573,7 +585,4 @@ $log->debug("Params: @param"); $log->debug("File: $file"); - - # Security check - escape unsafe characters - $name =~ s/([\<\>\\\&;\`\'\|\"*\?\~\^\(\)\[\]\{\}\$])/\\$1/g; my %return = $self->shell( |