From b444bfe1f46cbcc6de7c2fa9a5b1ac48c27858f1 Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Mon, 18 Nov 2013 16:33:42 +0100 Subject: [PATCH] [api] Don't infloop in delete_project_pubkey --- src/api/app/controllers/source_controller.rb | 3 +++ src/api/test/functional/source_controller_test.rb | 13 +++++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/api/app/controllers/source_controller.rb b/src/api/app/controllers/source_controller.rb index 9ea59548e9a..4d3cbf66f0a 100644 --- a/src/api/app/controllers/source_controller.rb +++ b/src/api/app/controllers/source_controller.rb @@ -631,6 +631,9 @@ def delete_project_pubkey pass_to_backend path return end + if not upperProject.include? ':' + break + end upperProject = upperProject.gsub(/:[^:]*$/, '') end diff --git a/src/api/test/functional/source_controller_test.rb b/src/api/test/functional/source_controller_test.rb index 485e1210a0e..cc06583ae27 100644 --- a/src/api/test/functional/source_controller_test.rb +++ b/src/api/test/functional/source_controller_test.rb @@ -1883,6 +1883,19 @@ def test_public_keys delete '/source/kde4/_pubkey' assert_response 403 + login_king + subprojectmeta="" + put url_for(:controller => :source, :action => :update_project_meta, :project => 'DoesNotExist:subproject'), subprojectmeta + assert_response :success + + delete '/source/DoesNotExist:subproject/_pubkey' + assert_response :success + + delete '/source/DoesNotExist:subproject' + assert_response :success + + login_tom + # FIXME: make a successful deletion of a key # via new _project route