threads / patch / 4605

patchgitweb: Make use of $PATH_INFO for project parameter

Subject: [PATCH] gitweb: Make use of $PATH_INFO for project parameter

## tl;dr

3 messages between Jun 21, 2006 and Jun 21, 2006. Diffs are folded; open one to read it.

replies: 2people: 1as markdown or json

Jakub Narebski· Jun 21, 2006, 14:47 UTC · lore

Allow to have project name in the path part of URL, just after the name of script. For example instead of gitweb.cgi?p=git.git you can write gitweb.cgi/git.git or gitweb.cgi/git.git/

Not used in URLs inside gitweb; it means that the above alternate syntax must be generated by hand, at least for now.

Side effect: project name parameter is now stripped of leading and trailing slash before validation.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
 gitweb/gitweb.cgi |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
51faac72f83777ced3d9d3544cc6d47431d1b8ee
Show changes to gitweb/gitweb.cgi +2 −1
diff --git a/gitweb/gitweb.cgi b/gitweb/gitweb.cgi
index e044c61..91698df 100755
--- a/gitweb/gitweb.cgi
+++ b/gitweb/gitweb.cgi
@@ -86,7 +86,8 @@ if (defined $order) {
 	}
 }
 
-my $project = $cgi->param('p');
+my $project = ($cgi->param('p') || $ENV{'PATH_INFO'});
+$project =~ s|^/||; $project =~ s|/$||;
 if (defined $project) {
 	$project = validate_input($project);
 	if (!defined($project)) {
-- 
1.3.0
Jakub Narebski· Jun 21, 2006, 15:03 UTC · re: Jakub Narebski · lore

[PATCH (amend)] gitweb: Make use of $PATH_INFO for project parameter

Allow to have project name in the path part of URL, just after the name of script. For example instead of gitweb.cgi?p=git.git you can write gitweb.cgi/git.git or gitweb.cgi/git.git/

Not used in URLs inside gitweb; it means that the above alternate syntax must be generated by hand, at least for now.

Side effect: project name parameter is now stripped of leading and trailing slash before validation.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
 gitweb/gitweb.cgi |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
63ffc79283d23aeedbdc259e3b069f1e97498e09
Show changes to gitweb/gitweb.cgi +2 −1
diff --git a/gitweb/gitweb.cgi b/gitweb/gitweb.cgi
index e044c61..91698df 100755
--- a/gitweb/gitweb.cgi
+++ b/gitweb/gitweb.cgi
@@ -86,7 +86,8 @@ if (defined $order) {
 	}
 }
 
-my $project = $cgi->param('p');
+my $project = ($cgi->param('p') || $ENV{'PATH_INFO'});
+$project =~ s|^/||; $project =~ s|/$||;
 if (defined $project) {
 	$project = validate_input($project);
 	if (!defined($project)) {
-- 
1.3.0
Jakub Narebski· Jun 21, 2006, 15:06 UTC · re: Jakub Narebski · lore

Allow to have project name in the path part of URL, just after the name of script. For example instead of gitweb.cgi?p=git.git you can write gitweb.cgi/git.git or gitweb.cgi/git.git/

Not used in URLs inside gitweb; it means that the above alternate syntax must be generated by hand, at least for now.

Side effect: project name parameter is now stripped of leading and trailing slash before validation.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>

--- This is final, correct version of the patch.

 gitweb/gitweb.cgi |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
b9df055ae8d3aafe03744537026823dbaf7342ba
Show changes to gitweb/gitweb.cgi +2 −1
diff --git a/gitweb/gitweb.cgi b/gitweb/gitweb.cgi
index e044c61..e2108de 100755
--- a/gitweb/gitweb.cgi
+++ b/gitweb/gitweb.cgi
@@ -86,8 +86,9 @@ if (defined $order) {
 	}
 }
 
-my $project = $cgi->param('p');
+my $project = ($cgi->param('p') || $ENV{'PATH_INFO'});
 if (defined $project) {
+	$project =~ s|^/||; $project =~ s|/$||;
 	$project = validate_input($project);
 	if (!defined($project)) {
 		die_error(undef, "Invalid project parameter.");
-- 
1.3.0

← back to recent threads