From 45e7d914f3519882c63f60eafd9f746b2d56d967 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 10 Aug 2012 16:12:51 -0400 Subject: [PATCH] Encode as UTF-8 --- src/com/gitblit/wicket/pages/RepositoryPage.java | 18 ++++++++++++------ 1 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/com/gitblit/wicket/pages/RepositoryPage.java b/src/com/gitblit/wicket/pages/RepositoryPage.java index 3f57fbf..4b5e28d 100644 --- a/src/com/gitblit/wicket/pages/RepositoryPage.java +++ b/src/com/gitblit/wicket/pages/RepositoryPage.java @@ -32,6 +32,8 @@ import org.apache.wicket.markup.html.panel.Fragment; import org.apache.wicket.model.IModel; import org.apache.wicket.model.Model; +import org.apache.wicket.protocol.http.RequestUtils; +import org.apache.wicket.request.target.basic.RedirectRequestTarget; import org.eclipse.jgit.diff.DiffEntry.ChangeType; import org.eclipse.jgit.lib.PersonIdent; import org.eclipse.jgit.lib.Repository; @@ -153,7 +155,7 @@ protected void setupPage(String repositoryName, String pageName) { add(new LinkPanel("repositoryName", null, StringUtils.stripDotGit(repositoryName), SummaryPage.class, WicketUtils.newRepositoryParameter(repositoryName))); - add(new Label("pageName", pageName)); + add(new Label("pageName", pageName).setRenderBodyOnly(true)); if (getRepositoryModel().isBare) { add(new Label("workingCopy").setVisible(false)); } else { @@ -216,11 +218,11 @@ } protected void addFullText(String wicketId, String text, boolean substituteRegex) { - String html; + String html = StringUtils.escapeForHtml(text, true); if (substituteRegex) { html = GitBlit.self().processCommitMessage(repositoryName, text); } else { - html = StringUtils.breakLinesForHtml(text); + html = StringUtils.breakLinesForHtml(html); } add(new Label(wicketId, html).setEscapeModelStrings(false)); } @@ -254,7 +256,7 @@ setPersonSearchTooltip(nameLink, name, searchType); fullPerson.add(nameLink); - LinkPanel addressLink = new LinkPanel("personAddress", "list", "<" + address + ">", + LinkPanel addressLink = new LinkPanel("personAddress", "hidden-phone list", "<" + address + ">", GitSearchPage.class, WicketUtils.newSearchParameter(repositoryName, objectId, address, searchType)); setPersonSearchTooltip(addressLink, address, searchType); @@ -364,8 +366,12 @@ // this repository is Lucene-indexed searchPageClass = LuceneSearchPage.class; } - setResponsePage(searchPageClass, - WicketUtils.newSearchParameter(repositoryName, null, searchString, searchType)); + // use an absolute url to workaround Wicket-Tomcat problems with + // mounted url parameters (issue-111) + PageParameters params = WicketUtils.newSearchParameter(repositoryName, null, searchString, searchType); + String relativeUrl = urlFor(searchPageClass, params).toString(); + String absoluteUrl = RequestUtils.toAbsolutePath(relativeUrl); + getRequestCycle().setRequestTarget(new RedirectRequestTarget(absoluteUrl)); } } } -- Gitblit v1.9.1