--- gitweb/gitweb.perl | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl index 030d429..c715472 100755 --- a/gitweb/gitweb.perl +++ b/gitweb/gitweb.perl @@ -74,6 +74,11 @@ sub evaluate_uri { our $home_link = $my_uri || "/"; } +# Request parameters +our ($action, $project, $DEBUG, $file_name, $file_parent, $hash, $hash_parent, $hash_base, + $hash_parent_base, @extra_options, $page, $searchtype, $search_use_regexp, + $searchtext, $search_regexp, $project_filter); + # core git executable to use # this can just be "git" if your webserver has a sensible PATH our $GIT = "++GIT_BINDIR++/git"; @@ -803,6 +808,7 @@ our %input_params = (); our @cgi_param_mapping = ( project => "p", action => "a", + debug => "debug", file_name => "f", file_parent => "fp", hash => "h", @@ -1033,9 +1039,6 @@ sub evaluate_path_info { } } -our ($action, $project, $file_name, $file_parent, $hash, $hash_parent, $hash_base, - $hash_parent_base, @extra_options, $page, $searchtype, $search_use_regexp, - $searchtext, $search_regexp, $project_filter); sub evaluate_and_validate_params { our $action = $input_params{'action'}; if (defined $action) { @@ -1053,6 +1056,23 @@ sub evaluate_and_validate_params { } } + our $DEBUG = $input_params{'debug'}; + if (defined $DEBUG) { + if ( $DEBUG =~ /^([Yy][Ee][Ss]|[Oo][Nn]|1|[Tt][Rr][Uu][Ee])$/ ) { + if ( defined($ENV{'GITWEB_MAY_DEBUG'}) && $ENV{'GITWEB_MAY_DEBUG'} eq "yes" ) { + $DEBUG = 1; #true + } else { + printf STDERR "Invalid action parameter: DEBUG=$DEBUG was requested but server-side GITWEB_MAY_DEBUG=yes is not set\n"; + die_error(403, "Invalid action parameter: DEBUG was requested but server-side GITWEB_MAY_DEBUG=yes is not set"); + $DEBUG = 0; #false + } + } else { + $DEBUG = 0; #false + } + } else { + $DEBUG = 0; # false + } + our $project_filter = $input_params{'project_filter'}; if (defined $project_filter) { if (!is_valid_pathname($project_filter)) { -- 2.1.4 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html