Author: lukaszlenart
Date: Thu Mar 23 08:19:22 2017
New Revision: 1008842

Log:
Updates production

Modified:
    websites/production/struts/content/announce.html
    websites/production/struts/content/docs/file-upload.html
    websites/production/struts/content/download.html
    websites/production/struts/content/index.html

Modified: websites/production/struts/content/announce.html
==============================================================================
--- websites/production/struts/content/announce.html (original)
+++ websites/production/struts/content/announce.html Thu Mar 23 08:19:22 2017
@@ -124,6 +124,32 @@
   Skip to: <a href="announce-2016.html">Announcements - 2016</a>
 </p>
 
+<h4 id="a20170323">23 march 2017 - Struts Extras secure Multipart plugins 
General Availability - versions 1.1</h4>
+
+<p>The Apache Struts group is pleased to announce that the Apache Struts 2 
Secure Jakarta Multipart parser plugin 1.1 
+and Apache Struts 2 Secure Jakarta Stream Multipart parser plugin 1.1 are 
available as a “General Availability”
+release. The GA designation is our highest quality grade.</p>
+
+<p>These releases address one critical security vulnerability:</p>
+
+<ul>
+  <li>Possible Remote Code Execution when performing file upload based on 
Jakarta Multipart parser
+<a href="/docs/s2-045.html">S2-045</a>, <a 
href="/docs/s2-046.html">S2-046</a></li>
+</ul>
+
+<p>Those plugins were released to allow users running older versions of the 
Apache Struts secure their applications
+in an easy way. You don’t have to migrate to the latest version (which is 
still preferable) but by applying one of those 
+plugins,  your application won’t be vulnerable anymore.</p>
+
+<p>Please read the <a 
href="https://github.com/apache/struts-extras";>README</a> for more details and 
supported Apache Struts versions.</p>
+
+<p><strong>All developers are strongly advised to perform this 
action.</strong></p>
+
+<p>Should any issues arise with your use of any version of the Struts 
framework, please post your comments
+to the user list, and, if appropriate, file a tracking ticket.</p>
+
+<p>You can download those plugins from our <a 
href="download.cgi#struts-extras">download</a> page.</p>
+
 <h4 id="a20170320">20 march 2017 - Struts Extras secure Multipart plugins 
General Availability</h4>
 
 <p>The Apache Struts group is pleased to announce that the Apache Struts 2 
Secure Jakarta Multipart parser plugin 

Modified: websites/production/struts/content/docs/file-upload.html
==============================================================================
--- websites/production/struts/content/docs/file-upload.html (original)
+++ websites/production/struts/content/docs/file-upload.html Thu Mar 23 
08:19:22 2017
@@ -140,17 +140,17 @@ under the License.
     <div class="pagecontent">
         <div class="wiki-content">
             <div id="ConfluenceContent"><p>The Struts 2 framework provides 
built-in support for processing file uploads that conform to <a shape="rect" 
class="external-link" href="http://www.ietf.org/rfc/rfc1867.txt"; 
rel="nofollow">RFC 1867</a>, "Form-based File Upload in HTML". When correctly 
configured the framework will pass uploaded file(s) into your Action class. 
Support for individual and multiple file uploads are provided. When a file is 
uploaded it will typically be stored in a temporary directory. Uploaded files 
should be processed or moved by your Action class to ensure the data is not 
lost. Be aware that servers may have a security policy in place that prohibits 
you from writing to directories other than the temporary directory and the 
directories that belong to your web application.</p><p><style 
type="text/css">/*<![CDATA[*/
-div.rbtoc1488974148361 {padding: 0px;}
-div.rbtoc1488974148361 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1488974148361 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1490256820465 {padding: 0px;}
+div.rbtoc1490256820465 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1490256820465 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1488974148361">
+/*]]>*/</style></p><div class="toc-macro rbtoc1490256820465">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#FileUpload-Dependencies">Dependencies</a></li><li><a shape="rect" 
href="#FileUpload-BasicUsage">Basic Usage</a></li><li><a shape="rect" 
href="#FileUpload-UploadingMultipleFiles">Uploading Multiple Files</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#FileUpload-UploadingMultipleFilesusingArrays">Uploading Multiple Files 
using Arrays</a></li><li><a shape="rect" 
href="#FileUpload-UploadingMultipleFilesusingLists">Uploading Multiple Files 
using Lists</a></li></ul>
 </li><li><a shape="rect" href="#FileUpload-AdvancedConfiguration">Advanced 
Configuration</a>
-<ul class="toc-indentation"><li><a shape="rect" 
href="#FileUpload-FileSizeLimits">File Size Limits</a></li><li><a shape="rect" 
href="#FileUpload-FileTypes">File Types</a></li><li><a shape="rect" 
href="#FileUpload-ErrorMessages">Error Messages</a></li><li><a shape="rect" 
href="#FileUpload-TemporaryDirectories">Temporary Directories</a></li><li><a 
shape="rect" href="#FileUpload-AlternateLibraries">Alternate 
Libraries</a></li></ul>
+<ul class="toc-indentation"><li><a shape="rect" 
href="#FileUpload-FileSizeLimits">File Size Limits</a></li><li><a shape="rect" 
href="#FileUpload-FileTypes">File Types</a></li><li><a shape="rect" 
href="#FileUpload-ErrorMessages">Error Messages</a></li><li><a shape="rect" 
href="#FileUpload-TemporaryDirectories">Temporary Directories</a></li><li><a 
shape="rect" href="#FileUpload-AlternateLibraries">Alternate 
Libraries</a></li><li><a shape="rect" 
href="#FileUpload-Requestvalidation">Request validation</a></li></ul>
 </li></ul>
-</div><h2 id="FileUpload-Dependencies">Dependencies</h2><p>The Struts 2 
framework leverages add-on libraries to handle the parsing of uploaded files. 
These libraries are not included in the Struts distribution, you must add them 
into your project. The libraries needed are:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Library</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>URL</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Struts 2.0.x</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Struts 2.1.x</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Commons-FileUpload</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><a shape="rect" class="external-link" 
href="http://commons.apache.org/fileupload/";>http://commons.apache.org/fileupload/</a></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>1.1.1</p></td><td colspan="1" 
rowspan="1" class="confluenc
 eTd"><p>1.2.1</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Commons-IO</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><a shape="rect" class="external-link" 
href="http://commons.apache.org/io/";>http://commons.apache.org/io/</a></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>1.0</p></td><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p>1.3.2</p></td></tr></tbody></table></div><p>If you are 
using Maven then you can add these libraries as dependencies in your project's 
pom.xml.</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Struts 
2.0.x File Upload Dependencies</b></div><div class="codeContent panelContent 
pdl">
+</div><h2 id="FileUpload-Dependencies">Dependencies</h2><p>The Struts 2 
framework leverages add-on libraries to handle the parsing of uploaded files. 
These libraries are not included in the Struts distribution, you must add them 
into your project. The libraries needed are:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Library</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>URL</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Struts 2.0.x</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Struts 2.1.x</p></th><th colspan="1" rowspan="1" 
class="confluenceTh">Struts 2.5.x</th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Commons-FileUpload</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><a shape="rect" class="external-link" 
href="http://commons.apache.org/fileupload/";>http://commons.apache.org/fileupload/</a></td><td
 colspan="1" rowspan="1" class="confluenc
 eTd"><p>1.1.1</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>1.2.1</p></td><td colspan="1" rowspan="1" 
class="confluenceTd">1.3.2</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Commons-IO</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><a shape="rect" class="external-link" 
href="http://commons.apache.org/io/";>http://commons.apache.org/io/</a></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>1.0</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>1.3.2</p></td><td colspan="1" rowspan="1" 
class="confluenceTd">2.4</td></tr></tbody></table></div><p>If you are using 
Maven then you can add these libraries as dependencies in your project's 
pom.xml.</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Struts 
2.0.x File Upload Dependencies</b></div><div class="codeContent panelContent 
pdl">
 <pre class="brush: xml; gutter: false; theme: Default" 
style="font-size:12px;">&lt;dependency&gt;
     &lt;groupId&gt;commons-fileupload&lt;/groupId&gt;
     &lt;artifactId&gt;commons-fileupload&lt;/artifactId&gt;
@@ -372,7 +372,9 @@ struts.multipart.maxSize=2097152
     &lt;result name="success"&gt;good_result.jsp&lt;/result&gt;
 &lt;/action&gt;
 </pre>
-</div></div><p>When the uploaded file type does not match one of the MIME 
types specified a field error will be created as described in the next section 
entitled Error Messages. Programmatically limiting the file type means using 
the information passed in to your Action class via the 
<code>setXContentType(String contentType)</code> method. The benefit to this 
type of approach would be that it's more flexible and no interceptor 
configuration would be needed if file sizes are keep under 2 megs.</p><h3 
id="FileUpload-ErrorMessages">Error Messages</h3><p>If an error occurs several 
field errors will be added assuming that the action implements 
<code>com.opensymphony.xwork2.ValidationAware</code> or extends 
<code>com.opensymphony.xwork2.ActionSupport</code>. These error messages are 
based on several i18n values stored in struts-messages.properties, a default 
i18n file processed for all i18n requests. You can override the text of these 
messages by providing text for the following keys:</p>
 <div class="table-wrap"><table class="confluenceTable"><tbody><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p>Error Key</p></th><th 
colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>struts.messages.error.uploading</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>A general error that occurs 
when the file could not be uploaded</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p>struts.messages.error.file.too.large</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Occurs when the uploaded file 
is too large as specified by maximumSize.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p>struts.messages.error.content.type.not.allowed</p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>Occurs when the uploaded file 
does not match the expected content types specified</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>struts.
 messages.error.file.extension.not.allowed</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Occurs when uploaded file has disallowed 
extension</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>struts.messages.upload.error.SizeLimitExceededException</p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>Occurs when the upload request 
(as a whole) exceed configured 
<strong>struts.multipart.maxSize</strong></p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>struts.messages.upload.error.&lt;Exception 
class SimpleName&gt;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Occurs when any other exception took place during file 
upload process</p></td></tr></tbody></table></div><h3 
id="FileUpload-TemporaryDirectories">Temporary Directories</h3><p>All uploaded 
files are saved to a temporary directory by the framework before being passed 
in to an Action. Depending on the allowed file sizes it may be necessary to 
have the framework s
 tore these temporary files in an alternate location. To do this change 
<code>struts.multipart.saveDir</code> to the directory where the uploaded files 
will be placed. If this property is not set it defaults to 
<code>javax.servlet.context.tempdir</code>. Keep in mind that on some operating 
systems, like Solaris, <code>/tmp</code> is memory based and files stored in 
that directory would consume an amount of RAM approximately equal to the size 
of the uploaded file.</p><h3 id="FileUpload-AlternateLibraries">Alternate 
Libraries</h3><p>The <code>struts.multipart.parser</code> used by the 
fileUpload interceptor to handle HTTP POST requests, encoded using the 
MIME-type multipart/form-data, can be changed out. Currently there are two 
choices, jakarta and pell. The jakarta parser is a standard part of the Struts 
2 framework needing only its required libraries added to a project. The pell 
parser uses Jason Pell's multipart parser instead of the Commons-FileUpload 
library. The pell parser is a 
 Struts 2 plugin, for more details see: <a shape="rect" 
href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=33353";>pell
 multipart plugin</a>. There was a third alternative, cos, but it was removed 
due to licensing incompatibilities.</p><p>As from Struts version 2.3.18 a new 
implementation of&#160;<code>MultiPartRequest</code> was added 
-&#160;<code>JakartaStreamMultiPartRequest</code>. It can be used to handle 
large files, see&#160;<a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-3025";>WW-3025</a> for more 
details, but you can simple set</p><pre>&lt;constant 
name="struts.multipart.parser" value="jakarta-stream" /&gt;</pre><p>in 
struts.xml to start using it.</p></div>
+</div></div><p>When the uploaded file type does not match one of the MIME 
types specified a field error will be created as described in the next section 
entitled Error Messages. Programmatically limiting the file type means using 
the information passed in to your Action class via the 
<code>setXContentType(String contentType)</code> method. The benefit to this 
type of approach would be that it's more flexible and no interceptor 
configuration would be needed if file sizes are keep under 2 megs.</p><h3 
id="FileUpload-ErrorMessages">Error Messages</h3><p>If an error occurs several 
field errors will be added assuming that the action implements 
<code>com.opensymphony.xwork2.ValidationAware</code> or extends 
<code>com.opensymphony.xwork2.ActionSupport</code>. These error messages are 
based on several i18n values stored in struts-messages.properties, a default 
i18n file processed for all i18n requests. You can override the text of these 
messages by providing text for the following keys:</p>
 <div class="table-wrap"><table class="confluenceTable"><tbody><tr><th 
colspan="1" rowspan="1" class="confluenceTh"><p>Error Key</p></th><th 
colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>struts.messages.error.uploading</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>A general error that occurs 
when the file could not be uploaded</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p>struts.messages.error.file.too.large</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Occurs when the uploaded file 
is too large as specified by maximumSize.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p>struts.messages.error.content.type.not.allowed</p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>Occurs when the uploaded file 
does not match the expected content types specified</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>struts.
 messages.error.file.extension.not.allowed</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Occurs when uploaded file has disallowed 
extension</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>struts.messages.upload.error.SizeLimitExceededException</p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p>Occurs when the upload request 
(as a whole) exceed configured 
<strong>struts.multipart.maxSize</strong></p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>struts.messages.upload.error.&lt;Exception 
class SimpleName&gt;</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Occurs when any other exception took place during file 
upload process</p></td></tr></tbody></table></div><h3 
id="FileUpload-TemporaryDirectories">Temporary Directories</h3><p>All uploaded 
files are saved to a temporary directory by the framework before being passed 
in to an Action. Depending on the allowed file sizes it may be necessary to 
have the framework s
 tore these temporary files in an alternate location. To do this change 
<code>struts.multipart.saveDir</code> to the directory where the uploaded files 
will be placed. If this property is not set it defaults to 
<code>javax.servlet.context.tempdir</code>. Keep in mind that on some operating 
systems, like Solaris, <code>/tmp</code> is memory based and files stored in 
that directory would consume an amount of RAM approximately equal to the size 
of the uploaded file.</p><h3 id="FileUpload-AlternateLibraries">Alternate 
Libraries</h3><p>The <code>struts.multipart.parser</code> used by the 
fileUpload interceptor to handle HTTP POST requests, encoded using the 
MIME-type multipart/form-data, can be changed out. Currently there are two 
choices, jakarta and pell. The jakarta parser is a standard part of the Struts 
2 framework needing only its required libraries added to a project. The pell 
parser uses Jason Pell's multipart parser instead of the Commons-FileUpload 
library. The pell parser is a 
 Struts 2 plugin, for more details see: <a shape="rect" 
href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=33353";>pell
 multipart plugin</a>. There was a third alternative, cos, but it was removed 
due to licensing incompatibilities.</p><p>As from Struts version 2.3.18 a new 
implementation of&#160;<code>MultiPartRequest</code> was added 
-&#160;<code>JakartaStreamMultiPartRequest</code>. It can be used to handle 
large files, see&#160;<a shape="rect" class="external-link" 
href="https://issues.apache.org/jira/browse/WW-3025";>WW-3025</a> for more 
details, but you can simple set</p><pre>&lt;constant 
name="struts.multipart.parser" value="jakarta-stream" /&gt;</pre><p>in 
struts.xml to start using it.</p><h3 id="FileUpload-Requestvalidation">Request 
validation</h3><p>The&#160;<code>struts.multipart.validationRegex</code>&#160;is
 used to define a RegEx to be used to validate if the incoming request is a 
multipart request. The request must use the <code>POST</code>&#160;metho
 d and match the RegEx, by default the RegEx is defined as follow:</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+<pre class="brush: java; gutter: false; theme: Default" 
style="font-size:12px;">^multipart\\/form-data(; 
boundary=[a-zA-Z0-9]{1,70})?</pre>
+</div></div><p>Please read&#160;<a shape="rect" class="external-link" 
href="https://www.w3.org/Protocols/rfc1341/7_2_Multipart.html"; 
rel="nofollow">RFC1341</a> the <strong>Multipart section</strong> for more 
details, existing Struts <code>Multipart</code>&#160;parsers support 
only&#160;<code>multipart/form-data</code>&#160;content 
type.</p><p>&#160;</p></div>
         </div>
 
         

Modified: websites/production/struts/content/download.html
==============================================================================
--- websites/production/struts/content/download.html (original)
+++ websites/production/struts/content/download.html Thu Mar 23 08:19:22 2017
@@ -335,12 +335,12 @@
   <li>Apache Struts 2 Secure Jakarta Multipart parser plugin:
     <ul>
       <li>
-        <a 
href="[preferred]struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.0/struts2-secure-jakarta-multipart-parser-plugin-1.0.jar">
-          struts2-secure-jakarta-multipart-parser-plugin-1.0.jar
+        <a 
href="[preferred]struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.1/struts2-secure-jakarta-multipart-parser-plugin-1.1.jar">
+          struts2-secure-jakarta-multipart-parser-plugin-1.1.jar
         </a>
-        [<a 
href="http://www.apache.org/dist/struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.0/struts2-secure-jakarta-multipart-parser-plugin-1.0.jar.asc";>PGP</a>]
-        [<a 
href="http://www.apache.org/dist/struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.0/struts2-secure-jakarta-multipart-parser-plugin-1.0.jar.md5";>MD5</a>]
-        [<a 
href="http://www.apache.org/dist/struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.0/struts2-secure-jakarta-multipart-parser-plugin-1.0.jar.sha1";>SHA1</a>]
+        [<a 
href="http://www.apache.org/dist/struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.1/struts2-secure-jakarta-multipart-parser-plugin-1.1.jar.asc";>PGP</a>]
+        [<a 
href="http://www.apache.org/dist/struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.1/struts2-secure-jakarta-multipart-parser-plugin-1.1.jar.md5";>MD5</a>]
+        [<a 
href="http://www.apache.org/dist/struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.1/struts2-secure-jakarta-multipart-parser-plugin-1.1.jar.sha1";>SHA1</a>]
       </li>
     </ul>
   </li>
@@ -348,12 +348,12 @@
   <li>Source:
     <ul>
       <li>
-        <a 
href="[preferred]struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.0/struts2-secure-jakarta-multipart-parser-plugin-1.0-source-release.zip">
-          struts2-secure-jakarta-multipart-parser-plugin-1.0-source-release.zip
+        <a 
href="[preferred]struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.1/struts2-secure-jakarta-multipart-parser-plugin-1.1-source-release.zip">
+          struts2-secure-jakarta-multipart-parser-plugin-1.1-source-release.zip
         </a>
-        [<a 
href="http://www.apache.org/dist/struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.0/struts2-secure-jakarta-multipart-parser-plugin-1.0-source-release.zip.md5";>PGP</a>]
-        [<a 
href="http://www.apache.org/dist/struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.0/struts2-secure-jakarta-multipart-parser-plugin-1.0-source-release.zip.asc";>MD5</a>]
-        [<a 
href="http://www.apache.org/dist/struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.0/struts2-secure-jakarta-multipart-parser-plugin-1.0-source-release.zip.sha1";>SHA1</a>]
+        [<a 
href="http://www.apache.org/dist/struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.1/struts2-secure-jakarta-multipart-parser-plugin-1.1-source-release.zip.md5";>PGP</a>]
+        [<a 
href="http://www.apache.org/dist/struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.1/struts2-secure-jakarta-multipart-parser-plugin-1.1-source-release.zip.asc";>MD5</a>]
+        [<a 
href="http://www.apache.org/dist/struts/struts-extras/struts2-secure-jakarta-multipart-parser-plugin/1.1/struts2-secure-jakarta-multipart-parser-plugin-1.1-source-release.zip.sha1";>SHA1</a>]
       </li>
     </ul>
   </li>
@@ -361,12 +361,12 @@
   <li>Apache Struts 2 Secure Jakarta Stream Multipart parser plugin:
     <ul>
       <li>
-        <a 
href="[preferred]struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.0/struts2-secure-jakarta-stream-multipart-parser-plugin-1.0.jar">
-          struts2-secure-jakarta-multipart-parser-plugin-1.0.jar
+        <a 
href="[preferred]struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.1/struts2-secure-jakarta-stream-multipart-parser-plugin-1.1.jar">
+          struts2-secure-jakarta-multipart-parser-plugin-1.1.jar
         </a>
-        [<a 
href="http://www.apache.org/dist/struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.0/struts2-secure-jakarta-stream-multipart-parser-plugin-1.0.jar.asc";>PGP</a>]
-        [<a 
href="http://www.apache.org/dist/struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.0/struts2-secure-jakarta-stream-multipart-parser-plugin-1.0.jar.md5";>MD5</a>]
-        [<a 
href="http://www.apache.org/dist/struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.0/struts2-secure-jakarta-stream-multipart-parser-plugin-1.0.jar.sha1";>SHA1</a>]
+        [<a 
href="http://www.apache.org/dist/struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.1/struts2-secure-jakarta-stream-multipart-parser-plugin-1.1.jar.asc";>PGP</a>]
+        [<a 
href="http://www.apache.org/dist/struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.1/struts2-secure-jakarta-stream-multipart-parser-plugin-1.1.jar.md5";>MD5</a>]
+        [<a 
href="http://www.apache.org/dist/struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.1/struts2-secure-jakarta-stream-multipart-parser-plugin-1.1.jar.sha1";>SHA1</a>]
       </li>
     </ul>
   </li>
@@ -374,12 +374,12 @@
   <li>Source:
     <ul>
       <li>
-        <a 
href="[preferred]struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.0/struts2-secure-jakarta-stream-multipart-parser-plugin-1.0-source-release.zip">
-          struts2-secure-jakarta-multipart-parser-plugin-1.0-source-release.zip
+        <a 
href="[preferred]struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.1/struts2-secure-jakarta-stream-multipart-parser-plugin-1.1-source-release.zip">
+          struts2-secure-jakarta-multipart-parser-plugin-1.1-source-release.zip
         </a>
-        [<a 
href="http://www.apache.org/dist/struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.0/struts2-secure-jakarta-stream-multipart-parser-plugin-1.0-source-release.zip.md5";>PGP</a>]
-        [<a 
href="http://www.apache.org/dist/struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.0/struts2-secure-jakarta-stream-multipart-parser-plugin-1.0-source-release.zip.asc";>MD5</a>]
-        [<a 
href="http://www.apache.org/dist/struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.0/struts2-secure-jakarta-stream-multipart-parser-plugin-1.0-source-release.zip.sha1";>SHA1</a>]
+        [<a 
href="http://www.apache.org/dist/struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.1/struts2-secure-jakarta-stream-multipart-parser-plugin-1.1-source-release.zip.md5";>PGP</a>]
+        [<a 
href="http://www.apache.org/dist/struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.1/struts2-secure-jakarta-stream-multipart-parser-plugin-1.1-source-release.zip.asc";>MD5</a>]
+        [<a 
href="http://www.apache.org/dist/struts/struts-extras/struts2-secure-jakarta-stream-multipart-parser-plugin/1.1/struts2-secure-jakarta-stream-multipart-parser-plugin-1.1-source-release.zip.sha1";>SHA1</a>]
       </li>
     </ul>
   </li>

Modified: websites/production/struts/content/index.html
==============================================================================
--- websites/production/struts/content/index.html (original)
+++ websites/production/struts/content/index.html Thu Mar 23 08:19:22 2017
@@ -167,9 +167,9 @@
       <div class="column col-md-4">
         <h2>Apache Struts Extras GA</h2>
         <p>
-          The Struts Extras secure Multipart plugins General Availability, use 
them to secure your application against critical security
+          The Struts Extras secure Multipart plugins General Availability - 
versions 1.1, use them to secure your application against critical security
           vulnerability reported in <a href="/docs/s2-045.html">S2-045</a>, <a 
href="/docs/s2-046.html">S2-046</a>,
-          read more in <a href="announce.html#a20170320">Announcement</a> or in
+          read more in <a href="announce.html#a20170323">Announcement</a> or in
           <a href="https://github.com/apache/struts-extras";>README</a>
         </p>
       </div>


Reply via email to