James Moger
2013-07-24 d22773711cf6e7d730e5542d01312ff1965554ba
Automatically decode %7E in repository names to ~ (issue-278)
2 files modified
11 ■■■■■ changed files
releases.moxie 3 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/GitBlit.java 8 ●●●●● patch | view | raw | blame | history
releases.moxie
@@ -13,12 +13,13 @@
    security: ~
    fixes:
    - Gitblit-as-viewer with no repository urls failed to display summary page (issue 269)
    - Fixed incorrect tagger in the dashboard pages (issue-276)
    - Automatically decode %7E in repository names from git clients that encode ~ (issue-278)
    - Fixed missing model class dependencies in Gitblit Manager build
    - Fix for IE10 compatibility mode
    - Reset dashboard and activity commit cache on branch REWIND or DELETE
    - Fixed bug with adding new local users with external authentication
    - Fixed missing clone url on the empty repository page
    - Fixed incorrect tagger in the dashboard pages (issue-276)
    - Fixed Ubuntu service script for LSB compliance
    - Inserted "sleep 5" in Ubuntu & Centos bash script for service restart
    changes:    
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) {