Skip to content

Commit

Permalink
Correctly print the decoded payload version when using already-encode…
Browse files Browse the repository at this point in the history
…d payloads
  • Loading branch information
ivanr committed Aug 24, 2012
1 parent a40ecc4 commit c7db07d
Showing 1 changed file with 18 additions and 3 deletions.
21 changes: 18 additions & 3 deletions run-test.pl
Expand Up @@ -24,6 +24,20 @@ sub trim {
return wantarray ? @_ : $_[0] if defined wantarray;
}

sub urlencode {
my $s = shift;
$s =~ s/ /+/g;
$s =~ s/([^A-Za-z0-9\+-])/sprintf("%%%02X", ord($1))/seg;
return $s;
}

sub urldecode {
my $s = shift;
$s =~ s/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg;
$s =~ s/\+/ /g;
return $s;
}

sub perform_test {
my $filename = shift(@_);

Expand Down Expand Up @@ -303,10 +317,11 @@ sub perform_test {
else {
if (defined $payload_file) {
foreach $PAYLOAD (@all_payloads) {
$PAYLOAD_ENCODED = $PAYLOAD;

if ($encode_payloads) {
$PAYLOAD_ENCODED =~ s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg;
$PAYLOAD_ENCODED = urlencode($PAYLOAD);
} else {
$PAYLOAD_ENCODED = $PAYLOAD;
$PAYLOAD = urldecode($PAYLOAD_ENCODED);
}

perform_test($filename);
Expand Down

0 comments on commit c7db07d

Please sign in to comment.