From 3e44b65e329c199f95488f9429c1a20362c70b4d Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 22 Oct 2012 08:55:44 -0400 Subject: [PATCH] Ensure illegal repository names are rejected in create-on-push --- src/com/gitblit/wicket/pages/BasePage.java | 52 +++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 41 insertions(+), 11 deletions(-) diff --git a/src/com/gitblit/wicket/pages/BasePage.java b/src/com/gitblit/wicket/pages/BasePage.java index 00d9677..48a872a 100644 --- a/src/com/gitblit/wicket/pages/BasePage.java +++ b/src/com/gitblit/wicket/pages/BasePage.java @@ -15,6 +15,7 @@ */ package com.gitblit.wicket.pages; +import java.text.MessageFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Collections; @@ -52,6 +53,7 @@ import org.slf4j.LoggerFactory; import com.gitblit.Constants; +import com.gitblit.Constants.AccessPermission; import com.gitblit.Constants.AccessRestrictionType; import com.gitblit.Constants.FederationStrategy; import com.gitblit.GitBlit; @@ -76,14 +78,14 @@ super(); logger = LoggerFactory.getLogger(getClass()); customizeHeader(); - loginByCookie(); + login(); } public BasePage(PageParameters params) { super(params); logger = LoggerFactory.getLogger(getClass()); customizeHeader(); - loginByCookie(); + login(); } private void customizeHeader() { @@ -127,16 +129,14 @@ super.onAfterRender(); } - private void loginByCookie() { - if (!GitBlit.getBoolean(Keys.web.allowCookieAuthentication, false)) { - return; - } - UserModel user = null; - - // Grab cookie from Browser Session + private void login() { Cookie[] cookies = ((WebRequest) getRequestCycle().getRequest()).getCookies(); - if (cookies != null && cookies.length > 0) { + UserModel user = null; + if (GitBlit.self().allowCookieAuthentication() && cookies != null && cookies.length > 0) { + // Grab cookie from Browser Session user = GitBlit.self().authenticate(cookies); + } else { + user = GitBlit.self().authenticate(((WebRequest) getRequestCycle().getRequest()).getHttpServletRequest()); } // Login the user @@ -199,6 +199,36 @@ break; case VIEW: map.put(type, getString("gb.viewRestricted")); + break; + } + } + return map; + } + + protected Map<AccessPermission, String> getAccessPermissions() { + Map<AccessPermission, String> map = new LinkedHashMap<AccessPermission, String>(); + for (AccessPermission type : AccessPermission.values()) { + switch (type) { + case NONE: + map.put(type, MessageFormat.format(getString("gb.noPermission"), type.code)); + break; + case VIEW: + map.put(type, MessageFormat.format(getString("gb.viewPermission"), type.code)); + break; + case CLONE: + map.put(type, MessageFormat.format(getString("gb.clonePermission"), type.code)); + break; + case PUSH: + map.put(type, MessageFormat.format(getString("gb.pushPermission"), type.code)); + break; + case CREATE: + map.put(type, MessageFormat.format(getString("gb.createPermission"), type.code)); + break; + case DELETE: + map.put(type, MessageFormat.format(getString("gb.deletePermission"), type.code)); + break; + case REWIND: + map.put(type, MessageFormat.format(getString("gb.rewindPermission"), type.code)); break; } } @@ -297,7 +327,7 @@ for (ProjectModel projectModel : availableModels) { for (String repositoryName : projectModel.repositories) { for (TeamModel teamModel : teamModels) { - if (teamModel.hasRepository(repositoryName)) { + if (teamModel.hasRepositoryPermission(repositoryName)) { models.add(projectModel); } } -- Gitblit v1.9.1