This is an automated email from the ASF dual-hosted git repository. git-site-role pushed a commit to branch asf-staging in repository https://gitbox.apache.org/repos/asf/struts-site.git
The following commit(s) were added to refs/heads/asf-staging by this push: new aa62a2faf Updates stage by Jenkins aa62a2faf is described below commit aa62a2faf36c6c8c28024213e95b7b1c8946bd56 Author: jenkins <bui...@apache.org> AuthorDate: Mon Dec 18 06:19:53 2023 +0000 Updates stage by Jenkins --- content/core-developers/csp-interceptor.html | 11 +++++++++++ content/core-developers/interceptors.html | 9 +++++++++ content/core-developers/struts-default-xml.html | 9 +++++++++ 3 files changed, 29 insertions(+) diff --git a/content/core-developers/csp-interceptor.html b/content/core-developers/csp-interceptor.html index a2aab06e1..69a8a4684 100644 --- a/content/core-developers/csp-interceptor.html +++ b/content/core-developers/csp-interceptor.html @@ -155,6 +155,7 @@ <ul id="markdown-toc"> <li><a href="#description" id="markdown-toc-description">Description</a></li> <li><a href="#parameters" id="markdown-toc-parameters">Parameters</a></li> + <li><a href="#report-action" id="markdown-toc-report-action">Report action</a></li> <li><a href="#action-aware" id="markdown-toc-action-aware">Action aware</a></li> <li><a href="#examples" id="markdown-toc-examples">Examples</a></li> </ul> @@ -180,6 +181,16 @@ is going to be enforced.</li> <li><code class="language-plaintext highlighter-rouge">reportUri</code> - an uri under, which the violations have to be reported.</li> </ul> +<h2 id="report-action">Report action</h2> + +<p>To receive reports about violations against CSP an abstract <code class="language-plaintext highlighter-rouge">CspReportAction</code> action has been created, which you can +extend to process the reports. When extending the action you must implement <code class="language-plaintext highlighter-rouge">processReport(String)</code> to process the report. +Read JavaDoc of the action for more details.</p> + +<blockquote> + <p>Note: the action must always return an HTTP status <code class="language-plaintext highlighter-rouge">204</code>.</p> +</blockquote> + <h2 id="action-aware">Action aware</h2> <p>Since Struts 6.2.0 it is possible to configure the CSP interceptor by providing the an instance of <code class="language-plaintext highlighter-rouge">CspSettings</code> interface. diff --git a/content/core-developers/interceptors.html b/content/core-developers/interceptors.html index e6375deda..ccb418e1e 100644 --- a/content/core-developers/interceptors.html +++ b/content/core-developers/interceptors.html @@ -305,6 +305,7 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"execAndWait"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.ExecuteAndWaitInterceptor"</span><span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"exception"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor"</span><span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"fileUpload"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.FileUploadInterceptor"</span><span class="nt">/></span> + <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"actionFileUpload"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.ActionFileUploadInterceptor"</span><span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"i18n"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.I18nInterceptor"</span><span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"logger"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.interceptor.LoggingInterceptor"</span><span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"modelDriven"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor"</span><span class="nt">/></span> @@ -368,6 +369,12 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"basicStack"</span><span class="nt">/></span> <span class="nt"></interceptor-stack></span> + <span class="c"><!-- Action based file upload stack --></span> + <span class="nt"><interceptor-stack</span> <span class="na">name=</span><span class="s">"actionFileUploadStack"</span><span class="nt">></span> + <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"actionFileUpload"</span><span class="nt">/></span> + <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"basicStack"</span><span class="nt">/></span> + <span class="nt"></interceptor-stack></span> + <span class="c"><!-- Sample model-driven stack --></span> <span class="nt"><interceptor-stack</span> <span class="na">name=</span><span class="s">"modelDrivenStack"</span><span class="nt">></span> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"modelDriven"</span><span class="nt">/></span> @@ -412,6 +419,7 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"chain"</span><span class="nt">/></span> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"modelDriven"</span><span class="nt">/></span> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"fileUpload"</span><span class="nt">/></span> + <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"actionFileUpload"</span><span class="nt">/></span> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"staticParams"</span><span class="nt">/></span> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"actionMappingParams"</span><span class="nt">/></span> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"params"</span><span class="nt">/></span> @@ -450,6 +458,7 @@ than reiterate the same list of Interceptors, we can bundle these Interceptors t <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"scopedModelDriven"</span><span class="nt">/></span> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"modelDriven"</span><span class="nt">/></span> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"fileUpload"</span><span class="nt">/></span> + <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"actionFileUpload"</span><span class="nt">/></span> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"checkbox"</span><span class="nt">/></span> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"datetime"</span><span class="nt">/></span> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"multiselect"</span><span class="nt">/></span> diff --git a/content/core-developers/struts-default-xml.html b/content/core-developers/struts-default-xml.html index fa3262ffb..a8b5f127c 100644 --- a/content/core-developers/struts-default-xml.html +++ b/content/core-developers/struts-default-xml.html @@ -221,6 +221,7 @@ setting in <a href="default-properties">default.properties</a>.</p> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"execAndWait"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.ExecuteAndWaitInterceptor"</span><span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"exception"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor"</span><span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"fileUpload"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.FileUploadInterceptor"</span><span class="nt">/></span> + <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"actionFileUpload"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.ActionFileUploadInterceptor"</span><span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"i18n"</span> <span class="na">class=</span><span class="s">"org.apache.struts2.interceptor.I18nInterceptor"</span><span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"logger"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.interceptor.LoggingInterceptor"</span><span class="nt">/></span> <span class="nt"><interceptor</span> <span class="na">name=</span><span class="s">"modelDriven"</span> <span class="na">class=</span><span class="s">"com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor"</span><span class="nt">/></span> @@ -284,6 +285,12 @@ setting in <a href="default-properties">default.properties</a>.</p> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"basicStack"</span><span class="nt">/></span> <span class="nt"></interceptor-stack></span> + <span class="c"><!-- Action based file upload stack --></span> + <span class="nt"><interceptor-stack</span> <span class="na">name=</span><span class="s">"actionFileUploadStack"</span><span class="nt">></span> + <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"actionFileUpload"</span><span class="nt">/></span> + <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"basicStack"</span><span class="nt">/></span> + <span class="nt"></interceptor-stack></span> + <span class="c"><!-- Sample model-driven stack --></span> <span class="nt"><interceptor-stack</span> <span class="na">name=</span><span class="s">"modelDrivenStack"</span><span class="nt">></span> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"modelDriven"</span><span class="nt">/></span> @@ -328,6 +335,7 @@ setting in <a href="default-properties">default.properties</a>.</p> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"chain"</span><span class="nt">/></span> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"modelDriven"</span><span class="nt">/></span> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"fileUpload"</span><span class="nt">/></span> + <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"actionFileUpload"</span><span class="nt">/></span> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"staticParams"</span><span class="nt">/></span> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"actionMappingParams"</span><span class="nt">/></span> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"params"</span><span class="nt">/></span> @@ -366,6 +374,7 @@ setting in <a href="default-properties">default.properties</a>.</p> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"scopedModelDriven"</span><span class="nt">/></span> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"modelDriven"</span><span class="nt">/></span> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"fileUpload"</span><span class="nt">/></span> + <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"actionFileUpload"</span><span class="nt">/></span> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"checkbox"</span><span class="nt">/></span> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"datetime"</span><span class="nt">/></span> <span class="nt"><interceptor-ref</span> <span class="na">name=</span><span class="s">"multiselect"</span><span class="nt">/></span>