From d80588d99511fac16495f8eaafa50e01a6b98995 Mon Sep 17 00:00:00 2001
From: guriguri <guriguri.kr@gmail.com>
Date: Wed, 31 Jul 2013 11:20:49 -0400
Subject: [PATCH] apply PageParameters(final Map<String, ?> parameterMap), encode filename of Content-Disposition
---
src/main/java/com/gitblit/GitBlit.java | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/gitblit/GitBlit.java b/src/main/java/com/gitblit/GitBlit.java
index efdaad1..e47c4c6 100644
--- a/src/main/java/com/gitblit/GitBlit.java
+++ b/src/main/java/com/gitblit/GitBlit.java
@@ -1557,6 +1557,10 @@
* @return repository or null
*/
public Repository getRepository(String repositoryName, boolean logError) {
+ // Decode url-encoded repository name (issue-278)
+ // http://stackoverflow.com/questions/17183110
+ repositoryName = repositoryName.replace("%7E", "~").replace("%7e", "~");
+
if (isCollectingGarbage(repositoryName)) {
logger.warn(MessageFormat.format("Rejecting request for {0}, busy collecting garbage!", repositoryName));
return null;
@@ -1656,6 +1660,10 @@
* @return repository model or null
*/
public RepositoryModel getRepositoryModel(String repositoryName) {
+ // Decode url-encoded repository name (issue-278)
+ // http://stackoverflow.com/questions/17183110
+ repositoryName = repositoryName.replace("%7E", "~").replace("%7e", "~");
+
if (!repositoryListCache.containsKey(repositoryName)) {
RepositoryModel model = loadRepositoryModel(repositoryName);
if (model == null) {
--
Gitblit v1.9.1