From bca8c5c52554b6aac65b8e2300675ae8f6af1d6d Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Wed, 15 May 2013 17:21:03 -0400 Subject: [PATCH] Fix message escaping when combined with regex substitutions (issue 242) --- src/main/java/com/gitblit/wicket/pages/BasePage.java | 63 +------------------------------ 1 files changed, 2 insertions(+), 61 deletions(-) diff --git a/src/main/java/com/gitblit/wicket/pages/BasePage.java b/src/main/java/com/gitblit/wicket/pages/BasePage.java index b2dcce3..9a1d467 100644 --- a/src/main/java/com/gitblit/wicket/pages/BasePage.java +++ b/src/main/java/com/gitblit/wicket/pages/BasePage.java @@ -32,11 +32,9 @@ import javax.servlet.http.HttpServletRequest; import org.apache.wicket.Application; -import org.apache.wicket.Component; import org.apache.wicket.MarkupContainer; import org.apache.wicket.PageParameters; import org.apache.wicket.RedirectToUrlException; -import org.apache.wicket.RequestCycle; import org.apache.wicket.RestartResponseException; import org.apache.wicket.markup.html.CSSPackageResource; import org.apache.wicket.markup.html.basic.Label; @@ -45,7 +43,6 @@ import org.apache.wicket.markup.html.panel.FeedbackPanel; import org.apache.wicket.markup.html.panel.Fragment; import org.apache.wicket.protocol.http.RequestUtils; -import org.apache.wicket.protocol.http.WebRequest; import org.apache.wicket.protocol.http.servlet.ServletWebRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -58,14 +55,12 @@ import com.gitblit.GitBlit; import com.gitblit.Keys; import com.gitblit.models.ProjectModel; -import com.gitblit.models.RepositoryModel; import com.gitblit.models.TeamModel; import com.gitblit.models.UserModel; import com.gitblit.utils.StringUtils; import com.gitblit.utils.TimeUtils; import com.gitblit.wicket.GitBlitWebSession; import com.gitblit.wicket.WicketUtils; -import com.gitblit.wicket.panels.DetailedRepositoryUrlPanel; import com.gitblit.wicket.panels.LinkPanel; public abstract class BasePage extends SessionPage { @@ -133,9 +128,9 @@ protected void setupPage(String repositoryName, String pageName) { if (repositoryName != null && repositoryName.trim().length() > 0) { - add(new Label("title", getServerName() + " - " + repositoryName)); + add(new Label("title", repositoryName + " - " + Keys.web.siteName)); } else { - add(new Label("title", getServerName())); + add(new Label("title", Keys.web.siteName)); } ExternalLink rootLink = new ExternalLink("rootLink", urlFor(RepositoriesPage.class, null).toString()); @@ -256,60 +251,6 @@ ServletWebRequest servletWebRequest = (ServletWebRequest) getRequest(); HttpServletRequest req = servletWebRequest.getHttpServletRequest(); return req.getServerName(); - } - - public static String getRepositoryUrl(RepositoryModel repository) { - StringBuilder sb = new StringBuilder(); - sb.append(WicketUtils.getGitblitURL(RequestCycle.get().getRequest())); - sb.append(Constants.GIT_PATH); - sb.append(repository.name); - - // inject username into repository url if authentication is required - if (repository.accessRestriction.exceeds(AccessRestrictionType.NONE) - && GitBlitWebSession.get().isLoggedIn()) { - String username = GitBlitWebSession.get().getUsername(); - sb.insert(sb.indexOf("://") + 3, username + "@"); - } - return sb.toString(); - } - - protected Component createGitDaemonUrlPanel(String wicketId, UserModel user, RepositoryModel repository) { - int gitDaemonPort = GitBlit.getInteger(Keys.git.daemonPort, 0); - if (gitDaemonPort > 0 && user.canClone(repository)) { - String servername = ((WebRequest) getRequest()).getHttpServletRequest().getServerName(); - String gitDaemonUrl; - if (gitDaemonPort == 9418) { - // standard port - gitDaemonUrl = MessageFormat.format("git://{0}/{1}", servername, repository.name); - } else { - // non-standard port - gitDaemonUrl = MessageFormat.format("git://{0}:{1,number,0}/{2}", servername, gitDaemonPort, repository.name); - } - - AccessPermission gitDaemonPermission = user.getRepositoryPermission(repository).permission;; - if (gitDaemonPermission.atLeast(AccessPermission.CLONE)) { - if (repository.accessRestriction.atLeast(AccessRestrictionType.CLONE)) { - // can not authenticate clone via anonymous git protocol - gitDaemonPermission = AccessPermission.NONE; - } else if (repository.accessRestriction.atLeast(AccessRestrictionType.PUSH)) { - // can not authenticate push via anonymous git protocol - gitDaemonPermission = AccessPermission.CLONE; - } else { - // normal user permission - } - } - - if (AccessPermission.NONE.equals(gitDaemonPermission)) { - // repository prohibits all anonymous access - return new Label(wicketId).setVisible(false); - } else { - // repository allows some form of anonymous access - return new DetailedRepositoryUrlPanel(wicketId, getLocalizer(), this, repository.name, gitDaemonUrl, gitDaemonPermission); - } - } else { - // git daemon is not running - return new Label(wicketId).setVisible(false); - } } protected List<ProjectModel> getProjectModels() { -- Gitblit v1.9.1