From: Mark Rada Date: Mon, 24 Aug 2009 03:09:36 GMT Subject: [RFC/PATCH 1/3] gitweb: improve snapshot error handling Message-ID: <4A920470.1090709@mailservices.uwaterloo.ca> In-Reply-To: <4A91C74D.1080908@vilain.net> Ok, this is just a resend of the first patch in my set from earlier, but with some of the commit message reworded, namely the subject (as suggested by Sam Vilain). -- Mark Rada (ferrous26) marada@uwaterloo.ca --->8--- In the second block of checks to validate a snapshot request, the last check is never executed because the second last check is a superset of the last check. This change will switch the order of the last two checks, it has the advantage of giving clients a more specific reason why they cannot get a snapshot format if the format they have chosen is disabled. Signed-off-by: Mark Rada --- gitweb/gitweb.perl | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 4a42f61..7068db2 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -5174,10 +5174,10 @@ sub git_snapshot { die_error(400, "Invalid snapshot format parameter"); } elsif (!exists($known_snapshot_formats{$format})) { die_error(400, "Unknown snapshot format"); - } elsif (!grep($_ eq $format, @snapshot_fmts)) { - die_error(403, "Unsupported snapshot format"); } elsif ($known_snapshot_formats{$format}{'disabled'}) { die_error(403, "Snapshot format not allowed"); + } elsif (!grep($_ eq $format, @snapshot_fmts)) { + die_error(403, "Unsupported snapshot format"); } if (!defined $hash) { -- 1.6.4