You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jspwiki.apache.org by al...@apache.org on 2026/08/22 22:48:42 UTC

(jspwiki) 01/01: JSPWIKI-1278 see jira for details JSPWIKI-1240 Inconsistent test failures with RSSGenerator not finding the XML user database on CI builds reduces the logging a bit for routine messages that pollute the stdout

This is an automated email from the ASF dual-hosted git repository.

spyhunter99 pushed a commit to branch bug/JSPWIKI-1278
in repository https://gitbox.apache.org/repos/asf/jspwiki.git

commit ece4b0a2e02cc1b0ad93a538a905ab524f4669b7
Author: Alex O'Ree <al...@apache.org>
AuthorDate: Sat Aug 22 18:48:27 2026 -0400

    JSPWIKI-1278 see jira for details
    JSPWIKI-1240 Inconsistent test failures with RSSGenerator not finding the XML user database on CI builds
    reduces the logging a bit for routine messages that pollute the stdout
---
 .../main/java/org/apache/wiki/plugin/InsertPage.java    |  2 +-
 .../java/org/apache/wiki/plugin/PageViewPlugin.java     |  2 +-
 .../java/org/apache/wiki/plugin/InsertPageTest.java     | 13 +++++++++++++
 .../test/java/org/apache/wiki/rss/RSSGeneratorTest.java | 17 +++++++++++------
 .../src/main/java/org/apache/wiki/util/MailUtil.java    |  3 ++-
 5 files changed, 28 insertions(+), 9 deletions(-)

diff --git a/jspwiki-main/src/main/java/org/apache/wiki/plugin/InsertPage.java b/jspwiki-main/src/main/java/org/apache/wiki/plugin/InsertPage.java
index 0b9a526a0..a93a7901d 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/plugin/InsertPage.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/plugin/InsertPage.java
@@ -104,7 +104,7 @@ public class InsertPage implements Plugin {
         final String includedPage = TextUtil.replaceEntities(params.get( PARAM_PAGENAME ));
         String style              = TextUtil.replaceEntities(params.get( PARAM_STYLE ));
         final boolean showOnce    = "once".equals( params.get( PARAM_SHOW ) );
-        final String defaultstr   = params.get( PARAM_DEFAULT );
+        final String defaultstr   = TextUtil.replaceEntities(params.get( PARAM_DEFAULT ));
         final int section         = TextUtil.parseIntParameter(params.get( PARAM_SECTION ), -1 );
         int maxlen                = TextUtil.parseIntParameter(params.get( PARAM_MAXLENGTH ), -1 );
 
diff --git a/jspwiki-main/src/main/java/org/apache/wiki/plugin/PageViewPlugin.java b/jspwiki-main/src/main/java/org/apache/wiki/plugin/PageViewPlugin.java
index 5309f405d..c04a83c17 100644
--- a/jspwiki-main/src/main/java/org/apache/wiki/plugin/PageViewPlugin.java
+++ b/jspwiki-main/src/main/java/org/apache/wiki/plugin/PageViewPlugin.java
@@ -521,7 +521,7 @@ public class PageViewPlugin extends AbstractReferralPlugin implements Plugin, In
                     try( final InputStream fis = Files.newInputStream( new File( m_workDir, COUNTER_PAGE ).toPath() ) ) {
                         m_storage.load( fis );
                     } catch( final IOException ioe ) {
-                        LOG.error( "Can't load page counter store: " + ioe.getMessage() + " , will create a new one!" );
+                        LOG.debug( "Can't load page counter store: " + ioe.getMessage() + " , will create a new one!" );
                     }
 
                     // Copy the collection into a sorted map
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/plugin/InsertPageTest.java b/jspwiki-main/src/test/java/org/apache/wiki/plugin/InsertPageTest.java
index 9082c4bdf..60c73757b 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/plugin/InsertPageTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/plugin/InsertPageTest.java
@@ -113,4 +113,17 @@ public class InsertPageTest {
         Assertions.assertEquals( "<div class=\"inserted-page \" >foo\n</div>\n", testEngine.getManager( RenderingManager.class ).getHTML( "ThisPage" ), "found != 1" );
     }
 
+    /**
+     * The 'default' parameter is author-controlled and appended to the plugin's HTML output on the
+     * missing-page branch; it must be entity-encoded like the class/page/style parameters are.
+     */
+    @Test
+    public void testDefaultParameterIsEscaped() throws Exception {
+        testEngine.saveText( "ThisPage", "[{InsertPage page='NonExistentPageXyz123' default='<script>alert(document.cookie)</script>'}]" );
+
+        final String res = testEngine.getManager( RenderingManager.class ).getHTML( "ThisPage" );
+        Assertions.assertFalse( res.contains( "<script>" ), res );
+        Assertions.assertTrue( res.contains( "&lt;script&gt;alert(document.cookie)&lt;/script&gt;" ), res );
+    }
+
 }
diff --git a/jspwiki-main/src/test/java/org/apache/wiki/rss/RSSGeneratorTest.java b/jspwiki-main/src/test/java/org/apache/wiki/rss/RSSGeneratorTest.java
index e0bc0a413..21e08d32c 100644
--- a/jspwiki-main/src/test/java/org/apache/wiki/rss/RSSGeneratorTest.java
+++ b/jspwiki-main/src/test/java/org/apache/wiki/rss/RSSGeneratorTest.java
@@ -38,8 +38,10 @@ import java.util.List;
 import java.util.Properties;
 import java.util.UUID;
 import org.apache.commons.io.FileUtils;
+import org.apache.wiki.auth.UserManager;
 
 import static org.apache.wiki.auth.UserManager.PROP_DATABASE;
+import org.apache.wiki.auth.authorize.GroupManager;
 import org.apache.wiki.auth.authorize.XMLGroupDatabase;
 import org.apache.wiki.auth.user.XMLUserDatabase;
 
@@ -51,13 +53,16 @@ public class RSSGeneratorTest {
     public void testBlogRSS() throws Exception {
         
         Properties props = TestEngine.getTestProperties();
-        File target = new File("target/" + UUID.randomUUID() + ".xml");
-        FileUtils.copyFile(new File("src/test/resources/userdatabase.xml"), target);
-        props.setProperty(XMLUserDatabase.PROP_USERDATABASE, target.getAbsolutePath());
+        File userTarget = new File("target/" + UUID.randomUUID() + ".xml");
+        FileUtils.copyFile(new File("src/test/resources/userdatabase.xml"), userTarget);
+        props.setProperty(XMLUserDatabase.PROP_USERDATABASE, userTarget.getAbsolutePath());
         props.put(RSSGenerator.PROP_GENERATE_RSS, "true");
-        target = new File("target/" + UUID.randomUUID() + ".xml");
-        FileUtils.copyFile(new File("src/test/resources/groupdatabase.xml"), target);
-        props.setProperty(XMLGroupDatabase.PROP_DATABASE, target.getAbsolutePath());
+        File groupTarget = new File("target/" + UUID.randomUUID() + ".xml");
+        FileUtils.copyFile(new File("src/test/resources/groupdatabase.xml"), groupTarget);
+        props.setProperty(XMLGroupDatabase.PROP_DATABASE, groupTarget.getAbsolutePath());
+        props.setProperty(GroupManager.PROP_GROUPDATABASE, XMLGroupDatabase.class.getCanonicalName());
+        props.setProperty(UserManager.PROP_DATABASE, XMLUserDatabase.class.getCanonicalName());
+        
         TestEngine m_testEngine = TestEngine.build( props);
 
         final WeblogEntryPlugin plugin = new WeblogEntryPlugin();
diff --git a/jspwiki-util/src/main/java/org/apache/wiki/util/MailUtil.java b/jspwiki-util/src/main/java/org/apache/wiki/util/MailUtil.java
index a2aae8f9f..40746a9d3 100644
--- a/jspwiki-util/src/main/java/org/apache/wiki/util/MailUtil.java
+++ b/jspwiki-util/src/main/java/org/apache/wiki/util/MailUtil.java
@@ -299,7 +299,8 @@ public final class MailUtil {
             Transport.send(msg);
             LOG.info("Sent e-mail to={}, subject=\"{}\", used {} mail session.", to, subject, (c_useJndi ? "JNDI" : "standalone") );
         } catch (final MessagingException e) {
-            LOG.error(e);
+            LOG.error("Email tranmission error: " + e.getMessage());
+            LOG.debug("Email tranmission error: " + e.getMessage(), e);
             throw e;
         }
     }