James Moger
2015-06-30 124fd6e639b0bc43f3714134d6dead77895fd490
Merge pull request #282 from mrjoel/mrjoel-fixhttpurlperms

fix permission capping for HTTP/HTTPS
1 files modified
5 ■■■■■ changed files
src/main/java/com/gitblit/manager/ServicesManager.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/manager/ServicesManager.java
@@ -166,13 +166,14 @@
            settings.getBoolean(Keys.web.showHttpServletUrls, true)) {
            AccessPermission permission = user.getRepositoryPermission(repository).permission;
            if (permission.exceeds(AccessPermission.NONE)) {
                Transport transport = Transport.fromString(request.getScheme());
                String repoUrl = getRepositoryUrl(request, username, repository);
                Transport transport = Transport.fromUrl(repoUrl);
                if (permission.atLeast(AccessPermission.PUSH) && !acceptsPush(transport)) {
                    // downgrade the repo permission for this transport
                    // because it is not an acceptable PUSH transport
                    permission = AccessPermission.CLONE;
                }
                list.add(new RepositoryUrl(getRepositoryUrl(request, username, repository), permission));
                list.add(new RepositoryUrl(repoUrl, permission));
            }
        }