James Moger
2014-07-05 f010ef67e4fece736f005050ef63ad5a62c68c8b
Fix raw servlet blob paths not respecting web.forwardSlashCharacter
1 files modified
18 ■■■■■ changed files
src/main/java/com/gitblit/servlet/RawServlet.java 18 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/servlet/RawServlet.java
@@ -95,20 +95,17 @@
            baseURL = baseURL.substring(0, baseURL.length() - 1);
        }
        char fsc = '!';
        char c = GitblitContext.getManager(IRuntimeManager.class).getSettings().getChar(Keys.web.forwardSlashCharacter, '/');
        if (c != '/') {
            fsc = c;
        }
        if (branch != null) {
            char fsc = '!';
            char c = GitblitContext.getManager(IRuntimeManager.class).getSettings().getChar(Keys.web.forwardSlashCharacter, '/');
            if (c != '/') {
                fsc = c;
            }
            branch = branch.replace('/', fsc);
        }
        String encodedPath = path == null ? "" : path.replace(' ', '-');
        try {
            encodedPath = URLEncoder.encode(encodedPath, "UTF-8");
        } catch (UnsupportedEncodingException e) {
        }
        encodedPath = encodedPath.replace('/', fsc);
        return baseURL + Constants.RAW_PATH + repository + "/" + (branch == null ? "" : (branch + "/" + (path == null ? "" : encodedPath)));
    }
@@ -133,7 +130,8 @@
        if (path.endsWith("/")) {
            path = path.substring(0, path.length() - 1);
        }
        return path;
        char c = runtimeManager.getSettings().getChar(Keys.web.forwardSlashCharacter, '/');
        return path.replace('!', '/').replace(c, '/');
    }
    protected boolean renderIndex() {