You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jspwiki.apache.org by ju...@apache.org on 2026/07/12 21:00:21 UTC

(jspwiki) branch master updated (6116487ad -> 0e59cfed4)

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

juanpablo-santos pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/jspwiki.git


    from 6116487ad Turn off compression, which should avoid uglify, which should avoid instantiating commons-pool2 with it's nasty (for JDK-18 builds under GH Actions) mbeans
     new 6a2e5d4ee https for jspwiki.a.o url
     new da296a8f9 Move owasp filters configuration to web-fragment.xml at jspwiki-http
     new 84cffc4b0 Allow OWASP filters to be configured also through wiki properties at jspwiki.http.filters namespace
     new 18a38a044 jspwiki-war defaults to http again; for a full https version, jspwiki-war-https is provided
     new de2d719ef Update dependencies
     new 0e59cfed4 3.0.0-git-24

The 6 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 ChangeLog.md                                       | 19 +++++
 LICENSE                                            | 20 +++---
 .../src/main/java/org/apache/wiki/api/Release.java |  2 +-
 .../org/apache/wiki/http/filter/COEPFilter.java    | 23 +++---
 .../org/apache/wiki/http/filter/CORPFilter.java    | 20 +++---
 .../org/apache/wiki/http/filter/CSPFilter.java     | 20 +++---
 .../apache/wiki/http/filter/ClickJackFilter.java   | 24 ++++---
 .../wiki/http/filter/ContentTypeOptionsFilter.java | 19 ++---
 .../apache/wiki/http/filter/CrossDomainFilter.java | 23 +++---
 .../apache/wiki/http/filter/FilterOperations.java  | 46 ++++++++++++
 .../wiki/http/filter/ReferrerPolicyFilter.java     | 20 +++---
 .../org/apache/wiki/http/filter/STSFilter.java     | 24 ++++---
 .../src/main/resources/META-INF/web-fragment.xml   | 65 +++++++++++++++++
 .../es => jspwiki-https-enabler}/pom.xml           | 63 +++++++++--------
 .../src/main/resources/META-INF/web-fragment.xml   | 18 +++++
 .../src/main/webapp/WEB-INF/web.xml                |  2 +-
 .../src/main/webapp/WEB-INF/web.xml                |  2 +-
 .../src/main/webapp/WEB-INF/web.xml                |  2 +-
 .../src/main/webapp/WEB-INF/web.xml                |  2 +-
 .../src/main/webapp/WEB-INF/web.xml                |  2 +-
 .../main/java/org/apache/wiki/util/HttpUtil.java   | 21 ++++--
 jspwiki-war-https/pom.xml                          | 82 ++++++++++++++++++++++
 jspwiki-war/src/main/webapp/WEB-INF/web.xml        | 66 +----------------
 pom.xml                                            | 18 ++---
 24 files changed, 407 insertions(+), 196 deletions(-)
 create mode 100644 jspwiki-http/src/main/java/org/apache/wiki/http/filter/FilterOperations.java
 copy {jspwiki-wikipages/es => jspwiki-https-enabler}/pom.xml (82%)
 create mode 100644 jspwiki-https-enabler/src/main/resources/META-INF/web-fragment.xml
 create mode 100644 jspwiki-war-https/pom.xml


(jspwiki) 06/06: 3.0.0-git-24

Posted by ju...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

juanpablo-santos pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jspwiki.git

commit 0e59cfed4114cb18004ef91769b0b20ccc884681
Author: Juan Pablo Santos Rodríguez <ju...@gmail.com>
AuthorDate: Sun Jul 12 22:59:50 2026 +0200

    3.0.0-git-24
---
 ChangeLog.md                                          | 19 +++++++++++++++++++
 .../src/main/java/org/apache/wiki/api/Release.java    |  2 +-
 2 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/ChangeLog.md b/ChangeLog.md
index 566935aed..ed1cceb65 100644
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -16,6 +16,25 @@ KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
 -->
+**2026-07-12 Juan Pablo Santos (juanpablo AT apache DOT org)**
+
+* _3.0.0-git-24_
+
+* Rework OWASP filters so that they can be configured also through wiki properties under `jspwiki.http.filters` namespace. See source code for specific property names
+
+* Move OWASP filter configurations to web-fragment.xml at jspwiki-http
+
+* jspwiki-war defaults to http again, which allows Dockerfile builds to be used. Full https war is provided through `jspwiki-https-enabler` and `jspwiki-war-https` modules
+
+* Dependency Updates
+    * parent to 39
+    * aws-java-sdk-kendra to 1.12.797
+    * JUnit to 6.1.2
+    * Log4J to 2.26.1
+    * Selenide to 7.17.0
+    * Tomcat to 10.1.57
+    * Maven plugins: umldoclet to 2.3.1
+
 **2026-05-28 Juan Pablo Santos (juanpablo AT apache DOT org)**
 
 * _3.0.0-git-23_
diff --git a/jspwiki-api/src/main/java/org/apache/wiki/api/Release.java b/jspwiki-api/src/main/java/org/apache/wiki/api/Release.java
index cc2a0de17..a65704f7a 100644
--- a/jspwiki-api/src/main/java/org/apache/wiki/api/Release.java
+++ b/jspwiki-api/src/main/java/org/apache/wiki/api/Release.java
@@ -69,7 +69,7 @@ public final class Release {
      *  <p>
      *  If the build identifier is empty, it is not added.
      */
-    public static final String     BUILD         = "23";
+    public static final String     BUILD         = "24";
 
     /**
      *  This is the generic version string you should use when printing out the version.  It is of


(jspwiki) 02/06: Move owasp filters configuration to web-fragment.xml at jspwiki-http

Posted by ju...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

juanpablo-santos pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jspwiki.git

commit da296a8f9ce154ccd44b972fe4ee61d5b94ea47d
Author: Juan Pablo Santos Rodríguez <ju...@gmail.com>
AuthorDate: Sun Jul 12 21:04:46 2026 +0200

    Move owasp filters configuration to web-fragment.xml at jspwiki-http
---
 .../src/main/resources/META-INF/web-fragment.xml   | 65 ++++++++++++++++++++++
 jspwiki-war/src/main/webapp/WEB-INF/web.xml        | 55 +-----------------
 2 files changed, 66 insertions(+), 54 deletions(-)

diff --git a/jspwiki-http/src/main/resources/META-INF/web-fragment.xml b/jspwiki-http/src/main/resources/META-INF/web-fragment.xml
index 606e68b10..ca276a2d6 100644
--- a/jspwiki-http/src/main/resources/META-INF/web-fragment.xml
+++ b/jspwiki-http/src/main/resources/META-INF/web-fragment.xml
@@ -31,4 +31,69 @@
       <filter-name>CsrfProtectionFilter</filter-name>
       <url-pattern>/*</url-pattern>
     </filter-mapping>
+
+    <!-- optional set of servlet filters which inject OWASP recommended
+         http response headers into all outbound responses.
+         most have optional init parameters that can be used to customize the output
+    -->
+    <filter>
+        <filter-name>COEPFilter</filter-name>
+        <filter-class>org.apache.wiki.http.filter.COEPFilter</filter-class>
+    </filter>
+
+    <filter-mapping>
+        <filter-name>COEPFilter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+
+    <filter>
+        <filter-name>CORPFilter</filter-name>
+        <filter-class>org.apache.wiki.http.filter.CORPFilter</filter-class>
+    </filter>
+
+    <filter-mapping>
+        <filter-name>CORPFilter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+
+    <filter>
+        <filter-name>ContentTypeOptionsFilter</filter-name>
+        <filter-class>org.apache.wiki.http.filter.ContentTypeOptionsFilter</filter-class>
+    </filter>
+
+    <filter-mapping>
+        <filter-name>ContentTypeOptionsFilter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+
+    <filter>
+        <filter-name>CrossDomainFilter</filter-name>
+        <filter-class>org.apache.wiki.http.filter.CrossDomainFilter</filter-class>
+    </filter>
+
+    <filter-mapping>
+        <filter-name>CrossDomainFilter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+
+    <filter>
+        <filter-name>ReferrerPolicyFilter</filter-name>
+        <filter-class>org.apache.wiki.http.filter.ReferrerPolicyFilter</filter-class>
+    </filter>
+
+    <filter-mapping>
+        <filter-name>ReferrerPolicyFilter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+
+    <filter>
+        <filter-name>STSFilter</filter-name>
+        <filter-class>org.apache.wiki.http.filter.STSFilter</filter-class>
+    </filter>
+
+    <filter-mapping>
+        <filter-name>STSFilter</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+
 </web-fragment>
\ No newline at end of file
diff --git a/jspwiki-war/src/main/webapp/WEB-INF/web.xml b/jspwiki-war/src/main/webapp/WEB-INF/web.xml
index 97d3f4d2c..3a72d274a 100644
--- a/jspwiki-war/src/main/webapp/WEB-INF/web.xml
+++ b/jspwiki-war/src/main/webapp/WEB-INF/web.xml
@@ -86,59 +86,6 @@
      <url-pattern>/wiki/*</url-pattern>
      <url-pattern>*.jsp</url-pattern>
    </filter-mapping>
-   <!-- optional set of servlet filters which inject OWASP recommended
-    http response headers into all outbound responses.
-    most have optional init parameters that can be used to customize the output
-   -->
-   <filter>
-     <filter-name>COEPFilter</filter-name>
-     <filter-class>org.apache.wiki.http.filter.COEPFilter</filter-class>
-   </filter>
-   <filter-mapping>
-     <filter-name>COEPFilter</filter-name>
-     <url-pattern>/*</url-pattern>
-   </filter-mapping>
-   <filter>
-     <filter-name>CORPFilter</filter-name>
-     <filter-class>org.apache.wiki.http.filter.CORPFilter</filter-class>
-   </filter>
-   <filter-mapping>
-     <filter-name>CORPFilter</filter-name>
-     <url-pattern>/*</url-pattern>
-   </filter-mapping>
-   
-   <filter>
-     <filter-name>ContentTypeOptionsFilter</filter-name>
-     <filter-class>org.apache.wiki.http.filter.ContentTypeOptionsFilter</filter-class>
-   </filter>
-   <filter-mapping>
-     <filter-name>ContentTypeOptionsFilter</filter-name>
-     <url-pattern>/*</url-pattern>
-   </filter-mapping>
-   <filter>
-     <filter-name>CrossDomainFilter</filter-name>
-     <filter-class>org.apache.wiki.http.filter.CrossDomainFilter</filter-class>
-   </filter>
-   <filter-mapping>
-     <filter-name>CrossDomainFilter</filter-name>
-     <url-pattern>/*</url-pattern>
-   </filter-mapping>
-   <filter>
-     <filter-name>ReferrerPolicyFilter</filter-name>
-     <filter-class>org.apache.wiki.http.filter.ReferrerPolicyFilter</filter-class>
-   </filter>
-   <filter-mapping>
-     <filter-name>ReferrerPolicyFilter</filter-name>
-     <url-pattern>/*</url-pattern>
-   </filter-mapping>
-    <filter>
-     <filter-name>STSFilter</filter-name>
-     <filter-class>org.apache.wiki.http.filter.STSFilter</filter-class>
-   </filter>
-   <filter-mapping>
-     <filter-name>STSFilter</filter-name>
-     <url-pattern>/*</url-pattern>
-   </filter-mapping>
 
    <session-config>
        <session-timeout>10</session-timeout>
@@ -396,4 +343,4 @@
 
    REMOVE ME TO ENABLE CONTAINER-MANAGED AUTH  -->
 
-</web-app>
+</web-app>
\ No newline at end of file


(jspwiki) 03/06: Allow OWASP filters to be configured also through wiki properties at jspwiki.http.filters namespace

Posted by ju...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

juanpablo-santos pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jspwiki.git

commit 84cffc4b08ac0f76375c6dcfa6a8756d85318beb
Author: Juan Pablo Santos Rodríguez <ju...@gmail.com>
AuthorDate: Sun Jul 12 21:05:56 2026 +0200

    Allow OWASP filters to be configured also through wiki properties at jspwiki.http.filters namespace
---
 .../org/apache/wiki/http/filter/COEPFilter.java    | 23 ++++++-----
 .../org/apache/wiki/http/filter/CORPFilter.java    | 20 ++++++----
 .../org/apache/wiki/http/filter/CSPFilter.java     | 20 ++++++----
 .../apache/wiki/http/filter/ClickJackFilter.java   | 24 ++++++-----
 .../wiki/http/filter/ContentTypeOptionsFilter.java | 19 +++++----
 .../apache/wiki/http/filter/CrossDomainFilter.java | 23 ++++++-----
 .../apache/wiki/http/filter/FilterOperations.java  | 46 ++++++++++++++++++++++
 .../wiki/http/filter/ReferrerPolicyFilter.java     | 20 ++++++----
 .../org/apache/wiki/http/filter/STSFilter.java     | 24 ++++++-----
 .../main/java/org/apache/wiki/util/HttpUtil.java   | 21 ++++++++--
 10 files changed, 164 insertions(+), 76 deletions(-)

diff --git a/jspwiki-http/src/main/java/org/apache/wiki/http/filter/COEPFilter.java b/jspwiki-http/src/main/java/org/apache/wiki/http/filter/COEPFilter.java
index 799af96d3..943e40854 100644
--- a/jspwiki-http/src/main/java/org/apache/wiki/http/filter/COEPFilter.java
+++ b/jspwiki-http/src/main/java/org/apache/wiki/http/filter/COEPFilter.java
@@ -21,30 +21,33 @@ import jakarta.servlet.FilterConfig;
 import jakarta.servlet.ServletException;
 import jakarta.servlet.ServletRequest;
 import jakarta.servlet.ServletResponse;
-import jakarta.servlet.http.HttpServletResponse;
+import org.apache.wiki.util.HttpUtil;
+
 import java.io.IOException;
 
+
 /**
- *
  * Cross-Origin-Embedder-Policy (COEP): Prevents a document from loading any
- * cross-origin resources that do not explicitly grant permission.  *
+ * cross-origin resources that do not explicitly grant permission.
  */
 public class COEPFilter implements Filter {
 
     private String mode = "require-corp";
 
-    public void init(FilterConfig filterConfig) {
-        String configMode = filterConfig.getInitParameter("CORPValue");
-        if (configMode != null) {
+    /** {@inheritDoc} */
+    @Override
+    public void init( final FilterConfig filterConfig ) {
+        final String configMode = FilterOperations.initValue( filterConfig, "COEPValue", "coep.value" );
+        if( configMode != null ) {
             mode = configMode;
         }
     }
 
+    /** {@inheritDoc} */
     @Override
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
-        HttpServletResponse res = (HttpServletResponse) response;
-        res.addHeader("Cross-Origin-Embedder-Policy", mode);
-        chain.doFilter(request, response);
+    public void doFilter( final ServletRequest request, final ServletResponse response, final FilterChain chain ) throws IOException, ServletException {
+        HttpUtil.addHeader( response,"Cross-Origin-Embedder-Policy", mode );
+        chain.doFilter( request, response );
     }
 
 }
diff --git a/jspwiki-http/src/main/java/org/apache/wiki/http/filter/CORPFilter.java b/jspwiki-http/src/main/java/org/apache/wiki/http/filter/CORPFilter.java
index 4fcd3b544..5561228ee 100644
--- a/jspwiki-http/src/main/java/org/apache/wiki/http/filter/CORPFilter.java
+++ b/jspwiki-http/src/main/java/org/apache/wiki/http/filter/CORPFilter.java
@@ -21,9 +21,11 @@ import jakarta.servlet.FilterConfig;
 import jakarta.servlet.ServletException;
 import jakarta.servlet.ServletRequest;
 import jakarta.servlet.ServletResponse;
-import jakarta.servlet.http.HttpServletResponse;
+import org.apache.wiki.util.HttpUtil;
+
 import java.io.IOException;
 
+
 /**
  * Cross-Origin-Resource-Policy
  */
@@ -31,18 +33,20 @@ public class CORPFilter implements Filter {
 
     private String mode = "same-origin";
 
-    public void init(FilterConfig filterConfig) {
-        String configMode = filterConfig.getInitParameter("CORPValue");
-        if (configMode != null) {
+    /** {@inheritDoc} */
+    @Override
+    public void init( final FilterConfig filterConfig ) {
+        final String configMode = FilterOperations.initValue( filterConfig, "CORPValue", "corp.value" );
+        if( configMode != null ) {
             mode = configMode;
         }
     }
 
+    /** {@inheritDoc} */
     @Override
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
-        HttpServletResponse res = (HttpServletResponse) response;
-        res.addHeader("Cross-Origin-Resource-Policy", mode);
-        chain.doFilter(request, response);
+    public void doFilter( final ServletRequest request, final ServletResponse response, final FilterChain chain ) throws IOException, ServletException {
+        HttpUtil.addHeader( response,"Cross-Origin-Resource-Policy", mode );
+        chain.doFilter( request, response );
     }
 
 }
diff --git a/jspwiki-http/src/main/java/org/apache/wiki/http/filter/CSPFilter.java b/jspwiki-http/src/main/java/org/apache/wiki/http/filter/CSPFilter.java
index ae1d09167..18752a2c0 100644
--- a/jspwiki-http/src/main/java/org/apache/wiki/http/filter/CSPFilter.java
+++ b/jspwiki-http/src/main/java/org/apache/wiki/http/filter/CSPFilter.java
@@ -21,9 +21,11 @@ import jakarta.servlet.FilterConfig;
 import jakarta.servlet.ServletException;
 import jakarta.servlet.ServletRequest;
 import jakarta.servlet.ServletResponse;
-import jakarta.servlet.http.HttpServletResponse;
+import org.apache.wiki.util.HttpUtil;
+
 import java.io.IOException;
 
+
 /**
  * Content-Security-Policy (CSP): Mitigates XSS and other injection attacks by
  * defining approved sources of content that the browser can load.
@@ -32,18 +34,20 @@ public class CSPFilter implements Filter {
 
     private String mode = "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self'; img-src 'self';";
 
-    public void init(FilterConfig filterConfig) {
-        String configMode = filterConfig.getInitParameter("CSPValue");
-        if (configMode != null) {
+    /** {@inheritDoc} */
+    @Override
+    public void init( final FilterConfig filterConfig ) {
+        final String configMode = FilterOperations.initValue( filterConfig, "CSPValue", "csp.value" );
+        if( configMode != null ) {
             mode = configMode;
         }
     }
 
+    /** {@inheritDoc} */
     @Override
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
-        HttpServletResponse res = (HttpServletResponse) response;
-        res.addHeader("Content-Security-Policy", mode);
-        chain.doFilter(request, response);
+    public void doFilter( final ServletRequest request, final ServletResponse response, final FilterChain chain ) throws IOException, ServletException {
+        HttpUtil.addHeader( response,"Content-Security-Policy", mode );
+        chain.doFilter( request, response );
     }
 
 }
diff --git a/jspwiki-http/src/main/java/org/apache/wiki/http/filter/ClickJackFilter.java b/jspwiki-http/src/main/java/org/apache/wiki/http/filter/ClickJackFilter.java
index e322237e5..44b47d380 100644
--- a/jspwiki-http/src/main/java/org/apache/wiki/http/filter/ClickJackFilter.java
+++ b/jspwiki-http/src/main/java/org/apache/wiki/http/filter/ClickJackFilter.java
@@ -21,29 +21,33 @@ import jakarta.servlet.FilterConfig;
 import jakarta.servlet.ServletException;
 import jakarta.servlet.ServletRequest;
 import jakarta.servlet.ServletResponse;
-import jakarta.servlet.http.HttpServletResponse;
+import org.apache.wiki.util.HttpUtil;
+
 import java.io.IOException;
 
+
 /**
- * X-Frame-Options: Prevents clickjacking attacks by controlling whether a page
- * can be rendered within an <frame>, <iframe>, <embed>, or <object>.
+ * X-Frame-Options: Prevents clickjacking attacks by controlling whether a page can be
+ * rendered within an {@code <frame>}, {@code <iframe>}, {@code <embed>}, or {@code <object>}.
  */
 public class ClickJackFilter implements Filter {
 
     private String mode = "DENY";
 
-    public void init(FilterConfig filterConfig) {
-        String configMode = filterConfig.getInitParameter("mode");
-        if (configMode != null && (configMode.equals("DENY") || configMode.equals("SAMEORIGIN"))) {
+    /** {@inheritDoc} */
+    @Override
+    public void init( final FilterConfig filterConfig ) {
+        final String configMode = FilterOperations.initValue( filterConfig, "mode", "clickjack.mode" );
+        if( configMode != null && ( configMode.equals( "DENY" ) || configMode.equals( "SAMEORIGIN" ) ) ) {
             mode = configMode;
         }
     }
 
+    /** {@inheritDoc} */
     @Override
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
-        HttpServletResponse res = (HttpServletResponse) response;
-        res.addHeader("X-FRAME-OPTIONS", mode);
-        chain.doFilter(request, response);
+    public void doFilter( final ServletRequest request, final ServletResponse response, final FilterChain chain ) throws IOException, ServletException {
+        HttpUtil.addHeader( response,"X-FRAME-OPTIONS", mode );
+        chain.doFilter( request, response );
     }
 
 }
diff --git a/jspwiki-http/src/main/java/org/apache/wiki/http/filter/ContentTypeOptionsFilter.java b/jspwiki-http/src/main/java/org/apache/wiki/http/filter/ContentTypeOptionsFilter.java
index 8581960bc..c4752b2ad 100644
--- a/jspwiki-http/src/main/java/org/apache/wiki/http/filter/ContentTypeOptionsFilter.java
+++ b/jspwiki-http/src/main/java/org/apache/wiki/http/filter/ContentTypeOptionsFilter.java
@@ -21,11 +21,12 @@ import jakarta.servlet.FilterConfig;
 import jakarta.servlet.ServletException;
 import jakarta.servlet.ServletRequest;
 import jakarta.servlet.ServletResponse;
-import jakarta.servlet.http.HttpServletResponse;
+import org.apache.wiki.util.HttpUtil;
+
 import java.io.IOException;
 
+
 /**
- *
  * X-Content-Type-Options: Prevents MIME type sniffing, which can lead to XSS
  * attacks if browsers misinterpret content types.
  */
@@ -33,18 +34,20 @@ public class ContentTypeOptionsFilter implements Filter {
 
     private String mode = "nosniff";
 
-    public void init(FilterConfig filterConfig) {
-        String configMode = filterConfig.getInitParameter("ContentTypeOptionsValue");
+    /** {@inheritDoc} */
+    @Override
+    public void init( final FilterConfig filterConfig ) {
+        final String configMode = FilterOperations.initValue( filterConfig, "ContentTypeOptionsValue", "content-type-options.value" );
         if (configMode != null) {
             mode = configMode;
         }
     }
 
+    /** {@inheritDoc} */
     @Override
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
-        HttpServletResponse res = (HttpServletResponse) response;
-        res.addHeader("X-Content-Type-Options", mode);
-        chain.doFilter(request, response);
+    public void doFilter( final ServletRequest request, final ServletResponse response, final FilterChain chain ) throws IOException, ServletException {
+        HttpUtil.addHeader( response,"X-Content-Type-Options", mode );
+        chain.doFilter( request, response );
     }
 
 }
diff --git a/jspwiki-http/src/main/java/org/apache/wiki/http/filter/CrossDomainFilter.java b/jspwiki-http/src/main/java/org/apache/wiki/http/filter/CrossDomainFilter.java
index 772817097..06b10ccf5 100644
--- a/jspwiki-http/src/main/java/org/apache/wiki/http/filter/CrossDomainFilter.java
+++ b/jspwiki-http/src/main/java/org/apache/wiki/http/filter/CrossDomainFilter.java
@@ -21,29 +21,32 @@ import jakarta.servlet.FilterConfig;
 import jakarta.servlet.ServletException;
 import jakarta.servlet.ServletRequest;
 import jakarta.servlet.ServletResponse;
-import jakarta.servlet.http.HttpServletResponse;
+import org.apache.wiki.util.HttpUtil;
+
 import java.io.IOException;
 
+
 /**
- * X-Permitted-Cross-Domain-Policies: Restricts cross-domain data loading by
- * specific plugins, such as Flash.
+ * X-Permitted-Cross-Domain-Policies: Restricts cross-domain data loading by specific plugins, such as Flash.
  */
 public class CrossDomainFilter implements Filter {
 
     private String mode = "none";
 
-    public void init(FilterConfig filterConfig) {
-        String configMode = filterConfig.getInitParameter("XDomainValue");
-        if (configMode != null) {
+    /** {@inheritDoc} */
+    @Override
+    public void init( final FilterConfig filterConfig ) {
+        final String configMode = FilterOperations.initValue( filterConfig, "XDomainValue", "cross-domain.value" );
+        if( configMode != null ) {
             mode = configMode;
         }
     }
 
+    /** {@inheritDoc} */
     @Override
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
-        HttpServletResponse res = (HttpServletResponse) response;
-        res.addHeader("X-Permitted-Cross-Domain-Policies", mode);
-        chain.doFilter(request, response);
+    public void doFilter( final ServletRequest request, final ServletResponse response, final FilterChain chain ) throws IOException, ServletException {
+        HttpUtil.addHeader( response,"X-Permitted-Cross-Domain-Policies", mode );
+        chain.doFilter( request, response );
     }
 
 }
diff --git a/jspwiki-http/src/main/java/org/apache/wiki/http/filter/FilterOperations.java b/jspwiki-http/src/main/java/org/apache/wiki/http/filter/FilterOperations.java
new file mode 100644
index 000000000..0c8cdfdc0
--- /dev/null
+++ b/jspwiki-http/src/main/java/org/apache/wiki/http/filter/FilterOperations.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2025 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wiki.http.filter;
+
+import jakarta.servlet.FilterConfig;
+import org.apache.wiki.api.spi.Wiki;
+
+import java.util.Properties;
+
+
+/**
+ * Common {@code jakarta.servlet.Filter} operations. Not expected to be used outside this package.
+ */
+class FilterOperations {
+
+    /**
+     * Retrieves an init value from a filter and, if not present, tries to obtain it from the Wiki properties.
+     *
+     * @param filterConfig filter configuration.
+     * @param initParameter parameter to look into in the {@code filterConfig}
+     * @param wikiFilterProp property to ask for on the Wiki properties, which is looked into the {@code jspwiki.http.filters} namespace
+     * @return the value of the init param, wiki property, or {@code null} if not present
+     */
+    static String initValue( final FilterConfig filterConfig, final String initParameter, final String wikiFilterProp ) {
+        final Properties props = Wiki.engine().find( filterConfig.getServletContext(), null ).getWikiProperties();
+        String configMode = filterConfig.getInitParameter( initParameter );
+        if( configMode == null ) {
+            configMode = props.getProperty( "jspwiki.http.filters." + wikiFilterProp );
+        }
+        return configMode;
+    }
+
+}
diff --git a/jspwiki-http/src/main/java/org/apache/wiki/http/filter/ReferrerPolicyFilter.java b/jspwiki-http/src/main/java/org/apache/wiki/http/filter/ReferrerPolicyFilter.java
index 30df86a3d..8067664a6 100644
--- a/jspwiki-http/src/main/java/org/apache/wiki/http/filter/ReferrerPolicyFilter.java
+++ b/jspwiki-http/src/main/java/org/apache/wiki/http/filter/ReferrerPolicyFilter.java
@@ -21,9 +21,11 @@ import jakarta.servlet.FilterConfig;
 import jakarta.servlet.ServletException;
 import jakarta.servlet.ServletRequest;
 import jakarta.servlet.ServletResponse;
-import jakarta.servlet.http.HttpServletResponse;
+import org.apache.wiki.util.HttpUtil;
+
 import java.io.IOException;
 
+
 /**
  * Referrer-Policy: Controls the amount of referrer information sent with
  * requests, enhancing privacy and security.
@@ -32,18 +34,20 @@ public class ReferrerPolicyFilter implements Filter {
 
     private String mode = "no-referrer-when-downgrade";
 
-    public void init(FilterConfig filterConfig) {
-        String configMode = filterConfig.getInitParameter("ReferrerPolicyPValue");
-        if (configMode != null) {
+    /** {@inheritDoc} */
+    @Override
+    public void init( final FilterConfig filterConfig ) {
+        final String configMode = FilterOperations.initValue( filterConfig, "ReferrerPolicyPValue", "referrer-policy.value" );
+        if( configMode != null ) {
             mode = configMode;
         }
     }
 
+    /** {@inheritDoc} */
     @Override
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
-        HttpServletResponse res = (HttpServletResponse) response;
-        res.addHeader("Referrer-Policy", mode);
-        chain.doFilter(request, response);
+    public void doFilter( final ServletRequest request, final ServletResponse response, final FilterChain chain ) throws IOException, ServletException {
+        HttpUtil.addHeader( response,"Referrer-Policy", mode );
+        chain.doFilter( request, response );
     }
 
 }
diff --git a/jspwiki-http/src/main/java/org/apache/wiki/http/filter/STSFilter.java b/jspwiki-http/src/main/java/org/apache/wiki/http/filter/STSFilter.java
index 09b44fd32..f09ddce05 100644
--- a/jspwiki-http/src/main/java/org/apache/wiki/http/filter/STSFilter.java
+++ b/jspwiki-http/src/main/java/org/apache/wiki/http/filter/STSFilter.java
@@ -21,29 +21,33 @@ import jakarta.servlet.FilterConfig;
 import jakarta.servlet.ServletException;
 import jakarta.servlet.ServletRequest;
 import jakarta.servlet.ServletResponse;
-import jakarta.servlet.http.HttpServletResponse;
+import org.apache.wiki.util.HttpUtil;
+
 import java.io.IOException;
 
+
 /**
- *
- * @Strict-Transport-Security (HSTS): Enforces HTTPS-only communication,
+ * Strict-Transport-Security (HSTS): Enforces HTTPS-only communication,
  * preventing downgrade attacks and cookie hijacking.
  */
 public class STSFilter implements Filter {
 
     private String mode = "max-age=63072000; includeSubDomains; preload";
 
-    public void init(FilterConfig filterConfig) {
-        String configMode = filterConfig.getInitParameter("STSValue");
-        if (configMode != null) {
+    /** {@inheritDoc} */
+    @Override
+    public void init( final FilterConfig filterConfig ) {
+        final String configMode = FilterOperations.initValue( filterConfig, "STSValue", "sts.value" );
+        if( configMode != null ) {
             mode = configMode;
         }
     }
 
+    /** {@inheritDoc} */
     @Override
-    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
-        HttpServletResponse res = (HttpServletResponse) response;
-        res.addHeader("Strict-Transport-Security", mode);
-        chain.doFilter(request, response);
+    public void doFilter( final ServletRequest request, final ServletResponse response, final FilterChain chain ) throws IOException, ServletException {
+        HttpUtil.addHeader( response,"Strict-Transport-Security", mode );
+        chain.doFilter( request, response );
     }
+
 }
diff --git a/jspwiki-util/src/main/java/org/apache/wiki/util/HttpUtil.java b/jspwiki-util/src/main/java/org/apache/wiki/util/HttpUtil.java
index 54aa511f7..71d8dbfe8 100644
--- a/jspwiki-util/src/main/java/org/apache/wiki/util/HttpUtil.java
+++ b/jspwiki-util/src/main/java/org/apache/wiki/util/HttpUtil.java
@@ -18,20 +18,21 @@
  */
 package org.apache.wiki.util;
 
+import jakarta.servlet.ServletResponse;
+import jakarta.servlet.http.Cookie;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.net.util.SubnetUtils;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
-import jakarta.servlet.http.Cookie;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
 import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
 import java.text.DateFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Date;
-import org.apache.commons.net.util.SubnetUtils;
 
 
 /**
@@ -349,4 +350,16 @@ public final class HttpUtil {
         return getAbsoluteUrl(request, null);
     }
 
+    /**
+     * Add's a header to the response
+     *
+     * @param response servlet response in which the header is added
+     * @param headerName header's name
+     * @param headerValue header's value
+     */
+    public static void addHeader( final ServletResponse response, final String headerName, final String headerValue ) {
+        final HttpServletResponse res = ( HttpServletResponse )response;
+        res.addHeader( headerName, headerValue );
+    }
+
 }


(jspwiki) 01/06: https for jspwiki.a.o url

Posted by ju...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

juanpablo-santos pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jspwiki.git

commit 6a2e5d4ee55256cb4b186646e890e2c4fcbc5b17
Author: Juan Pablo Santos Rodríguez <ju...@gmail.com>
AuthorDate: Sun Jul 12 21:03:10 2026 +0200

    https for jspwiki.a.o url
---
 .../jspwiki-it-test-cma-jdbc/src/main/webapp/WEB-INF/web.xml            | 2 +-
 jspwiki-it-tests/jspwiki-it-test-cma/src/main/webapp/WEB-INF/web.xml    | 2 +-
 .../src/main/webapp/WEB-INF/web.xml                                     | 2 +-
 .../jspwiki-it-test-custom-jdbc/src/main/webapp/WEB-INF/web.xml         | 2 +-
 jspwiki-it-tests/jspwiki-it-test-custom/src/main/webapp/WEB-INF/web.xml | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/jspwiki-it-tests/jspwiki-it-test-cma-jdbc/src/main/webapp/WEB-INF/web.xml b/jspwiki-it-tests/jspwiki-it-test-cma-jdbc/src/main/webapp/WEB-INF/web.xml
index beb8a27e2..f3d0084dd 100644
--- a/jspwiki-it-tests/jspwiki-it-test-cma-jdbc/src/main/webapp/WEB-INF/web.xml
+++ b/jspwiki-it-tests/jspwiki-it-test-cma-jdbc/src/main/webapp/WEB-INF/web.xml
@@ -27,7 +27,7 @@
        JSPWiki is an open source JSP-based WikiClone.  It is licensed
        under the Apache 2.0 license.
 
-       For more information, please come to http://jspwiki.apache.org/
+       For more information, please come to https://jspwiki.apache.org/
    </description>
    <display-name>JSPWiki</display-name>
 
diff --git a/jspwiki-it-tests/jspwiki-it-test-cma/src/main/webapp/WEB-INF/web.xml b/jspwiki-it-tests/jspwiki-it-test-cma/src/main/webapp/WEB-INF/web.xml
index 393a8430e..1e8ac3787 100644
--- a/jspwiki-it-tests/jspwiki-it-test-cma/src/main/webapp/WEB-INF/web.xml
+++ b/jspwiki-it-tests/jspwiki-it-test-cma/src/main/webapp/WEB-INF/web.xml
@@ -27,7 +27,7 @@
        JSPWiki is an open source JSP-based WikiClone.  It is licensed
        under the Apache 2.0 license.
 
-       For more information, please come to http://jspwiki.apache.org/
+       For more information, please come to https://jspwiki.apache.org/
    </description>
    <display-name>JSPWiki</display-name>
 
diff --git a/jspwiki-it-tests/jspwiki-it-test-custom-absolute-urls/src/main/webapp/WEB-INF/web.xml b/jspwiki-it-tests/jspwiki-it-test-custom-absolute-urls/src/main/webapp/WEB-INF/web.xml
index 9937d26bb..7a3c0fa27 100644
--- a/jspwiki-it-tests/jspwiki-it-test-custom-absolute-urls/src/main/webapp/WEB-INF/web.xml
+++ b/jspwiki-it-tests/jspwiki-it-test-custom-absolute-urls/src/main/webapp/WEB-INF/web.xml
@@ -27,7 +27,7 @@
        JSPWiki is an open source JSP-based WikiClone.  It is licensed
        under the Apache 2.0 license.
 
-       For more information, please come to http://jspwiki.apache.org/
+       For more information, please come to https://jspwiki.apache.org/
    </description>
    <display-name>JSPWiki</display-name>
 
diff --git a/jspwiki-it-tests/jspwiki-it-test-custom-jdbc/src/main/webapp/WEB-INF/web.xml b/jspwiki-it-tests/jspwiki-it-test-custom-jdbc/src/main/webapp/WEB-INF/web.xml
index 9937d26bb..7a3c0fa27 100644
--- a/jspwiki-it-tests/jspwiki-it-test-custom-jdbc/src/main/webapp/WEB-INF/web.xml
+++ b/jspwiki-it-tests/jspwiki-it-test-custom-jdbc/src/main/webapp/WEB-INF/web.xml
@@ -27,7 +27,7 @@
        JSPWiki is an open source JSP-based WikiClone.  It is licensed
        under the Apache 2.0 license.
 
-       For more information, please come to http://jspwiki.apache.org/
+       For more information, please come to https://jspwiki.apache.org/
    </description>
    <display-name>JSPWiki</display-name>
 
diff --git a/jspwiki-it-tests/jspwiki-it-test-custom/src/main/webapp/WEB-INF/web.xml b/jspwiki-it-tests/jspwiki-it-test-custom/src/main/webapp/WEB-INF/web.xml
index 9937d26bb..7a3c0fa27 100644
--- a/jspwiki-it-tests/jspwiki-it-test-custom/src/main/webapp/WEB-INF/web.xml
+++ b/jspwiki-it-tests/jspwiki-it-test-custom/src/main/webapp/WEB-INF/web.xml
@@ -27,7 +27,7 @@
        JSPWiki is an open source JSP-based WikiClone.  It is licensed
        under the Apache 2.0 license.
 
-       For more information, please come to http://jspwiki.apache.org/
+       For more information, please come to https://jspwiki.apache.org/
    </description>
    <display-name>JSPWiki</display-name>
 


(jspwiki) 04/06: jspwiki-war defaults to http again; for a full https version, jspwiki-war-https is provided

Posted by ju...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

juanpablo-santos pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jspwiki.git

commit 18a38a0446c83fd85cb05b6b714dbc043164f607
Author: Juan Pablo Santos Rodríguez <ju...@gmail.com>
AuthorDate: Sun Jul 12 21:07:29 2026 +0200

    jspwiki-war defaults to http again; for a full https version, jspwiki-war-https is provided
---
 jspwiki-https-enabler/pom.xml                      | 32 +++++++++
 .../src/main/resources/META-INF/web-fragment.xml   | 18 +++++
 jspwiki-war-https/pom.xml                          | 82 ++++++++++++++++++++++
 jspwiki-war/src/main/webapp/WEB-INF/web.xml        | 11 ---
 pom.xml                                            |  4 +-
 5 files changed, 135 insertions(+), 12 deletions(-)

diff --git a/jspwiki-https-enabler/pom.xml b/jspwiki-https-enabler/pom.xml
new file mode 100644
index 000000000..7abbcfe57
--- /dev/null
+++ b/jspwiki-https-enabler/pom.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+  <parent>
+    <groupId>org.apache.jspwiki</groupId>
+    <artifactId>jspwiki-builder</artifactId>
+    <version>3.0.0-SNAPSHOT</version>
+  </parent>
+
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>jspwiki-https-enabler</artifactId>
+  <name>Apache JSPWiki https web-fragment enabler</name>
+  
+</project>
diff --git a/jspwiki-https-enabler/src/main/resources/META-INF/web-fragment.xml b/jspwiki-https-enabler/src/main/resources/META-INF/web-fragment.xml
new file mode 100644
index 000000000..f7a41d0f0
--- /dev/null
+++ b/jspwiki-https-enabler/src/main/resources/META-INF/web-fragment.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<web-fragment xmlns="http://java.sun.com/xml/ns/javaee"
+              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+              xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd"
+              version="3.0">
+
+    <!-- this block will require TLS across all the board -->
+    <security-constraint>
+        <web-resource-collection>
+            <web-resource-name>All</web-resource-name>
+            <url-pattern>/*</url-pattern>
+        </web-resource-collection>
+        <user-data-constraint>
+            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
+        </user-data-constraint>
+    </security-constraint>
+
+</web-fragment>
\ No newline at end of file
diff --git a/jspwiki-war-https/pom.xml b/jspwiki-war-https/pom.xml
new file mode 100644
index 000000000..a856c2bc5
--- /dev/null
+++ b/jspwiki-war-https/pom.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <parent>
+        <groupId>org.apache.jspwiki</groupId>
+        <artifactId>jspwiki-builder</artifactId>
+        <version>3.0.0-SNAPSHOT</version>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>jspwiki-war-https</artifactId>
+    <name>Apache JSPWiki HTTPs War</name>
+    <packaging>war</packaging>
+
+    <dependencies>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>jspwiki-https-enabler</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>jspwiki-war</artifactId>
+            <version>${project.version}</version>
+			<type>war</type>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <finalName>JSPWiki</finalName>
+        <plugins>
+            <plugin>
+                <artifactId>maven-war-plugin</artifactId>
+            </plugin>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <executions>
+                    <!-- Unpack the JSP Wiki Pages -->
+                    <execution>
+                        <id>unpack-wikipages-private</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>unpack</goal>
+                        </goals>
+                        <configuration>
+                            <artifactItems>
+                                <artifactItem>
+                                    <groupId>org.apache.jspwiki.wikipages</groupId>
+                                    <artifactId>jspwiki-wikipages-en</artifactId>
+                                    <version>${project.version}</version>
+                                </artifactItem>
+                            </artifactItems>
+                            <excludes>META-INF/**</excludes>
+                            <outputDirectory>${project.build.directory}/jspwiki/data/jspwiki-files</outputDirectory>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/jspwiki-war/src/main/webapp/WEB-INF/web.xml b/jspwiki-war/src/main/webapp/WEB-INF/web.xml
index 3a72d274a..83da270d2 100644
--- a/jspwiki-war/src/main/webapp/WEB-INF/web.xml
+++ b/jspwiki-war/src/main/webapp/WEB-INF/web.xml
@@ -256,17 +256,6 @@
        elements.
    -->
    
-   <!-- this block will require TLS across all the board -->
-	<security-constraint>
-       <web-resource-collection>
-           <web-resource-name>All</web-resource-name>
-           <url-pattern>/*</url-pattern>
-       </web-resource-collection>
-       <user-data-constraint>
-           <transport-guarantee>CONFIDENTIAL</transport-guarantee>
-       </user-data-constraint>
-   </security-constraint>
-   
    <!--  REMOVE ME TO ENABLE CONTAINER-MANAGED AUTH
 
    <security-constraint>
diff --git a/pom.xml b/pom.xml
index f86c16721..97171f5ea 100644
--- a/pom.xml
+++ b/pom.xml
@@ -149,12 +149,14 @@
     <module>jspwiki-markdown</module>
     <module>jspwiki-tika-searchprovider</module>
     <module>jspwiki-kendra-searchprovider</module>
+    <module>jspwiki-plugins</module>
+    <module>jspwiki-https-enabler</module>
     <module>jspwiki-210-test-adaptees</module>
     <module>jspwiki-210-adapters</module>
     <module>jspwiki-war</module>
+    <module>jspwiki-war-https</module>
     <module>jspwiki-portable</module>
     <module>jspwiki-it-tests</module><!-- IT tests are launched only if -Pintegration-tests is given -->
-    <module>jspwiki-plugins</module>
     <module>jspwiki-bom</module>
   </modules>
 


(jspwiki) 05/06: Update dependencies

Posted by ju...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

juanpablo-santos pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jspwiki.git

commit de2d719ef64b93f2dfbc7e13d54b464ecd0497a2
Author: Juan Pablo Santos Rodríguez <ju...@gmail.com>
AuthorDate: Sun Jul 12 22:59:20 2026 +0200

    Update dependencies
---
 LICENSE | 20 ++++++++++----------
 pom.xml | 14 +++++++-------
 2 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/LICENSE b/LICENSE
index 3137f2677..beebf1b7a 100644
--- a/LICENSE
+++ b/LICENSE
@@ -210,8 +210,8 @@ LIBRARY                                     LICENSE FILE
 activation-1.1.jar                          ./jspwiki-war/src/main/config/doc/LICENSE.cddl
 akismet-java-1.02.jar                       ./jspwiki-war/src/main/config/doc/LICENSE.akismet
 annotations-15.0.jar                        LICENSE
-aws-java-sdk-core-1.12.565.jar              LICENSE
-aws-java-sdk-kendra-1.12.565.jar            LICENSE
+aws-java-sdk-core-1.12.797.jar              LICENSE
+aws-java-sdk-kendra-1.12.797.jar            LICENSE
 commons-codec-1.22.0.jar                    LICENSE
 commons-collections-4.5.0.jar               LICENSE
 commons-fileupload-2.0.0-M5.jar             LICENSE
@@ -251,14 +251,14 @@ jackson-databind-2.12.7.1                   LICENSE
 jackson-dataformat-cbor-2.12.7.1            LICENSE
 jaxen-2.0.0.jar                             ./jspwiki-war/src/main/config/doc/LICENSE.jaxen
 jdom2-2.0.6.jar                             ./jspwiki-war/src/main/config/doc/LICENSE.jdom
-jmespath-java-1.12.565                      LICENSE
+jmespath-java-1.12.797                      LICENSE
 joda-time-2.8.1                             LICENSE
 jstl-1.2.jar                                LICENSE
 logging-mailhandler-1.6.2.jar               ./jspwiki-war/src/main/config/doc/LICENSE.cddl
-log4j-1.2-api-2.25.4.jar                    LICENSE
-log4j-api-2.25.4.jar                        LICENSE
-log4j-core-2.25.4.jar                       LICENSE
-log4j-slf4j-impl-2.25.4                     LICENSE
+log4j-1.2-api-2.26.1.jar                    LICENSE
+log4j-api-2.26.1.jar                        LICENSE
+log4j-core-2.26.1.jar                       LICENSE
+log4j-slf4j-impl-2.26.1                     LICENSE
 lucene-analyzers-common-9.12.2.jar          LICENSE
 lucene-backward-codecs-9.12.2.jar           LICENSE
 lucene-core-9.12.2.jar                      LICENSE
@@ -288,9 +288,9 @@ custom_rhino-0.4.3.jar                      ./jspwiki-war/src/main/config/doc/LI
 hsqldb-2.7.4.jar                            ./jspwiki-war/src/main/config/doc/LICENSE.hsqldb
 sqltool-2.7.4.jar                           ./jspwiki-war/src/main/config/doc/LICENSE.hsqldb
 jamm-0.4.0.jar                              LICENSE
-junit-6.1.0                                 ./jspwiki-war/src/main/config/doc/LICENSE.cpl
+junit-6.1.2                                 ./jspwiki-war/src/main/config/doc/LICENSE.cpl
 mockito-core-5.20.0.jar                     ./jspwiki-war/src/main/config/doc/LICENSE.mit
-selenide-7.16.2.jar                         ./jspwiki-war/src/main/config/doc/LICENSE.mit
+selenide-7.17.0.jar                         ./jspwiki-war/src/main/config/doc/LICENSE.mit
 yuicompressor-2.4.7.jar                     ./jspwiki-war/src/main/config/doc/LICENSE.yui
 
 JS LIBRARY                                  LICENSE FILE
@@ -305,7 +305,7 @@ SlimBox                                     ./jspwiki-war/src/main/config/doc/LI
 
 RESOURCES                                   LICENSE FILE
 =============================================================================================================
-Apache Tomcat 10.1.55                       LICENSE
+Apache Tomcat 10.1.57                       LICENSE
 Font Awesome (CSS & LESS files)             ./jspwiki-war/src/main/config/doc/LICENSE.mit
 Font Awesome (Fonts)                        ./jspwiki-war/src/main/config/doc/LICENSE.ofl
 SilkIconSet                                 ./jspwiki-war/src/main/config/doc/LICENSE.SilkIconSet
diff --git a/pom.xml b/pom.xml
index 97171f5ea..7a756aeba 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>org.apache</groupId>
     <artifactId>apache</artifactId>
-    <version>38</version>
+    <version>39</version>
   </parent>
 
   <groupId>org.apache.jspwiki</groupId>
@@ -42,12 +42,12 @@
     <project.build.outputTimestamp>2025-07-25T13:24:36Z</project.build.outputTimestamp>
 <!-- will be changed by release plugin during releases -->
     <jdk.version>17</jdk.version>
-    <jdk.javadoc.doclet.version>2.3.0</jdk.javadoc.doclet.version>
+    <jdk.javadoc.doclet.version>2.3.1</jdk.javadoc.doclet.version>
     <maven.version>3.5</maven.version>
 
     <akismet-java.version>1.0.0</akismet-java.version>
     <awaitility.version>4.3.0</awaitility.version>
-    <aws-java-sdk-kendra.version>1.12.793</aws-java-sdk-kendra.version>
+    <aws-java-sdk-kendra.version>1.12.797</aws-java-sdk-kendra.version>
     <commons-collections.version>4.5.0</commons-collections.version>
     <commons-codec.version>1.22.0</commons-codec.version>
     <commons-fileupload.version>2.0.0-M5</commons-fileupload.version>
@@ -78,18 +78,18 @@
     <javax-jsp-api.version>2.3.3</javax-jsp-api.version>
     <jdom2.version>2.0.6</jdom2.version>
     <jrcs-diff.version>0.4.2</jrcs-diff.version>
-    <junit.version>6.1.0</junit.version>
-    <log4j2.version>2.25.4</log4j2.version>
+    <junit.version>6.1.2</junit.version>
+    <log4j2.version>2.26.1</log4j2.version>
     <lucene.version>9.12.2</lucene.version>
     <mockito.version>5.20.0</mockito.version>
     <nekohtml.version>2.1.3</nekohtml.version>
     <oro.version>2.0.8</oro.version>
     <rome.version>2.1.0</rome.version>
     <sandler.version>0.5</sandler.version>
-    <selenide.version>7.16.2</selenide.version>
+    <selenide.version>7.17.0</selenide.version>
     <slf4j.version>2.0.18</slf4j.version>
     <tika.version>3.3.1</tika.version>
-    <tomcat.version>10.1.55</tomcat.version>
+    <tomcat.version>10.1.57</tomcat.version>
     <xmlrpc.version>2.0.1</xmlrpc.version>
     <xstream.version>1.4.21</xstream.version>