Cleanup hg permissions

This commit is contained in:
Eduard Heimbuch
2023-04-11 09:02:09 +02:00
parent 7e83d34fc0
commit aa78cb6f03
2 changed files with 35 additions and 100 deletions

View File

@@ -35,7 +35,6 @@ import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Set;
/**
* Permission filter for mercurial repositories.
@@ -44,8 +43,6 @@ import java.util.Set;
*/
public class HgPermissionFilter extends PermissionFilter {
private static final Set<String> READ_METHODS = Set.of("GET", "HEAD", "OPTIONS", "TRACE");
private final HgRepositoryHandler repositoryHandler;
public HgPermissionFilter(ScmConfiguration configuration, ScmProviderHttpServlet delegate, HgRepositoryHandler repositoryHandler) {
@@ -68,17 +65,12 @@ public class HgPermissionFilter extends PermissionFilter {
@Override
public boolean isWriteRequest(HttpServletRequest request) {
if (isHttpPostArgsEnabled()) {
return true;
}
return isDefaultWriteRequest(request);
// The repository permissions for read and write are handled by hg internally.
// Therefore, we ignore the checks here.
return false;
}
private boolean isHttpPostArgsEnabled() {
return repositoryHandler.getConfig().isEnableHttpPostArgs();
}
private boolean isDefaultWriteRequest(HttpServletRequest request) {
return !READ_METHODS.contains(request.getMethod());
}
}