From a91d45dea559c0174a17d2a8d5bac4d91f814545 Mon Sep 17 00:00:00 2001 From: Nanne Baars Date: Sun, 25 Apr 2021 17:36:14 +0200 Subject: [PATCH] Fix other macros as well --- .../org/owasp/webgoat/asciidoc/OperatingSystemMacro.java | 5 ++++- .../org/owasp/webgoat/asciidoc/WebGoatTmpDirMacro.java | 8 ++++++-- .../org/owasp/webgoat/asciidoc/WebGoatVersionMacro.java | 7 +++++-- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/webgoat-container/src/main/java/org/owasp/webgoat/asciidoc/OperatingSystemMacro.java b/webgoat-container/src/main/java/org/owasp/webgoat/asciidoc/OperatingSystemMacro.java index 91613c309..4671a9fd5 100644 --- a/webgoat-container/src/main/java/org/owasp/webgoat/asciidoc/OperatingSystemMacro.java +++ b/webgoat-container/src/main/java/org/owasp/webgoat/asciidoc/OperatingSystemMacro.java @@ -17,6 +17,9 @@ public class OperatingSystemMacro extends InlineMacroProcessor { @Override public Object process(ContentNode contentNode, String target, Map attributes) { - return System.getProperty("os.name"); + var osName = System.getProperty("os.name"); + + //see https://discuss.asciidoctor.org/How-to-create-inline-macro-producing-HTML-In-AsciidoctorJ-td8313.html for why quoted is used + return createPhraseNode(contentNode, "quoted", osName); } } diff --git a/webgoat-container/src/main/java/org/owasp/webgoat/asciidoc/WebGoatTmpDirMacro.java b/webgoat-container/src/main/java/org/owasp/webgoat/asciidoc/WebGoatTmpDirMacro.java index 3310a22fe..0636e9823 100644 --- a/webgoat-container/src/main/java/org/owasp/webgoat/asciidoc/WebGoatTmpDirMacro.java +++ b/webgoat-container/src/main/java/org/owasp/webgoat/asciidoc/WebGoatTmpDirMacro.java @@ -16,7 +16,11 @@ public class WebGoatTmpDirMacro extends InlineMacroProcessor { } @Override - public String process(ContentNode contentNode, String target, Map attributes) { - return EnvironmentExposure.getEnv().getProperty("webgoat.server.directory"); + public Object process(ContentNode contentNode, String target, Map attributes) { + var env = EnvironmentExposure.getEnv().getProperty("webgoat.server.directory"); + + //see https://discuss.asciidoctor.org/How-to-create-inline-macro-producing-HTML-In-AsciidoctorJ-td8313.html for why quoted is used + return createPhraseNode(contentNode, "quoted", env); + } } diff --git a/webgoat-container/src/main/java/org/owasp/webgoat/asciidoc/WebGoatVersionMacro.java b/webgoat-container/src/main/java/org/owasp/webgoat/asciidoc/WebGoatVersionMacro.java index 8029ab0fd..15ff78ae5 100644 --- a/webgoat-container/src/main/java/org/owasp/webgoat/asciidoc/WebGoatVersionMacro.java +++ b/webgoat-container/src/main/java/org/owasp/webgoat/asciidoc/WebGoatVersionMacro.java @@ -16,7 +16,10 @@ public class WebGoatVersionMacro extends InlineMacroProcessor { } @Override - public String process(ContentNode contentNode, String target, Map attributes) { - return EnvironmentExposure.getEnv().getProperty("webgoat.build.version"); + public Object process(ContentNode contentNode, String target, Map attributes) { + var webgoatVersion = EnvironmentExposure.getEnv().getProperty("webgoat.build.version"); + + //see https://discuss.asciidoctor.org/How-to-create-inline-macro-producing-HTML-In-AsciidoctorJ-td8313.html for why quoted is used + return createPhraseNode(contentNode, "quoted", webgoatVersion); } }