src/main/java/com/gitblit/wicket/MarkupProcessor.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/gitblit/wicket/WicketUtils.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/gitblit/wicket/pages/BlobPage.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/gitblit/wicket/pages/DocPage.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/gitblit/wicket/pages/DocsPage.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/gitblit/wicket/pages/SummaryPage.java | ●●●●● patch | view | raw | blame | history |
src/main/java/com/gitblit/wicket/MarkupProcessor.java
@@ -60,6 +60,7 @@ import com.gitblit.utils.JGitUtils; import com.gitblit.utils.MarkdownUtils; import com.gitblit.utils.StringUtils; import com.gitblit.utils.XssFilter; import com.gitblit.wicket.pages.DocPage; import com.google.common.base.Joiner; @@ -80,11 +81,9 @@ private final IStoredSettings settings; public MarkupProcessor(IStoredSettings settings) { this.settings = settings; } private final XssFilter xssFilter; public List<String> getMarkupExtensions() { public static List<String> getMarkupExtensions(IStoredSettings settings) { List<String> list = new ArrayList<String>(); list.addAll(settings.getStrings(Keys.web.confluenceExtensions)); list.addAll(settings.getStrings(Keys.web.markdownExtensions)); @@ -95,8 +94,17 @@ return list; } public MarkupProcessor(IStoredSettings settings, XssFilter xssFilter) { this.settings = settings; this.xssFilter = xssFilter; } public List<String> getMarkupExtensions() { return getMarkupExtensions(settings); } public List<String> getAllExtensions() { List<String> list = getMarkupExtensions(); List<String> list = getMarkupExtensions(settings); list.add("txt"); list.add("TXT"); return list; @@ -295,7 +303,11 @@ MarkupParser parser = new MarkupParser(lang); parser.setBuilder(builder); parser.parse(doc.markup); doc.html = writer.toString(); final String content = writer.toString(); final String safeContent = xssFilter.relaxed(content); doc.html = safeContent; } /** @@ -345,7 +357,11 @@ return new Rendering(url, name); } }; doc.html = MarkdownUtils.transformMarkdown(doc.markup, renderer); final String content = MarkdownUtils.transformMarkdown(doc.markup, renderer); final String safeContent = xssFilter.relaxed(content); doc.html = safeContent; } private String getWicketUrl(Class<? extends Page> pageClass, final String repositoryName, final String commitId, final String document) { src/main/java/com/gitblit/wicket/WicketUtils.java
@@ -42,6 +42,7 @@ import com.gitblit.Constants; import com.gitblit.Constants.AccessPermission; import com.gitblit.Constants.FederationPullStatus; import com.gitblit.IStoredSettings; import com.gitblit.Keys; import com.gitblit.models.FederationModel; import com.gitblit.models.Metric; @@ -186,9 +187,9 @@ return newImage(wicketId, "file_settings_16x16.png"); } MarkupProcessor processor = new MarkupProcessor(GitBlitWebApp.get().settings()); String ext = StringUtils.getFileExtension(filename).toLowerCase(); if (processor.getMarkupExtensions().contains(ext)) { IStoredSettings settings = GitBlitWebApp.get().settings(); if (MarkupProcessor.getMarkupExtensions(settings).contains(ext)) { return newImage(wicketId, "file_world_16x16.png"); } return newImage(wicketId, "file_16x16.png"); src/main/java/com/gitblit/wicket/pages/BlobPage.java
@@ -79,7 +79,7 @@ } // see if we should redirect to the doc page MarkupProcessor processor = new MarkupProcessor(app().settings()); MarkupProcessor processor = new MarkupProcessor(app().settings(), app().xssFilter()); for (String ext : processor.getMarkupExtensions()) { if (ext.equals(extension)) { setResponsePage(DocPage.class, params); src/main/java/com/gitblit/wicket/pages/DocPage.java
@@ -43,7 +43,7 @@ super(params); final String path = WicketUtils.getPath(params).replace("%2f", "/").replace("%2F", "/"); MarkupProcessor processor = new MarkupProcessor(app().settings()); MarkupProcessor processor = new MarkupProcessor(app().settings(), app().xssFilter()); Repository r = getRepository(); RevCommit commit = JGitUtils.getCommit(r, objectId); src/main/java/com/gitblit/wicket/pages/DocsPage.java
@@ -49,7 +49,7 @@ public DocsPage(PageParameters params) { super(params); MarkupProcessor processor = new MarkupProcessor(app().settings()); MarkupProcessor processor = new MarkupProcessor(app().settings(), app().xssFilter()); Repository r = getRepository(); RevCommit head = JGitUtils.getCommit(r, null); src/main/java/com/gitblit/wicket/pages/SummaryPage.java
@@ -138,7 +138,7 @@ MarkupDocument markupDoc = null; RevCommit head = JGitUtils.getCommit(r, null); if (head != null) { MarkupProcessor processor = new MarkupProcessor(app().settings()); MarkupProcessor processor = new MarkupProcessor(app().settings(), app().xssFilter()); markupDoc = processor.getReadme(r, repositoryName, getBestCommitId(head)); } if (markupDoc == null || markupDoc.markup == null) {