From 9da97003c7f33a64ae5060f413f9c4c5d26efe78 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 19 May 2011 19:01:45 -0400 Subject: [PATCH] Critical fix for servlet. --- src/com/gitblit/wicket/RepositoryPage.java | 23 ++++++++++++----------- 1 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/com/gitblit/wicket/RepositoryPage.java b/src/com/gitblit/wicket/RepositoryPage.java index 1f88075..e3ae635 100644 --- a/src/com/gitblit/wicket/RepositoryPage.java +++ b/src/com/gitblit/wicket/RepositoryPage.java @@ -36,7 +36,6 @@ import com.gitblit.wicket.pages.BranchesPage; import com.gitblit.wicket.pages.DocsPage; import com.gitblit.wicket.pages.LogPage; -import com.gitblit.wicket.pages.RepositoriesPage; import com.gitblit.wicket.pages.SearchPage; import com.gitblit.wicket.pages.SummaryPage; import com.gitblit.wicket.pages.TagsPage; @@ -79,10 +78,8 @@ } Repository r = getRepository(); - if (r == null) { - error(MessageFormat.format("Failed to open repository {0} for {1}!", repositoryName, getPageName()), true); - } - + RepositoryModel model = getRepositoryModel(); + // standard page links add(new BookmarkablePageLink<Void>("summary", SummaryPage.class, WicketUtils.newRepositoryParameter(repositoryName))); add(new BookmarkablePageLink<Void>("log", LogPage.class, WicketUtils.newRepositoryParameter(repositoryName))); @@ -94,12 +91,12 @@ List<String> extraPageLinks = new ArrayList<String>(); // Conditionally add tickets page - if (getRepositoryModel().useTickets && JGitUtils.getTicketsBranch(r) != null) { + if (model.useTickets && JGitUtils.getTicketsBranch(r) != null) { extraPageLinks.add("tickets"); } // Conditionally add docs page - if (getRepositoryModel().useDocs) { + if (model.useDocs) { extraPageLinks.add("docs"); } @@ -150,8 +147,7 @@ if (r == null) { Repository r = GitBlit.self().getRepository(repositoryName); if (r == null) { - error("Can not load repository " + repositoryName); - redirectToInterceptPage(new RepositoriesPage()); + error("Can not load repository " + repositoryName, true); return null; } this.r = r; @@ -161,11 +157,16 @@ protected RepositoryModel getRepositoryModel() { if (m == null) { - m = GitBlit.self().getRepositoryModel(repositoryName); + RepositoryModel model = GitBlit.self().getRepositoryModel(GitBlitWebSession.get().getUser(), repositoryName); + if (model == null) { + error("Unauthorized access for repository " + repositoryName, true); + return null; + } + m = model; } return m; } - + protected RevCommit getCommit() { RevCommit commit = JGitUtils.getCommit(r, objectId); if (commit == null) { -- Gitblit v1.9.1