From 8c8f1f537b62a608e9ef01b70bec5a8df4dc8e8a Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 16 Jan 2013 07:57:18 -0500
Subject: [PATCH] Escape metacharacters for settings updates

---
 src/com/gitblit/wicket/pages/RepositoryPage.java |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/src/com/gitblit/wicket/pages/RepositoryPage.java b/src/com/gitblit/wicket/pages/RepositoryPage.java
index 3acf73a..78ffe80 100644
--- a/src/com/gitblit/wicket/pages/RepositoryPage.java
+++ b/src/com/gitblit/wicket/pages/RepositoryPage.java
@@ -112,7 +112,7 @@
 					// workaround until get().getUser() is reviewed throughout the app
 					user = UserModel.ANONYMOUS;
 				}
-				boolean canAccess = user.hasBranchPermission(repositoryName,
+				boolean canAccess = user.canView(getRepositoryModel(),
 								branch.reference.getName());
 				if (!canAccess) {
 					error(getString("gb.accessDenied"), true);
@@ -246,6 +246,14 @@
 			}
 		}
 		
+		// show sparkleshare folder icon
+		if (model.isSparkleshared()) {
+			add(WicketUtils.newImage("repositoryIcon", "folder_star_32x32.png",
+					getString("gb.isSparkleshared")));
+		} else {
+			add(WicketUtils.newClearPixel("repositoryIcon").setVisible(false));
+		}
+		
 		if (getRepositoryModel().isBare) {
 			add(new Label("workingCopyIndicator").setVisible(false));
 		} else {
@@ -326,7 +334,7 @@
 			RepositoryModel model = GitBlit.self().getRepositoryModel(
 					GitBlitWebSession.get().getUser(), repositoryName);
 			if (model == null) {
-				if (GitBlit.self().hasRepository(repositoryName)) {
+				if (GitBlit.self().hasRepository(repositoryName, true)) {
 					// has repository, but unauthorized
 					authenticationError(getString("gb.unauthorizedAccessForRepository") + " " + repositoryName);
 				} else {
@@ -357,10 +365,6 @@
 				submodules.put(model.path, model);
 			}
 		}
-		return submodules;
-	}
-	
-	protected Map<String, SubmoduleModel> getSubmodules() {
 		return submodules;
 	}
 	
@@ -450,6 +454,8 @@
 			Constants.SearchType searchType) {
 		String name = identity == null ? "" : identity.getName();
 		String address = identity == null ? "" : identity.getEmailAddress();
+		name = StringUtils.removeNewlines(name);
+		address = StringUtils.removeNewlines(address);
 		boolean showEmail = GitBlit.getBoolean(Keys.web.showEmailAddresses, false);
 		if (!showEmail || StringUtils.isEmpty(name) || StringUtils.isEmpty(address)) {
 			String value = name;

--
Gitblit v1.9.1