From 6dff80b189a649f64a885a553ceefe1055cdb21e Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Wed, 22 Aug 2018 16:14:11 +0300 Subject: Fix project ownership authentication in submit-git handler --- brep/submit/submit-git.bash.in | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'brep/submit/submit-git.bash.in') diff --git a/brep/submit/submit-git.bash.in b/brep/submit/submit-git.bash.in index 8d5cc84..d19caaf 100644 --- a/brep/submit/submit-git.bash.in +++ b/brep/submit/submit-git.bash.in @@ -118,6 +118,7 @@ function create_owner_manifest () # } # Strip the query part and the leaf path component from the repository URL. +# The resulting URL contains the trailing slash. # function repository_base () # { @@ -125,7 +126,7 @@ function repository_base () # # sed -n \ -e 's%^\([^?]*\).*$%\1%' \ --e 's%^\(.*\)/[^/]\{1,\}/\{0,1\}$%\1%p' \ +-e 's%^\(.*/\)[^/]\{1,\}/\{0,1\}$%\1%p' \ <<<"$1" } @@ -146,7 +147,7 @@ function auth_project () # trace_func "$@" local prj="$1" - local ctl="${2%/}" + local ctl="$2" local rep="$3" local d @@ -168,7 +169,6 @@ function auth_project () # # the submitter as the project owner. # if [ -f "$m" ]; then - ctl="$(repository_base "$ctl")" # Parse the project owner manifest. # @@ -176,7 +176,7 @@ function auth_project () # local n v while IFS=: read -ru "$manifest_parser_ofd" -d '' n v; do - if [ "$n" == "control" -a "${v%/}" == "$ctl" ]; then + if [[ "$n" == "control" && "$ctl" == "$v"* ]]; then r="project" break fi @@ -211,7 +211,7 @@ function auth_package () # local prj="$1" local pkg="$2" - local ctl="${3%/}" + local ctl="$3" local rep="$4" local d @@ -240,7 +240,7 @@ function auth_package () # local n v while IFS=: read -ru "$manifest_parser_ofd" -d '' n v; do - if [ "$n" == "control" -a "${v%/}" == "$ctl" ]; then + if [ "$n" == "control" -a "$v" == "$ctl" ]; then r="package" break fi -- cgit v1.1