You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2015/09/28 20:43:19 UTC

[1/8] struts git commit: Solves issue with vulnerable parameters

Repository: struts
Updated Branches:
  refs/heads/master 43c030941 -> 48ea26be7


Solves issue with vulnerable parameters


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/f420f284
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/f420f284
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/f420f284

Branch: refs/heads/master
Commit: f420f28466cb82915defc4e12466b298c275abaf
Parents: 925741a
Author: Lukasz Lenart <lu...@apache.org>
Authored: Tue Sep 22 07:24:49 2015 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Tue Sep 22 07:24:49 2015 +0200

----------------------------------------------------------------------
 .../DefaultExcludedPatternsChecker.java         |  2 +-
 .../interceptor/ParametersInterceptorTest.java  |  6 ++--
 .../DefaultExcludedPatternsCheckerTest.java     | 35 ++++++++++++++++++++
 3 files changed, 40 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/f420f284/xwork-core/src/main/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsChecker.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsChecker.java b/xwork-core/src/main/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsChecker.java
index d96b67a..93d72ca 100644
--- a/xwork-core/src/main/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsChecker.java
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsChecker.java
@@ -16,7 +16,7 @@ public class DefaultExcludedPatternsChecker implements ExcludedPatternsChecker {
     private static final Logger LOG = LoggerFactory.getLogger(DefaultExcludedPatternsChecker.class);
 
     public static final String[] EXCLUDED_PATTERNS = {
-        "(^|.*#)(dojo|struts|session|request|application|servlet(Request|Response)|parameters|context|_memberAccess)(\\.|\\[).*",
+        "(^|\\%\\{)((#?)(top(\\.|\\['|\\[\")|\\[\\d\\]\\.)?)(dojo|struts|session|request|response|application|servlet(Request|Response|Context)|parameters|context|_memberAccess)(\\.|\\[).*",
         "^(action|method):.*"
     };
 

http://git-wip-us.apache.org/repos/asf/struts/blob/f420f284/xwork-core/src/test/java/com/opensymphony/xwork2/interceptor/ParametersInterceptorTest.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/test/java/com/opensymphony/xwork2/interceptor/ParametersInterceptorTest.java b/xwork-core/src/test/java/com/opensymphony/xwork2/interceptor/ParametersInterceptorTest.java
index f20e178..5dcc3e0 100644
--- a/xwork-core/src/test/java/com/opensymphony/xwork2/interceptor/ParametersInterceptorTest.java
+++ b/xwork-core/src/test/java/com/opensymphony/xwork2/interceptor/ParametersInterceptorTest.java
@@ -110,11 +110,13 @@ public class ParametersInterceptorTest extends XWorkTestCase {
         pi.setParameters(action, vs, params);
 
         // then
-        assertEquals(1, action.getActionMessages().size());
+        assertEquals(2, action.getActionMessages().size());
 
         String msg1 = action.getActionMessage(0);
+        String msg2 = action.getActionMessage(1);
 
-        assertTrue(msg1.contains("Error setting expression 'top['name'](0)' with value 'true'"));
+        assertEquals("Error setting expression 'name' with value '(#context[\"xwork.MethodAccessor.denyMethodExecution\"]= new java.lang.Boolean(false), #_memberAccess[\"allowStaticMethodAccess\"]= new java.lang.Boolean(true), @java.lang.Runtime@getRuntime().exec('mkdir /tmp/PWNAGE'))(meh)'", msg1);
+        assertEquals("Error setting expression 'top['name'](0)' with value 'true'", msg2);
         assertNull(action.getName());
     }
 

http://git-wip-us.apache.org/repos/asf/struts/blob/f420f284/xwork-core/src/test/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsCheckerTest.java
----------------------------------------------------------------------
diff --git a/xwork-core/src/test/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsCheckerTest.java b/xwork-core/src/test/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsCheckerTest.java
index 22e4a73..d917808 100644
--- a/xwork-core/src/test/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsCheckerTest.java
+++ b/xwork-core/src/test/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsCheckerTest.java
@@ -3,6 +3,7 @@ package com.opensymphony.xwork2.security;
 import com.opensymphony.xwork2.XWorkTestCase;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 public class DefaultExcludedPatternsCheckerTest extends XWorkTestCase {
@@ -35,6 +36,10 @@ public class DefaultExcludedPatternsCheckerTest extends XWorkTestCase {
                 add("%{#servletResponse.test}");
                 add("%{#ServletResponse['test']}");
                 add("%{#ServletResponse.test}");
+                add("%{#servletContext['test']}");
+                add("%{#servletContext.test}");
+                add("%{#ServletContext['test']}");
+                add("%{#ServletContext.test}");
                 add("%{#parameters['test']}");
                 add("%{#parameters.test}");
                 add("%{#Parameters['test']}");
@@ -65,6 +70,36 @@ public class DefaultExcludedPatternsCheckerTest extends XWorkTestCase {
         }
     }
 
+    public void testDefaultExcludePatterns() throws Exception {
+        // given
+        List<String> prefixes = Arrays.asList("#[0].%s", "[0].%s", "top.%s", "%{[0].%s}", "%{#[0].%s}", "%{top.%s}", "%{#top.%s}", "%{#%s}", "%{%s}", "#%s");
+        List<String> inners = Arrays.asList("servletRequest", "servletResponse", "servletContext", "application", "session", "struts", "request", "response", "dojo", "parameters");
+        List<String> suffixes = Arrays.asList("['test']", "[\"test\"]", ".test");
+
+        DefaultExcludedPatternsChecker checker = new DefaultExcludedPatternsChecker();
+        checker.setAdditionalExcludePatterns(".*(^|\\.|\\[|'|\")class(\\.|\\[|'|\").*");
+
+        List<String> params = new ArrayList<String>();
+        for (String prefix : prefixes) {
+            for (String inner : inners) {
+                String innerUp = inner.substring(0, 1).toUpperCase() + inner.substring(1);
+                for (String suffix : suffixes) {
+                    params.add(prefix.replace("%s", inner + suffix));
+                    params.add(prefix.replace("%s", innerUp + suffix));
+                }
+            }
+        }
+
+        for (String param : params) {
+            System.out.println(param);
+            // when
+            ExcludedPatternsChecker.IsExcluded actual = checker.isExcluded(param);
+
+            // then
+            assertTrue("Access to " + param + " is possible!", actual.isExcluded());
+        }
+    }
+
     public void testParamWithClassInName() throws Exception {
         // given
         List<String> properParams = new ArrayList<String>();


[8/8] struts git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/struts

Posted by lu...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/struts


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/48ea26be
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/48ea26be
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/48ea26be

Branch: refs/heads/master
Commit: 48ea26be79bc54286ce50ec72aa6c53fee17b1bf
Parents: db62a57 43c0309
Author: Lukasz Lenart <lu...@apache.org>
Authored: Mon Sep 28 20:42:36 2015 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Mon Sep 28 20:42:36 2015 +0200

----------------------------------------------------------------------
 .../main/resources/archetype-resources/pom.xml  | 14 ++-----
 .../main/java/actions/ApplicationAction.java    | 44 --------------------
 .../src/main/java/actions/Index.java            | 26 +++++-------
 .../main/java/actions/data/ProjectsAction.java  |  2 -
 .../main/java/actions/data/package-info.java    | 24 +++++++++++
 .../src/main/resources/struts.xml               |  4 +-
 .../main/webapp/WEB-INF/content/application.jsp | 38 -----------------
 .../src/main/webapp/WEB-INF/content/index.jsp   | 38 +++++++++++++++++
 .../src/main/webapp/index.jsp                   |  2 +-
 .../java/actions/ApplicationActionTest.java     | 32 --------------
 .../src/test/java/actions/IndexTest.java        | 13 +++---
 .../src/main/resources/struts-plugin.xml        | 41 ++++++++++++++++++
 .../rest/src/main/resources/struts-plugin.xml   |  4 +-
 13 files changed, 131 insertions(+), 151 deletions(-)
----------------------------------------------------------------------



[7/8] struts git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/struts

Posted by lu...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/struts


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/db62a57b
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/db62a57b
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/db62a57b

Branch: refs/heads/master
Commit: db62a57bcb174a288a4cd706f4ade7875a332846
Parents: dc270c2 18fc7eb
Author: Lukasz Lenart <lu...@apache.org>
Authored: Wed Sep 23 08:56:51 2015 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Wed Sep 23 08:56:51 2015 +0200

----------------------------------------------------------------------
 .../WEB-INF/content/orders-deleteConfirm.jsp    |    2 +
 .../main/webapp/WEB-INF/content/orders-edit.jsp |    8 +
 .../webapp/WEB-INF/content/orders-editNew.jsp   |    9 +-
 .../webapp/WEB-INF/content/orders-index.jsp     |    2 +
 .../main/webapp/WEB-INF/content/orders-show.jsp |    2 +
 apps/rest-showcase/src/main/webapp/css/app.css  |    5 +
 .../webapp/js/lib/angular/angular-animate.js    |  773 ++++++++-----
 .../js/lib/angular/angular-animate.min.js       |   98 +-
 .../js/lib/angular/angular-animate.min.js.map   |    6 +-
 .../main/webapp/js/lib/angular/angular-aria.js  |    2 +-
 .../webapp/js/lib/angular/angular-aria.min.js   |    2 +-
 .../webapp/js/lib/angular/angular-cookies.js    |    4 +-
 .../js/lib/angular/angular-cookies.min.js       |    2 +-
 .../webapp/js/lib/angular/angular-loader.js     |    9 +-
 .../webapp/js/lib/angular/angular-loader.min.js |    9 +-
 .../js/lib/angular/angular-loader.min.js.map    |    6 +-
 .../js/lib/angular/angular-message-format.js    |    2 +-
 .../lib/angular/angular-message-format.min.js   |    2 +-
 .../webapp/js/lib/angular/angular-messages.js   |    2 +-
 .../js/lib/angular/angular-messages.min.js      |    2 +-
 .../main/webapp/js/lib/angular/angular-mocks.js |  104 +-
 .../webapp/js/lib/angular/angular-resource.js   |   12 +-
 .../js/lib/angular/angular-resource.min.js      |   16 +-
 .../js/lib/angular/angular-resource.min.js.map  |    4 +-
 .../main/webapp/js/lib/angular/angular-route.js |    7 +-
 .../webapp/js/lib/angular/angular-route.min.js  |    2 +-
 .../js/lib/angular/angular-route.min.js.map     |    2 +-
 .../webapp/js/lib/angular/angular-sanitize.js   |    4 +-
 .../js/lib/angular/angular-sanitize.min.js      |    2 +-
 .../webapp/js/lib/angular/angular-scenario.js   | 1068 +++++++++++------
 .../main/webapp/js/lib/angular/angular-touch.js |    2 +-
 .../webapp/js/lib/angular/angular-touch.min.js  |    2 +-
 .../src/main/webapp/js/lib/angular/angular.js   | 1070 ++++++++++++------
 .../main/webapp/js/lib/angular/angular.min.js   |  559 ++++-----
 .../webapp/js/lib/angular/angular.min.js.map    |    6 +-
 .../src/main/webapp/js/lib/angular/errors.json  |    2 +-
 .../js/lib/angular/i18n/angular-locale_af-na.js |    4 +-
 .../js/lib/angular/i18n/angular-locale_af-za.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_af.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_ak-gh.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ak.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_am-et.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_am.js    |    2 +-
 .../lib/angular/i18n/angular-locale_ar-001.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_ar-ae.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ar-bh.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ar-dj.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ar-dz.js |   10 +-
 .../js/lib/angular/i18n/angular-locale_ar-eg.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ar-eh.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ar-er.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ar-il.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ar-iq.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ar-jo.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ar-km.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ar-kw.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ar-lb.js |    6 +-
 .../js/lib/angular/i18n/angular-locale_ar-ly.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ar-ma.js |   10 +-
 .../js/lib/angular/i18n/angular-locale_ar-mr.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ar-om.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ar-ps.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ar-qa.js |    8 +-
 .../js/lib/angular/i18n/angular-locale_ar-sa.js |    8 +-
 .../js/lib/angular/i18n/angular-locale_ar-sd.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ar-so.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ar-ss.js |    4 +-
 .../js/lib/angular/i18n/angular-locale_ar-sy.js |    8 +-
 .../js/lib/angular/i18n/angular-locale_ar-td.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ar-tn.js |   16 +-
 .../js/lib/angular/i18n/angular-locale_ar-ye.js |    8 +-
 .../js/lib/angular/i18n/angular-locale_ar.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_as-in.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_as.js    |    2 +-
 .../angular/i18n/angular-locale_az-cyrl-az.js   |    2 +-
 .../lib/angular/i18n/angular-locale_az-cyrl.js  |    4 +-
 .../angular/i18n/angular-locale_az-latn-az.js   |    2 +-
 .../lib/angular/i18n/angular-locale_az-latn.js  |    4 +-
 .../js/lib/angular/i18n/angular-locale_az.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_be-by.js |   22 +-
 .../js/lib/angular/i18n/angular-locale_be.js    |   22 +-
 .../lib/angular/i18n/angular-locale_bem-zm.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_bem.js   |    2 +-
 .../angular/i18n/angular-locale_bm-latn-ml.js   |    2 +-
 .../lib/angular/i18n/angular-locale_bm-latn.js  |    4 +-
 .../js/lib/angular/i18n/angular-locale_bm.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_bo-cn.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_bo-in.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_bo.js    |    2 +-
 .../lib/angular/i18n/angular-locale_brx-in.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_brx.js   |    2 +-
 .../angular/i18n/angular-locale_bs-cyrl-ba.js   |    2 +-
 .../lib/angular/i18n/angular-locale_bs-cyrl.js  |    4 +-
 .../angular/i18n/angular-locale_bs-latn-ba.js   |    2 +-
 .../lib/angular/i18n/angular-locale_bs-latn.js  |    4 +-
 .../js/lib/angular/i18n/angular-locale_bs.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_ca-ad.js |   24 +-
 .../i18n/angular-locale_ca-es-valencia.js       |   24 +-
 .../js/lib/angular/i18n/angular-locale_ca-es.js |   24 +-
 .../js/lib/angular/i18n/angular-locale_ca-fr.js |   24 +-
 .../js/lib/angular/i18n/angular-locale_ca-it.js |   24 +-
 .../js/lib/angular/i18n/angular-locale_ca.js    |   24 +-
 .../lib/angular/i18n/angular-locale_cgg-ug.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_cgg.js   |    2 +-
 .../lib/angular/i18n/angular-locale_chr-us.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_chr.js   |    2 +-
 .../angular/i18n/angular-locale_ckb-arab-iq.js  |    2 +-
 .../angular/i18n/angular-locale_ckb-arab-ir.js  |    2 +-
 .../lib/angular/i18n/angular-locale_ckb-arab.js |    4 +-
 .../lib/angular/i18n/angular-locale_ckb-iq.js   |    2 +-
 .../lib/angular/i18n/angular-locale_ckb-ir.js   |    2 +-
 .../angular/i18n/angular-locale_ckb-latn-iq.js  |    2 +-
 .../lib/angular/i18n/angular-locale_ckb-latn.js |    4 +-
 .../js/lib/angular/i18n/angular-locale_ckb.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_cs-cz.js |    4 +-
 .../js/lib/angular/i18n/angular-locale_cs.js    |    4 +-
 .../js/lib/angular/i18n/angular-locale_cy-gb.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_cy.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_da-dk.js |    8 +-
 .../js/lib/angular/i18n/angular-locale_da-gl.js |    8 +-
 .../js/lib/angular/i18n/angular-locale_da.js    |    8 +-
 .../lib/angular/i18n/angular-locale_dav-ke.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_dav.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_de-at.js |   10 +-
 .../js/lib/angular/i18n/angular-locale_de-li.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_dz-bt.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_dz.js    |    2 +-
 .../lib/angular/i18n/angular-locale_ebu-ke.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_ebu.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_ee-gh.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ee-tg.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ee.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_el-cy.js |    8 +-
 .../lib/angular/i18n/angular-locale_en-001.js   |   14 +-
 .../lib/angular/i18n/angular-locale_en-150.js   |   16 +-
 .../js/lib/angular/i18n/angular-locale_en-ag.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-ai.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-as.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_en-au.js |    6 +-
 .../js/lib/angular/i18n/angular-locale_en-bb.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-be.js |   16 +-
 .../js/lib/angular/i18n/angular-locale_en-bm.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-bs.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-bw.js |    4 +-
 .../js/lib/angular/i18n/angular-locale_en-bz.js |    4 +-
 .../js/lib/angular/i18n/angular-locale_en-ca.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_en-cc.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-ck.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-cm.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-cx.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-dg.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-dm.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-er.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-fj.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-fk.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-fm.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-gb.js |    6 +-
 .../js/lib/angular/i18n/angular-locale_en-gd.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-gg.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-gh.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-gi.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-gm.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-gu.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_en-gy.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-hk.js |    6 +-
 .../js/lib/angular/i18n/angular-locale_en-ie.js |   10 +-
 .../js/lib/angular/i18n/angular-locale_en-im.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-in.js |    6 +-
 .../js/lib/angular/i18n/angular-locale_en-io.js |   14 +-
 .../lib/angular/i18n/angular-locale_en-iso.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_en-je.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-jm.js |   10 +-
 .../js/lib/angular/i18n/angular-locale_en-ke.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-ki.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-kn.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-ky.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-lc.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-lr.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-ls.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-mg.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-mh.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_en-mo.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-mp.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_en-ms.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-mt.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-mu.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-mw.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-my.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-na.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-nf.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-ng.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-nr.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-nu.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-nz.js |    6 +-
 .../js/lib/angular/i18n/angular-locale_en-pg.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-ph.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-pk.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-pn.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-pr.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_en-pw.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-rw.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-sb.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-sc.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-sd.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-sg.js |    6 +-
 .../js/lib/angular/i18n/angular-locale_en-sh.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-sl.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-ss.js |   16 +-
 .../js/lib/angular/i18n/angular-locale_en-sx.js |   16 +-
 .../js/lib/angular/i18n/angular-locale_en-sz.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-tc.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-tk.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-to.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-tt.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-tv.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-tz.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-ug.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-um.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_en-us.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_en-vc.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-vg.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-vi.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_en-vu.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-ws.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-za.js |    4 +-
 .../js/lib/angular/i18n/angular-locale_en-zm.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_en-zw.js |    4 +-
 .../js/lib/angular/i18n/angular-locale_en.js    |    2 +-
 .../lib/angular/i18n/angular-locale_eo-001.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_eo.js    |    2 +-
 .../lib/angular/i18n/angular-locale_es-419.js   |   14 +-
 .../js/lib/angular/i18n/angular-locale_es-ar.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_es-bo.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_es-cl.js |    8 +-
 .../js/lib/angular/i18n/angular-locale_es-co.js |   10 +-
 .../js/lib/angular/i18n/angular-locale_es-cr.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_es-cu.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_es-do.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_es-ea.js |    6 +-
 .../js/lib/angular/i18n/angular-locale_es-ec.js |   12 +-
 .../js/lib/angular/i18n/angular-locale_es-es.js |    6 +-
 .../js/lib/angular/i18n/angular-locale_es-gq.js |    8 +-
 .../js/lib/angular/i18n/angular-locale_es-gt.js |   10 +-
 .../js/lib/angular/i18n/angular-locale_es-hn.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_es-ic.js |    6 +-
 .../js/lib/angular/i18n/angular-locale_es-mx.js |   30 +-
 .../js/lib/angular/i18n/angular-locale_es-ni.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_es-pa.js |   10 +-
 .../js/lib/angular/i18n/angular-locale_es-pe.js |   10 +-
 .../js/lib/angular/i18n/angular-locale_es-ph.js |    6 +-
 .../js/lib/angular/i18n/angular-locale_es-pr.js |   10 +-
 .../js/lib/angular/i18n/angular-locale_es-py.js |   12 +-
 .../js/lib/angular/i18n/angular-locale_es-sv.js |   14 +-
 .../js/lib/angular/i18n/angular-locale_es-us.js |   10 +-
 .../js/lib/angular/i18n/angular-locale_es-uy.js |   10 +-
 .../js/lib/angular/i18n/angular-locale_es-ve.js |   12 +-
 .../js/lib/angular/i18n/angular-locale_es.js    |    6 +-
 .../js/lib/angular/i18n/angular-locale_fa-af.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_fa-ir.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_fa.js    |    2 +-
 .../lib/angular/i18n/angular-locale_fil-ph.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_fil.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_fr-ca.js |    4 +-
 .../lib/angular/i18n/angular-locale_fur-it.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_fur.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_ga-ie.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ga.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_gd-gb.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_gd.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_gl-es.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_gl.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_gu-in.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_gu.js    |    2 +-
 .../lib/angular/i18n/angular-locale_guz-ke.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_guz.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_gv-im.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_gv.js    |    2 +-
 .../angular/i18n/angular-locale_ha-latn-gh.js   |    2 +-
 .../angular/i18n/angular-locale_ha-latn-ne.js   |    2 +-
 .../angular/i18n/angular-locale_ha-latn-ng.js   |    2 +-
 .../lib/angular/i18n/angular-locale_ha-latn.js  |    4 +-
 .../js/lib/angular/i18n/angular-locale_ha.js    |    2 +-
 .../lib/angular/i18n/angular-locale_haw-us.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_haw.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_he-il.js |    8 +-
 .../js/lib/angular/i18n/angular-locale_he.js    |    8 +-
 .../js/lib/angular/i18n/angular-locale_hi-in.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_hi.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_id-id.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_id.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_ig-ng.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ig.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_ii-cn.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ii.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_in.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_iw.js    |    8 +-
 .../js/lib/angular/i18n/angular-locale_ja-jp.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ja.js    |    2 +-
 .../lib/angular/i18n/angular-locale_jgo-cm.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_jgo.js   |    2 +-
 .../lib/angular/i18n/angular-locale_jmc-tz.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_jmc.js   |    2 +-
 .../lib/angular/i18n/angular-locale_kam-ke.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_kam.js   |    2 +-
 .../lib/angular/i18n/angular-locale_kde-tz.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_kde.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_ki-ke.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ki.js    |    2 +-
 .../lib/angular/i18n/angular-locale_kk-cyrl.js  |    2 +-
 .../lib/angular/i18n/angular-locale_kkj-cm.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_kkj.js   |    2 +-
 .../lib/angular/i18n/angular-locale_kln-ke.js   |   72 +-
 .../js/lib/angular/i18n/angular-locale_kln.js   |   72 +-
 .../js/lib/angular/i18n/angular-locale_km-kh.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_km.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_kn-in.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_kn.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_ko-kp.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ko-kr.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ko.js    |    2 +-
 .../lib/angular/i18n/angular-locale_kok-in.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_kok.js   |    2 +-
 .../angular/i18n/angular-locale_ks-arab-in.js   |    2 +-
 .../lib/angular/i18n/angular-locale_ks-arab.js  |    4 +-
 .../js/lib/angular/i18n/angular-locale_ks.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_kw-gb.js |   46 +-
 .../js/lib/angular/i18n/angular-locale_kw.js    |   46 +-
 .../lib/angular/i18n/angular-locale_ky-cyrl.js  |    2 +-
 .../lib/angular/i18n/angular-locale_lag-tz.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_lag.js   |    2 +-
 .../lib/angular/i18n/angular-locale_lkt-us.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_lkt.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_lv-lv.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_lv.js    |    2 +-
 .../lib/angular/i18n/angular-locale_mas-ke.js   |    2 +-
 .../lib/angular/i18n/angular-locale_mas-tz.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_mas.js   |    2 +-
 .../lib/angular/i18n/angular-locale_mer-ke.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_mer.js   |    2 +-
 .../lib/angular/i18n/angular-locale_mfe-mu.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_mfe.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_mg-mg.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_mg.js    |    2 +-
 .../lib/angular/i18n/angular-locale_mgh-mz.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_mgh.js   |    2 +-
 .../lib/angular/i18n/angular-locale_mgo-cm.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_mgo.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_mk-mk.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_mk.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_ml-in.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ml.js    |    2 +-
 .../angular/i18n/angular-locale_mn-cyrl-mn.js   |    2 +-
 .../lib/angular/i18n/angular-locale_mn-cyrl.js  |    4 +-
 .../js/lib/angular/i18n/angular-locale_mn.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_mr-in.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_mr.js    |    2 +-
 .../angular/i18n/angular-locale_ms-latn-bn.js   |    2 +-
 .../angular/i18n/angular-locale_ms-latn-my.js   |    2 +-
 .../angular/i18n/angular-locale_ms-latn-sg.js   |    2 +-
 .../lib/angular/i18n/angular-locale_ms-latn.js  |    4 +-
 .../js/lib/angular/i18n/angular-locale_ms.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_mt-mt.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_mt.js    |    2 +-
 .../lib/angular/i18n/angular-locale_mua-cm.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_mua.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_my-mm.js |    4 +-
 .../js/lib/angular/i18n/angular-locale_my.js    |    4 +-
 .../lib/angular/i18n/angular-locale_naq-na.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_naq.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_nb-no.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_nb-sj.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_nb.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_nd-zw.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_nd.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_ne-in.js |   24 +-
 .../js/lib/angular/i18n/angular-locale_ne-np.js |   10 +-
 .../js/lib/angular/i18n/angular-locale_ne.js    |   10 +-
 .../js/lib/angular/i18n/angular-locale_nl-aw.js |    4 +-
 .../js/lib/angular/i18n/angular-locale_nl-be.js |    4 +-
 .../js/lib/angular/i18n/angular-locale_nl-bq.js |    4 +-
 .../js/lib/angular/i18n/angular-locale_nl-cw.js |    6 +-
 .../js/lib/angular/i18n/angular-locale_nl-nl.js |    4 +-
 .../js/lib/angular/i18n/angular-locale_nl-sr.js |    4 +-
 .../js/lib/angular/i18n/angular-locale_nl-sx.js |    6 +-
 .../js/lib/angular/i18n/angular-locale_nl.js    |    4 +-
 .../lib/angular/i18n/angular-locale_nnh-cm.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_nnh.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_no-no.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_no.js    |    2 +-
 .../lib/angular/i18n/angular-locale_nus-sd.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_nus.js   |    2 +-
 .../lib/angular/i18n/angular-locale_nyn-ug.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_nyn.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_om-et.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_om-ke.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_om.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_or-in.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_or.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_os-ge.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_os-ru.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_os.js    |    2 +-
 .../angular/i18n/angular-locale_pa-arab-pk.js   |    2 +-
 .../lib/angular/i18n/angular-locale_pa-arab.js  |    2 +-
 .../angular/i18n/angular-locale_pa-guru-in.js   |    2 +-
 .../lib/angular/i18n/angular-locale_pa-guru.js  |    4 +-
 .../js/lib/angular/i18n/angular-locale_pa.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_pl-pl.js |    4 +-
 .../js/lib/angular/i18n/angular-locale_pl.js    |    4 +-
 .../js/lib/angular/i18n/angular-locale_pt-br.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_pt.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_qu-bo.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_qu-ec.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_qu-pe.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_qu.js    |    2 +-
 .../lib/angular/i18n/angular-locale_rof-tz.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_rof.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_ru-ua.js |    6 +-
 .../js/lib/angular/i18n/angular-locale_rw-rw.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_rw.js    |    2 +-
 .../lib/angular/i18n/angular-locale_sah-ru.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_sah.js   |    2 +-
 .../lib/angular/i18n/angular-locale_saq-ke.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_saq.js   |    2 +-
 .../lib/angular/i18n/angular-locale_shi-latn.js |    2 +-
 .../lib/angular/i18n/angular-locale_shi-tfng.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_si-lk.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_si.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_sl-si.js |    8 +-
 .../js/lib/angular/i18n/angular-locale_sl.js    |    8 +-
 .../lib/angular/i18n/angular-locale_smn-fi.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_smn.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_sn-zw.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_sn.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_so-dj.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_so-et.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_so-ke.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_so-so.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_so.js    |    2 +-
 .../angular/i18n/angular-locale_sr-cyrl-ba.js   |   16 +-
 .../lib/angular/i18n/angular-locale_sr-cyrl.js  |    2 +-
 .../angular/i18n/angular-locale_sr-latn-ba.js   |   16 +-
 .../js/lib/angular/i18n/angular-locale_sv-fi.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_sw-cd.js |  128 +++
 .../js/lib/angular/i18n/angular-locale_sw-ke.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_sw-tz.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_sw-ug.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_sw.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_ta-in.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ta-lk.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ta-my.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ta-sg.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ta.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_te-in.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_te.js    |    2 +-
 .../lib/angular/i18n/angular-locale_teo-ke.js   |    2 +-
 .../lib/angular/i18n/angular-locale_teo-ug.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_teo.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_th-th.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_th.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_ti-er.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ti-et.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ti.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_tl.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_to-to.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_to.js    |    2 +-
 .../lib/angular/i18n/angular-locale_tzm-latn.js |    2 +-
 .../angular/i18n/angular-locale_ug-arab-cn.js   |    2 +-
 .../lib/angular/i18n/angular-locale_ug-arab.js  |    4 +-
 .../js/lib/angular/i18n/angular-locale_ug.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_ur-in.js |    8 +-
 .../js/lib/angular/i18n/angular-locale_ur-pk.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_ur.js    |    2 +-
 .../angular/i18n/angular-locale_uz-cyrl-uz.js   |    2 +-
 .../lib/angular/i18n/angular-locale_uz-cyrl.js  |    4 +-
 .../angular/i18n/angular-locale_uz-latn-uz.js   |    2 +-
 .../lib/angular/i18n/angular-locale_uz-latn.js  |    4 +-
 .../js/lib/angular/i18n/angular-locale_uz.js    |    2 +-
 .../angular/i18n/angular-locale_vai-latn-lr.js  |    2 +-
 .../lib/angular/i18n/angular-locale_vai-latn.js |    4 +-
 .../angular/i18n/angular-locale_vai-vaii-lr.js  |    2 +-
 .../lib/angular/i18n/angular-locale_vai-vaii.js |    4 +-
 .../js/lib/angular/i18n/angular-locale_vai.js   |    2 +-
 .../lib/angular/i18n/angular-locale_vun-tz.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_vun.js   |    2 +-
 .../lib/angular/i18n/angular-locale_wae-ch.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_wae.js   |    2 +-
 .../lib/angular/i18n/angular-locale_yi-001.js   |    2 +-
 .../js/lib/angular/i18n/angular-locale_yi.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_yo-bj.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_yo-ng.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_yo.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_zh-cn.js |    2 +-
 .../angular/i18n/angular-locale_zh-hans-cn.js   |    2 +-
 .../angular/i18n/angular-locale_zh-hans-hk.js   |    2 +-
 .../angular/i18n/angular-locale_zh-hans-mo.js   |    2 +-
 .../angular/i18n/angular-locale_zh-hans-sg.js   |    6 +-
 .../lib/angular/i18n/angular-locale_zh-hans.js  |    4 +-
 .../angular/i18n/angular-locale_zh-hant-hk.js   |    2 +-
 .../angular/i18n/angular-locale_zh-hant-mo.js   |   10 +-
 .../angular/i18n/angular-locale_zh-hant-tw.js   |    2 +-
 .../lib/angular/i18n/angular-locale_zh-hant.js  |    2 +-
 .../js/lib/angular/i18n/angular-locale_zh-hk.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_zh-tw.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_zh.js    |    2 +-
 .../js/lib/angular/i18n/angular-locale_zu-za.js |    2 +-
 .../js/lib/angular/i18n/angular-locale_zu.js    |    2 +-
 .../src/main/webapp/js/lib/angular/version.json |    2 +-
 .../src/main/webapp/js/lib/angular/version.txt  |    2 +-
 .../src/main/webapp/js/services/DataService.js  |   33 +-
 .../org/apache/struts2/util/ContainUtil.java    |    4 +-
 .../apache/struts2/util/ContainUtilTest.java    |   30 +-
 .../struts2/ConventionPluginResourceLoader.java |   29 +
 .../apache/struts2/StrutsJUnit4TestCase.java    |    7 +-
 .../org/apache/struts2/StrutsRestTestCase.java  |  131 +++
 .../rest/DefaultContentTypeHandlerManager.java  |   15 +-
 515 files changed, 4066 insertions(+), 2918 deletions(-)
----------------------------------------------------------------------



[5/8] struts git commit: [maven-release-plugin] prepare for next development iteration

Posted by lu...@apache.org.
[maven-release-plugin] prepare for next development iteration


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/bfe51fcb
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/bfe51fcb
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/bfe51fcb

Branch: refs/heads/master
Commit: bfe51fcb7f536feae4ad24671fe319d9c5d9a38d
Parents: 7a98631
Author: Lukasz Lenart <lu...@apache.org>
Authored: Tue Sep 22 07:49:39 2015 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Tue Sep 22 07:49:39 2015 +0200

----------------------------------------------------------------------
 apps/blank/pom.xml                              | 2 +-
 apps/jboss-blank/pom.xml                        | 2 +-
 apps/mailreader/pom.xml                         | 2 +-
 apps/pom.xml                                    | 2 +-
 apps/portlet/pom.xml                            | 2 +-
 apps/rest-showcase/pom.xml                      | 4 ++--
 apps/showcase/pom.xml                           | 2 +-
 archetypes/pom.xml                              | 2 +-
 archetypes/struts2-archetype-angularjs/pom.xml  | 2 +-
 archetypes/struts2-archetype-blank/pom.xml      | 2 +-
 archetypes/struts2-archetype-convention/pom.xml | 2 +-
 archetypes/struts2-archetype-dbportlet/pom.xml  | 2 +-
 archetypes/struts2-archetype-plugin/pom.xml     | 2 +-
 archetypes/struts2-archetype-portlet/pom.xml    | 2 +-
 archetypes/struts2-archetype-starter/pom.xml    | 2 +-
 assembly/pom.xml                                | 2 +-
 bom/pom.xml                                     | 6 +++---
 bundles/admin/pom.xml                           | 2 +-
 bundles/demo/pom.xml                            | 2 +-
 bundles/pom.xml                                 | 2 +-
 core/pom.xml                                    | 2 +-
 plugins/cdi/pom.xml                             | 2 +-
 plugins/codebehind/pom.xml                      | 2 +-
 plugins/config-browser/pom.xml                  | 2 +-
 plugins/convention/pom.xml                      | 2 +-
 plugins/dojo/pom.xml                            | 2 +-
 plugins/dwr/pom.xml                             | 2 +-
 plugins/embeddedjsp/pom.xml                     | 2 +-
 plugins/gxp/pom.xml                             | 2 +-
 plugins/jasperreports/pom.xml                   | 2 +-
 plugins/java8-support/pom.xml                   | 2 +-
 plugins/javatemplates/pom.xml                   | 2 +-
 plugins/jfreechart/pom.xml                      | 2 +-
 plugins/jsf/pom.xml                             | 2 +-
 plugins/json/pom.xml                            | 2 +-
 plugins/junit/pom.xml                           | 2 +-
 plugins/osgi/pom.xml                            | 2 +-
 plugins/oval/pom.xml                            | 2 +-
 plugins/pell-multipart/pom.xml                  | 2 +-
 plugins/plexus/pom.xml                          | 2 +-
 plugins/pom.xml                                 | 2 +-
 plugins/portlet-tiles/pom.xml                   | 2 +-
 plugins/portlet/pom.xml                         | 2 +-
 plugins/rest/pom.xml                            | 2 +-
 plugins/sitegraph/pom.xml                       | 2 +-
 plugins/sitemesh/pom.xml                        | 2 +-
 plugins/spring/pom.xml                          | 2 +-
 plugins/struts1/pom.xml                         | 2 +-
 plugins/testng/pom.xml                          | 2 +-
 plugins/tiles/pom.xml                           | 2 +-
 plugins/tiles3/pom.xml                          | 2 +-
 pom.xml                                         | 4 ++--
 xwork-core/pom.xml                              | 2 +-
 53 files changed, 57 insertions(+), 57 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/apps/blank/pom.xml
----------------------------------------------------------------------
diff --git a/apps/blank/pom.xml b/apps/blank/pom.xml
index 85ff76f..33395d2 100644
--- a/apps/blank/pom.xml
+++ b/apps/blank/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-apps</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-blank</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/apps/jboss-blank/pom.xml
----------------------------------------------------------------------
diff --git a/apps/jboss-blank/pom.xml b/apps/jboss-blank/pom.xml
index 3f29927..626c588 100644
--- a/apps/jboss-blank/pom.xml
+++ b/apps/jboss-blank/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-apps</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-jboss-blank</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/apps/mailreader/pom.xml
----------------------------------------------------------------------
diff --git a/apps/mailreader/pom.xml b/apps/mailreader/pom.xml
index 3b7e5cf..972d17c 100644
--- a/apps/mailreader/pom.xml
+++ b/apps/mailreader/pom.xml
@@ -26,7 +26,7 @@
     <parent>
       <groupId>org.apache.struts</groupId>
       <artifactId>struts2-apps</artifactId>
-      <version>2.3.24.1</version>
+      <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-mailreader</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/apps/pom.xml
----------------------------------------------------------------------
diff --git a/apps/pom.xml b/apps/pom.xml
index d691694..9149740 100644
--- a/apps/pom.xml
+++ b/apps/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-parent</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
     <artifactId>struts2-apps</artifactId>
     <packaging>pom</packaging>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/apps/portlet/pom.xml
----------------------------------------------------------------------
diff --git a/apps/portlet/pom.xml b/apps/portlet/pom.xml
index 78c7844..246e904 100644
--- a/apps/portlet/pom.xml
+++ b/apps/portlet/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-apps</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-portlet</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/apps/rest-showcase/pom.xml
----------------------------------------------------------------------
diff --git a/apps/rest-showcase/pom.xml b/apps/rest-showcase/pom.xml
index e50836f..d84b405 100644
--- a/apps/rest-showcase/pom.xml
+++ b/apps/rest-showcase/pom.xml
@@ -26,12 +26,12 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-apps</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-rest-showcase</artifactId>
     <packaging>war</packaging>
-    <version>2.3.24.1</version>
+    <version>2.3-SNAPSHOT</version>
     <name>Struts 2 Rest Showcase Webapp</name>
     <description>Struts 2 Rest Showcase Example</description>
 

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/apps/showcase/pom.xml
----------------------------------------------------------------------
diff --git a/apps/showcase/pom.xml b/apps/showcase/pom.xml
index da417be..1158488 100644
--- a/apps/showcase/pom.xml
+++ b/apps/showcase/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-apps</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-showcase</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/archetypes/pom.xml
----------------------------------------------------------------------
diff --git a/archetypes/pom.xml b/archetypes/pom.xml
index 91bdc60..3a6c435 100644
--- a/archetypes/pom.xml
+++ b/archetypes/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-parent</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-archetypes</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/archetypes/struts2-archetype-angularjs/pom.xml
----------------------------------------------------------------------
diff --git a/archetypes/struts2-archetype-angularjs/pom.xml b/archetypes/struts2-archetype-angularjs/pom.xml
index 1be0f12..d361064 100644
--- a/archetypes/struts2-archetype-angularjs/pom.xml
+++ b/archetypes/struts2-archetype-angularjs/pom.xml
@@ -2,7 +2,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-archetypes</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/archetypes/struts2-archetype-blank/pom.xml
----------------------------------------------------------------------
diff --git a/archetypes/struts2-archetype-blank/pom.xml b/archetypes/struts2-archetype-blank/pom.xml
index 77d00a2..1e76462 100644
--- a/archetypes/struts2-archetype-blank/pom.xml
+++ b/archetypes/struts2-archetype-blank/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-archetypes</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/archetypes/struts2-archetype-convention/pom.xml
----------------------------------------------------------------------
diff --git a/archetypes/struts2-archetype-convention/pom.xml b/archetypes/struts2-archetype-convention/pom.xml
index 6dc023e..cd85f24 100644
--- a/archetypes/struts2-archetype-convention/pom.xml
+++ b/archetypes/struts2-archetype-convention/pom.xml
@@ -2,7 +2,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-archetypes</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/archetypes/struts2-archetype-dbportlet/pom.xml
----------------------------------------------------------------------
diff --git a/archetypes/struts2-archetype-dbportlet/pom.xml b/archetypes/struts2-archetype-dbportlet/pom.xml
index 1a45a6f..eeb4322 100644
--- a/archetypes/struts2-archetype-dbportlet/pom.xml
+++ b/archetypes/struts2-archetype-dbportlet/pom.xml
@@ -2,7 +2,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-archetypes</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/archetypes/struts2-archetype-plugin/pom.xml
----------------------------------------------------------------------
diff --git a/archetypes/struts2-archetype-plugin/pom.xml b/archetypes/struts2-archetype-plugin/pom.xml
index 6ec6a2a..3be06a3 100644
--- a/archetypes/struts2-archetype-plugin/pom.xml
+++ b/archetypes/struts2-archetype-plugin/pom.xml
@@ -2,7 +2,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-archetypes</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/archetypes/struts2-archetype-portlet/pom.xml
----------------------------------------------------------------------
diff --git a/archetypes/struts2-archetype-portlet/pom.xml b/archetypes/struts2-archetype-portlet/pom.xml
index 9f644e1..9704cb3 100644
--- a/archetypes/struts2-archetype-portlet/pom.xml
+++ b/archetypes/struts2-archetype-portlet/pom.xml
@@ -2,7 +2,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-archetypes</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/archetypes/struts2-archetype-starter/pom.xml
----------------------------------------------------------------------
diff --git a/archetypes/struts2-archetype-starter/pom.xml b/archetypes/struts2-archetype-starter/pom.xml
index bd122cf..6b01666 100644
--- a/archetypes/struts2-archetype-starter/pom.xml
+++ b/archetypes/struts2-archetype-starter/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-archetypes</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/assembly/pom.xml
----------------------------------------------------------------------
diff --git a/assembly/pom.xml b/assembly/pom.xml
index caf2d17..831c48f 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-parent</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-assembly</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/bom/pom.xml
----------------------------------------------------------------------
diff --git a/bom/pom.xml b/bom/pom.xml
index 0b58195..9ac6160 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -10,7 +10,7 @@
     </parent>
 
     <artifactId>struts2-bom</artifactId>
-    <version>2.3.24.1</version>
+    <version>2.3-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>Struts 2 Bill of Materials</name>
@@ -25,7 +25,7 @@
     </licenses>
 
     <properties>
-        <struts-version.version>2.3.24.1</struts-version.version>
+        <struts-version.version>2.3-SNAPSHOT</struts-version.version>
     </properties>
 
     <build>
@@ -197,6 +197,6 @@
     </dependencyManagement>
 
   <scm>
-    <tag>STRUTS_2_3_24_1</tag>
+    <tag>STRUTS_2_3_24</tag>
   </scm>
 </project>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/bundles/admin/pom.xml
----------------------------------------------------------------------
diff --git a/bundles/admin/pom.xml b/bundles/admin/pom.xml
index 57f6255..5546b82 100644
--- a/bundles/admin/pom.xml
+++ b/bundles/admin/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-osgi-bundles</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-osgi-admin-bundle</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/bundles/demo/pom.xml
----------------------------------------------------------------------
diff --git a/bundles/demo/pom.xml b/bundles/demo/pom.xml
index f67cb0a..6f6f2ee 100644
--- a/bundles/demo/pom.xml
+++ b/bundles/demo/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-osgi-bundles</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-osgi-demo-bundle</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/bundles/pom.xml
----------------------------------------------------------------------
diff --git a/bundles/pom.xml b/bundles/pom.xml
index b92b4cc..5ccbb61 100755
--- a/bundles/pom.xml
+++ b/bundles/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-parent</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-osgi-bundles</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/core/pom.xml
----------------------------------------------------------------------
diff --git a/core/pom.xml b/core/pom.xml
index 6fdd00d..3239240c 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-parent</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
     <artifactId>struts2-core</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/cdi/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/cdi/pom.xml b/plugins/cdi/pom.xml
index 88cc976..5a90af8 100644
--- a/plugins/cdi/pom.xml
+++ b/plugins/cdi/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-cdi-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/codebehind/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/codebehind/pom.xml b/plugins/codebehind/pom.xml
index 665af07..68e12d1 100644
--- a/plugins/codebehind/pom.xml
+++ b/plugins/codebehind/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-codebehind-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/config-browser/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/config-browser/pom.xml b/plugins/config-browser/pom.xml
index c804d5c..fbf6a4a 100644
--- a/plugins/config-browser/pom.xml
+++ b/plugins/config-browser/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-config-browser-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/convention/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/convention/pom.xml b/plugins/convention/pom.xml
index 35c452f..50a23ae 100644
--- a/plugins/convention/pom.xml
+++ b/plugins/convention/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-convention-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/dojo/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/dojo/pom.xml b/plugins/dojo/pom.xml
index 4333e94..df50116 100644
--- a/plugins/dojo/pom.xml
+++ b/plugins/dojo/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <artifactId>struts2-plugins</artifactId>
         <groupId>org.apache.struts</groupId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/dwr/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/dwr/pom.xml b/plugins/dwr/pom.xml
index 788c554..23d8876 100644
--- a/plugins/dwr/pom.xml
+++ b/plugins/dwr/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-dwr-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/embeddedjsp/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/embeddedjsp/pom.xml b/plugins/embeddedjsp/pom.xml
index b080423..b39bc8b 100644
--- a/plugins/embeddedjsp/pom.xml
+++ b/plugins/embeddedjsp/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-embeddedjsp-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/gxp/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/gxp/pom.xml b/plugins/gxp/pom.xml
index 4747b72..f2f819b 100644
--- a/plugins/gxp/pom.xml
+++ b/plugins/gxp/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-gxp-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/jasperreports/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/jasperreports/pom.xml b/plugins/jasperreports/pom.xml
index 537a5d5..25c3a1e 100644
--- a/plugins/jasperreports/pom.xml
+++ b/plugins/jasperreports/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-jasperreports-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/java8-support/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/java8-support/pom.xml b/plugins/java8-support/pom.xml
index dfb1763..6ad1321 100644
--- a/plugins/java8-support/pom.xml
+++ b/plugins/java8-support/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-java8-support-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/javatemplates/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/javatemplates/pom.xml b/plugins/javatemplates/pom.xml
index dd1f23c..4122380 100644
--- a/plugins/javatemplates/pom.xml
+++ b/plugins/javatemplates/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-javatemplates-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/jfreechart/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/jfreechart/pom.xml b/plugins/jfreechart/pom.xml
index 96ca366..4bbe081 100644
--- a/plugins/jfreechart/pom.xml
+++ b/plugins/jfreechart/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
    </parent>
 
     <artifactId>struts2-jfreechart-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/jsf/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/jsf/pom.xml b/plugins/jsf/pom.xml
index 1c4bb9a..c260485 100644
--- a/plugins/jsf/pom.xml
+++ b/plugins/jsf/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-jsf-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/json/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/json/pom.xml b/plugins/json/pom.xml
index 4f28759..90856a5 100644
--- a/plugins/json/pom.xml
+++ b/plugins/json/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-json-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/junit/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/junit/pom.xml b/plugins/junit/pom.xml
index dc2d0bb..19dfd2e 100644
--- a/plugins/junit/pom.xml
+++ b/plugins/junit/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-junit-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/osgi/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/osgi/pom.xml b/plugins/osgi/pom.xml
index f2bde5c..815a527 100644
--- a/plugins/osgi/pom.xml
+++ b/plugins/osgi/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-osgi-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/oval/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/oval/pom.xml b/plugins/oval/pom.xml
index 1807b21..3e71692 100644
--- a/plugins/oval/pom.xml
+++ b/plugins/oval/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-oval-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/pell-multipart/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/pell-multipart/pom.xml b/plugins/pell-multipart/pom.xml
index 6194dce..5bab519 100644
--- a/plugins/pell-multipart/pom.xml
+++ b/plugins/pell-multipart/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-pell-multipart-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/plexus/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/plexus/pom.xml b/plugins/plexus/pom.xml
index 7db60bb..2aa1664 100644
--- a/plugins/plexus/pom.xml
+++ b/plugins/plexus/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-plexus-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/pom.xml b/plugins/pom.xml
index 2381d32..7f178ea 100644
--- a/plugins/pom.xml
+++ b/plugins/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-parent</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-plugins</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/portlet-tiles/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/portlet-tiles/pom.xml b/plugins/portlet-tiles/pom.xml
index e499714..5e1709a 100644
--- a/plugins/portlet-tiles/pom.xml
+++ b/plugins/portlet-tiles/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-portlet-tiles-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/portlet/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/portlet/pom.xml b/plugins/portlet/pom.xml
index 47da660..33f578d 100644
--- a/plugins/portlet/pom.xml
+++ b/plugins/portlet/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-portlet-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/rest/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/rest/pom.xml b/plugins/rest/pom.xml
index 82b123c..3b723a2 100644
--- a/plugins/rest/pom.xml
+++ b/plugins/rest/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-rest-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/sitegraph/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/sitegraph/pom.xml b/plugins/sitegraph/pom.xml
index 9b222d2..36421e6 100644
--- a/plugins/sitegraph/pom.xml
+++ b/plugins/sitegraph/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-sitegraph-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/sitemesh/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/sitemesh/pom.xml b/plugins/sitemesh/pom.xml
index b447c76..0cf177f 100644
--- a/plugins/sitemesh/pom.xml
+++ b/plugins/sitemesh/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-sitemesh-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/spring/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/spring/pom.xml b/plugins/spring/pom.xml
index 56fdd94..e362622 100644
--- a/plugins/spring/pom.xml
+++ b/plugins/spring/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-spring-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/struts1/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/struts1/pom.xml b/plugins/struts1/pom.xml
index fa551d8..c5efeb9 100644
--- a/plugins/struts1/pom.xml
+++ b/plugins/struts1/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-struts1-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/testng/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/testng/pom.xml b/plugins/testng/pom.xml
index e157607..62ce0b8 100644
--- a/plugins/testng/pom.xml
+++ b/plugins/testng/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-testng-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/tiles/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/tiles/pom.xml b/plugins/tiles/pom.xml
index 703c2b5..7e80f26 100644
--- a/plugins/tiles/pom.xml
+++ b/plugins/tiles/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-tiles-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/plugins/tiles3/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/tiles3/pom.xml b/plugins/tiles3/pom.xml
index 5de555c..c70a23c 100644
--- a/plugins/tiles3/pom.xml
+++ b/plugins/tiles3/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-tiles3-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 66f016e..a153e20 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,7 @@
 
     <modelVersion>4.0.0</modelVersion>
     <artifactId>struts2-parent</artifactId>
-    <version>2.3.24.1</version>
+    <version>2.3-SNAPSHOT</version>
     <packaging>pom</packaging>
     <name>Struts 2</name>
     <url>http://struts.apache.org/</url>
@@ -31,7 +31,7 @@
         <connection>scm:git:git://git.apache.org/struts.git</connection>
         <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/struts.git</developerConnection>
         <url>http://git.apache.org/struts.git</url>
-        <tag>STRUTS_2_3_24_1</tag>
+        <tag>STRUTS_2_3_24</tag>
     </scm>
 
     <issueManagement>

http://git-wip-us.apache.org/repos/asf/struts/blob/bfe51fcb/xwork-core/pom.xml
----------------------------------------------------------------------
diff --git a/xwork-core/pom.xml b/xwork-core/pom.xml
index 0d6adbf..dc0d654 100644
--- a/xwork-core/pom.xml
+++ b/xwork-core/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-parent</artifactId>
-        <version>2.3.24.1</version>
+        <version>2.3-SNAPSHOT</version>
     </parent>
 
     <groupId>org.apache.struts.xwork</groupId>


[6/8] struts git commit: Merges security fixes from 2.3.24.1

Posted by lu...@apache.org.
Merges security fixes from 2.3.24.1

Conflicts:
	apps/blank/pom.xml
	apps/jboss-blank/pom.xml
	apps/mailreader/pom.xml
	apps/pom.xml
	apps/portlet/pom.xml
	apps/rest-showcase/pom.xml
	apps/showcase/pom.xml
	archetypes/pom.xml
	archetypes/struts2-archetype-angularjs/pom.xml
	archetypes/struts2-archetype-blank/pom.xml
	archetypes/struts2-archetype-convention/pom.xml
	archetypes/struts2-archetype-dbportlet/pom.xml
	archetypes/struts2-archetype-plugin/pom.xml
	archetypes/struts2-archetype-portlet/pom.xml
	archetypes/struts2-archetype-starter/pom.xml
	assembly/pom.xml
	bom/pom.xml
	bundles/admin/pom.xml
	bundles/demo/pom.xml
	bundles/pom.xml
	core/pom.xml
	plugins/bean-validation/pom.xml
	plugins/cdi/pom.xml
	plugins/codebehind/pom.xml
	plugins/config-browser/pom.xml
	plugins/convention/pom.xml
	plugins/dojo/pom.xml
	plugins/dwr/pom.xml
	plugins/embeddedjsp/pom.xml
	plugins/gxp/pom.xml
	plugins/jasperreports/pom.xml
	plugins/java8-support/pom.xml
	plugins/javatemplates/pom.xml
	plugins/jfreechart/pom.xml
	plugins/json/pom.xml
	plugins/junit/pom.xml
	plugins/osgi/pom.xml
	plugins/oval/pom.xml
	plugins/pell-multipart/pom.xml
	plugins/plexus/pom.xml
	plugins/pom.xml
	plugins/portlet-tiles/pom.xml
	plugins/portlet/pom.xml
	plugins/rest/pom.xml
	plugins/sitegraph/pom.xml
	plugins/sitemesh/pom.xml
	plugins/spring/pom.xml
	plugins/struts1/pom.xml
	plugins/testng/pom.xml
	plugins/tiles/pom.xml
	plugins/tiles3/pom.xml
	pom.xml
	xwork-core/pom.xml


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/dc270c2e
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/dc270c2e
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/dc270c2e

Branch: refs/heads/master
Commit: dc270c2e09f944c9ed8936cb0a74cd2dfadacf81
Parents: 0fac539 bfe51fc
Author: Lukasz Lenart <lu...@apache.org>
Authored: Wed Sep 23 08:42:01 2015 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Wed Sep 23 08:42:01 2015 +0200

----------------------------------------------------------------------
 .../DefaultExcludedPatternsChecker.java         |  2 +-
 .../interceptor/ParametersInterceptorTest.java  |  6 ++--
 .../DefaultExcludedPatternsCheckerTest.java     | 35 ++++++++++++++++++++
 3 files changed, 40 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/dc270c2e/core/src/main/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsChecker.java
----------------------------------------------------------------------
diff --cc core/src/main/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsChecker.java
index f6d48cd,0000000..13e091e
mode 100644,000000..100644
--- a/core/src/main/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsChecker.java
+++ b/core/src/main/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsChecker.java
@@@ -1,77 -1,0 +1,77 @@@
 +package com.opensymphony.xwork2.security;
 +
 +import com.opensymphony.xwork2.XWorkConstants;
 +import com.opensymphony.xwork2.inject.Inject;
 +import com.opensymphony.xwork2.util.TextParseUtil;
 +import org.apache.logging.log4j.LogManager;
 +import org.apache.logging.log4j.Logger;
 +
 +import java.util.Arrays;
 +import java.util.HashSet;
 +import java.util.Set;
 +import java.util.regex.Pattern;
 +
 +public class DefaultExcludedPatternsChecker implements ExcludedPatternsChecker {
 +
 +    private static final Logger LOG = LogManager.getLogger(DefaultExcludedPatternsChecker.class);
 +
 +    public static final String[] EXCLUDED_PATTERNS = {
-         "(^|.*#)(dojo|struts|session|request|application|servlet(Request|Response)|parameters|context|_memberAccess)(\\.|\\[).*",
++        "(^|\\%\\{)((#?)(top(\\.|\\['|\\[\")|\\[\\d\\]\\.)?)(dojo|struts|session|request|response|application|servlet(Request|Response|Context)|parameters|context|_memberAccess)(\\.|\\[).*",
 +        "^(action|method):.*"
 +    };
 +
 +    private Set<Pattern> excludedPatterns;
 +
 +    public DefaultExcludedPatternsChecker() {
 +        setExcludedPatterns(EXCLUDED_PATTERNS);
 +    }
 +
 +    @Inject(value = XWorkConstants.OVERRIDE_EXCLUDED_PATTERNS, required = false)
 +    public void setOverrideExcludePatterns(String excludePatterns) {
 +        LOG.warn("Overriding excluded patterns [{}] with [{}], be aware that this affects all instances and safety of your application!",
 +                    XWorkConstants.OVERRIDE_EXCLUDED_PATTERNS, excludePatterns);
 +        excludedPatterns = new HashSet<Pattern>();
 +        for (String pattern : TextParseUtil.commaDelimitedStringToSet(excludePatterns)) {
 +            excludedPatterns.add(Pattern.compile(pattern, Pattern.CASE_INSENSITIVE));
 +        }
 +    }
 +
 +    @Inject(value = XWorkConstants.ADDITIONAL_EXCLUDED_PATTERNS, required = false)
 +    public void setAdditionalExcludePatterns(String excludePatterns) {
 +        LOG.debug("Adding additional global patterns [{}] to excluded patterns!", excludePatterns);
 +        for (String pattern : TextParseUtil.commaDelimitedStringToSet(excludePatterns)) {
 +            excludedPatterns.add(Pattern.compile(pattern, Pattern.CASE_INSENSITIVE));
 +        }
 +    }
 +
 +    public void setExcludedPatterns(String commaDelimitedPatterns) {
 +        setExcludedPatterns(TextParseUtil.commaDelimitedStringToSet(commaDelimitedPatterns));
 +    }
 +
 +    public void setExcludedPatterns(String[] patterns) {
 +        setExcludedPatterns(new HashSet<>(Arrays.asList(patterns)));
 +    }
 +
 +    public void setExcludedPatterns(Set<String> patterns) {
 +        LOG.trace("Sets excluded patterns [{}]", patterns);
 +        excludedPatterns = new HashSet<>(patterns.size());
 +        for (String pattern : patterns) {
 +            excludedPatterns.add(Pattern.compile(pattern, Pattern.CASE_INSENSITIVE));
 +        }
 +    }
 +
 +    public IsExcluded isExcluded(String value) {
 +        for (Pattern excludedPattern : excludedPatterns) {
 +            if (excludedPattern.matcher(value).matches()) {
 +                LOG.trace("[{}] matches excluded pattern [{}]", value, excludedPattern);
 +                return IsExcluded.yes(excludedPattern);
 +            }
 +        }
 +        return IsExcluded.no(excludedPatterns);
 +    }
 +
 +    public Set<Pattern> getExcludedPatterns() {
 +        return excludedPatterns;
 +    }
 +
 +}

http://git-wip-us.apache.org/repos/asf/struts/blob/dc270c2e/core/src/test/java/com/opensymphony/xwork2/interceptor/ParametersInterceptorTest.java
----------------------------------------------------------------------
diff --cc core/src/test/java/com/opensymphony/xwork2/interceptor/ParametersInterceptorTest.java
index abf0f72,0000000..225d053
mode 100644,000000..100644
--- a/core/src/test/java/com/opensymphony/xwork2/interceptor/ParametersInterceptorTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/interceptor/ParametersInterceptorTest.java
@@@ -1,856 -1,0 +1,858 @@@
 +/*
 + * Copyright 2002-2006,2009 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 com.opensymphony.xwork2.interceptor;
 +
 +import com.opensymphony.xwork2.*;
 +import com.opensymphony.xwork2.config.entities.ActionConfig;
 +import com.opensymphony.xwork2.config.providers.MockConfigurationProvider;
 +import com.opensymphony.xwork2.config.providers.XWorkConfigurationProvider;
 +import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
 +import com.opensymphony.xwork2.conversion.impl.XWorkConverter;
 +import com.opensymphony.xwork2.mock.MockActionInvocation;
 +import com.opensymphony.xwork2.ognl.OgnlValueStack;
 +import com.opensymphony.xwork2.ognl.OgnlValueStackFactory;
 +import com.opensymphony.xwork2.ognl.SecurityMemberAccess;
 +import com.opensymphony.xwork2.ognl.accessor.CompoundRootAccessor;
 +import com.opensymphony.xwork2.util.CompoundRoot;
 +import com.opensymphony.xwork2.util.ValueStack;
 +import com.opensymphony.xwork2.util.ValueStackFactory;
 +import junit.framework.Assert;
 +import ognl.OgnlContext;
 +import ognl.PropertyAccessor;
 +
 +import java.io.File;
 +import java.util.*;
 +
 +
 +/**
 + * Unit test for {@link ParametersInterceptor}.
 + *
 + * @author Jason Carreira
 + */
 +public class ParametersInterceptorTest extends XWorkTestCase {
 +
 +    public void testParameterNameAware() {
 +        ParametersInterceptor pi = createParametersInterceptor();
 +        final Map<String, Object> actual = injectValueStackFactory(pi);
 +        ValueStack stack = createStubValueStack(actual);
 +        final Map<String, Object> expected = new HashMap<String, Object>() {
 +            {
 +                put("fooKey", "fooValue");
 +                put("barKey", "barValue");
 +            }
 +        };
 +        Object a = new ParameterNameAware() {
 +            public boolean acceptableParameterName(String parameterName) {
 +                return expected.containsKey(parameterName);
 +            }
 +        };
 +        final Map<String, Object> parameters = new HashMap<String, Object>() {
 +            {
 +                put("fooKey", "fooValue");
 +                put("barKey", "barValue");
 +                put("error-key", "error");
 +                put("error key", "error");
 +                put("error:key", "error");
 +                put("error+key", "error");
 +                put("test%test", "test%test");
 +            }
 +        };
 +        pi.setParameters(a, stack, parameters);
 +        assertEquals(expected, actual);
 +    }
 +
 +    public void testInsecureParameters() throws Exception {
 +        // given
 +        loadConfigurationProviders(new XWorkConfigurationProvider(), new XmlConfigurationProvider("xwork-param-test.xml"));
 +        final Map<String, Object> params = new HashMap<String, Object>() {
 +            {
 +                put("name", "(#context[\"xwork.MethodAccessor.denyMethodExecution\"]= new " +
 +                        "java.lang.Boolean(false), #_memberAccess[\"allowStaticMethodAccess\"]= new java.lang.Boolean(true), " +
 +                        "@java.lang.Runtime@getRuntime().exec('mkdir /tmp/PWNAGE'))(meh)");
 +                put("top['name'](0)", "true");
 +            }
 +        };
 +
 +        ParametersInterceptor pi = new ParametersInterceptor();
 +        container.inject(pi);
 +        ValueStack vs = ActionContext.getContext().getValueStack();
 +
 +        // when
 +        ValidateAction action = new ValidateAction();
 +        pi.setParameters(action, vs, params);
 +
 +        // then
-         assertEquals(1, action.getActionMessages().size());
++        assertEquals(2, action.getActionMessages().size());
 +
 +        String msg1 = action.getActionMessage(0);
++        String msg2 = action.getActionMessage(1);
 +
-         assertTrue(msg1.contains("Error setting expression 'top['name'](0)' with value 'true'"));
++        assertEquals("Error setting expression 'name' with value '(#context[\"xwork.MethodAccessor.denyMethodExecution\"]= new java.lang.Boolean(false), #_memberAccess[\"allowStaticMethodAccess\"]= new java.lang.Boolean(true), @java.lang.Runtime@getRuntime().exec('mkdir /tmp/PWNAGE'))(meh)'", msg1);
++        assertEquals("Error setting expression 'top['name'](0)' with value 'true'", msg2);
 +        assertNull(action.getName());
 +    }
 +
 +    public void testClassPollutionBlockedByPattern() throws Exception {
 +        // given
 +        final String pollution1 = "class.classLoader.jarPath";
 +        final String pollution2 = "model.class.classLoader.jarPath";
 +
 +        loadConfigurationProviders(new XWorkConfigurationProvider(), new XmlConfigurationProvider("xwork-param-test.xml"));
 +        final Map<String, Object> params = new HashMap<String, Object>() {
 +            {
 +                put(pollution1, "bad");
 +                put(pollution2, "very bad");
 +            }
 +        };
 +
 +        final Map<String, Boolean> excluded = new HashMap<>();
 +        ParametersInterceptor pi = new ParametersInterceptor() {
 +
 +            @Override
 +            protected boolean isExcluded(String paramName) {
 +                boolean result = super.isExcluded(paramName);
 +                excluded.put(paramName, result);
 +                return result;
 +            }
 +
 +        };
 +
 +        container.inject(pi);
 +        ValueStack vs = ActionContext.getContext().getValueStack();
 +
 +        // when
 +        ValidateAction action = new ValidateAction();
 +        pi.setParameters(action, vs, params);
 +
 +        // then
 +        assertEquals(0, action.getActionMessages().size());
 +        assertTrue(excluded.get(pollution1));
 +        assertTrue(excluded.get(pollution2));
 +    }
 +
 +    public void testClassPollutionBlockedByOgnl() throws Exception {
 +        // given
 +        final String pollution1 = "class.classLoader.jarPath";
 +        final String pollution2 = "model.class.classLoader.jarPath";
 +        final String pollution3 = "class.classLoader.defaultAssertionStatus";
 +
 +        loadConfigurationProviders(new XWorkConfigurationProvider(), new XmlConfigurationProvider("xwork-class-param-test.xml"));
 +        final Map<String, Object> params = new HashMap<String, Object>() {
 +            {
 +                put(pollution1, "bad");
 +                put(pollution2, "very bad");
 +                put(pollution3, true);
 +            }
 +        };
 +
 +        final Map<String, Boolean> excluded = new HashMap<>();
 +        ParametersInterceptor pi = new ParametersInterceptor() {
 +
 +            @Override
 +            protected boolean isExcluded(String paramName) {
 +                boolean result = super.isExcluded(paramName);
 +                excluded.put(paramName, result);
 +                return result;
 +            }
 +
 +        };
 +
 +        container.inject(pi);
 +        ValueStack vs = ActionContext.getContext().getValueStack();
 +
 +        // when
 +        ValidateAction action = new ValidateAction();
 +        pi.setParameters(action, vs, params);
 +
 +        // then
 +        assertEquals(3, action.getActionMessages().size());
 +
 +        String msg1 = action.getActionMessage(0);
 +        String msg2 = action.getActionMessage(1);
 +        String msg3 = action.getActionMessage(2);
 +
 +        assertEquals("Error setting expression 'class.classLoader.defaultAssertionStatus' with value 'true'", msg1);
 +        assertEquals("Error setting expression 'class.classLoader.jarPath' with value 'bad'", msg2);
 +        assertEquals("Error setting expression 'model.class.classLoader.jarPath' with value 'very bad'", msg3);
 +
 +        assertFalse(excluded.get(pollution1));
 +        assertFalse(excluded.get(pollution2));
 +        assertFalse(excluded.get(pollution3));
 +    }
 +
 +    public void testDoesNotAllowMethodInvocations() throws Exception {
 +        Map<String, Object> params = new HashMap<>();
 +        params.put("@java.lang.System@exit(1).dummy", "dumb value");
 +
 +        HashMap<String, Object> extraContext = new HashMap<>();
 +        extraContext.put(ActionContext.PARAMETERS, params);
 +
 +        ActionProxy proxy = actionProxyFactory.createActionProxy("", MockConfigurationProvider.MODEL_DRIVEN_PARAM_TEST, null, extraContext);
 +        assertEquals(Action.SUCCESS, proxy.execute());
 +
 +        String property = System.getProperty("xwork.security.test");
 +        assertNull(property);
 +    }
 +
 +    public void testModelDrivenParameters() throws Exception {
 +        Map<String, Object> params = new HashMap<>();
 +        final String fooVal = "com.opensymphony.xwork2.interceptor.ParametersInterceptorTest.foo";
 +        params.put("foo", fooVal);
 +
 +        final String nameVal = "com.opensymphony.xwork2.interceptor.ParametersInterceptorTest.name";
 +        params.put("name", nameVal);
 +        params.put("count", "15");
 +
 +        HashMap<String, Object> extraContext = new HashMap<>();
 +        extraContext.put(ActionContext.PARAMETERS, params);
 +
 +        ActionProxy proxy = actionProxyFactory.createActionProxy("", MockConfigurationProvider.MODEL_DRIVEN_PARAM_TEST, null, extraContext);
 +        assertEquals(Action.SUCCESS, proxy.execute());
 +
 +        ModelDrivenAction action = (ModelDrivenAction) proxy.getAction();
 +        TestBean model = (TestBean) action.getModel();
 +        assertEquals(nameVal, model.getName());
 +        assertEquals(15, model.getCount());
 +        assertEquals(fooVal, action.getFoo());
 +    }
 +
 +    public void testParametersDoesNotAffectSession() throws Exception {
 +        Map<String, Object> params = new HashMap<>();
 +        params.put("blah", "This is blah");
 +        params.put("#session.foo", "Foo");
 +        params.put("\u0023session[\'user\']", "0wn3d");
 +        params.put("\\u0023session[\'user\']", "0wn3d");
 +        params.put("\u0023session.user2", "0wn3d");
 +        params.put("\\u0023session.user2", "0wn3d");
 +        params.put("('\u0023'%20%2b%20'session[\'user3\']')(unused)", "0wn3d");
 +        params.put("('\\u0023' + 'session[\\'user4\\']')(unused)", "0wn3d");
 +        params.put("('\u0023'%2b'session[\'user5\']')(unused)", "0wn3d");
 +        params.put("('\\u0023'%2b'session[\'user5\']')(unused)", "0wn3d");
 +
 +        HashMap<String, Object> extraContext = new HashMap<>();
 +        extraContext.put(ActionContext.PARAMETERS, params);
 +
 +        ActionProxy proxy = actionProxyFactory.createActionProxy("", MockConfigurationProvider.PARAM_INTERCEPTOR_ACTION_NAME, null, extraContext);
 +        ValueStack stack = proxy.getInvocation().getStack();
 +        HashMap<String, Object> session = new HashMap<>();
 +        stack.getContext().put("session", session);
 +        proxy.execute();
 +        assertEquals("This is blah", ((SimpleAction) proxy.getAction()).getBlah());
 +        assertNull(session.get("foo"));
 +        assertNull(session.get("user"));
 +        assertNull(session.get("user2"));
 +        assertNull(session.get("user3"));
 +        assertNull(session.get("user4"));
 +        assertNull(session.get("user5"));
 +    }
 +
 +    public void testArrayClassPollutionBlockedByPattern() throws Exception {
 +        // given
 +        final String pollution1 = "model.class.classLoader.jarPath";
 +        final String pollution2 = "model['class']['classLoader']['jarPath']";
 +        final String pollution3 = "model[\"class\"]['classLoader']['jarPath']";
 +        final String pollution4 = "class.classLoader.jarPath";
 +        final String pollution5 = "class['classLoader']['jarPath']";
 +        final String pollution6 = "class[\"classLoader\"]['jarPath']";
 +
 +        loadConfigurationProviders(new XWorkConfigurationProvider(), new XmlConfigurationProvider("xwork-param-test.xml"));
 +        final Map<String, Object> params = new HashMap<String, Object>() {
 +            {
 +                put(pollution1, "bad");
 +                put(pollution2, "bad");
 +                put(pollution3, "bad");
 +                put(pollution4, "bad");
 +                put(pollution5, "bad");
 +                put(pollution6, "bad");
 +            }
 +        };
 +
 +        final Map<String, Boolean> excluded = new HashMap<String, Boolean>();
 +        ParametersInterceptor pi = new ParametersInterceptor() {
 +
 +            @Override
 +            protected boolean isExcluded(String paramName) {
 +                boolean result = super.isExcluded(paramName);
 +                excluded.put(paramName, result);
 +                return result;
 +            }
 +
 +        };
 +
 +        container.inject(pi);
 +        ValueStack vs = ActionContext.getContext().getValueStack();
 +
 +        // when
 +        ValidateAction action = new ValidateAction();
 +        pi.setParameters(action, vs, params);
 +
 +        // then
 +        assertEquals(0, action.getActionMessages().size());
 +        assertTrue(excluded.get(pollution1));
 +        assertTrue(excluded.get(pollution2));
 +        assertTrue(excluded.get(pollution3));
 +        assertTrue(excluded.get(pollution4));
 +        assertTrue(excluded.get(pollution5));
 +        assertTrue(excluded.get(pollution6));
 +    }
 +
 +    public void testAccessToOgnlInternals() throws Exception {
 +        // given
 +        Map<String, Object> params = new HashMap<>();
 +        params.put("blah", "This is blah");
 +        params.put("('\\u0023_memberAccess[\\'allowStaticMethodAccess\\']')(meh)", "true");
 +        params.put("('(aaa)(('\\u0023context[\\'xwork.MethodAccessor.denyMethodExecution\\']\\u003d\\u0023foo')(\\u0023foo\\u003dnew java.lang.Boolean(\"false\")))", "");
 +        params.put("(asdf)(('\\u0023rt.exit(1)')(\\u0023rt\\u003d@java.lang.Runtime@getRuntime()))", "1");
 +
 +        HashMap<String, Object> extraContext = new HashMap<>();
 +        extraContext.put(ActionContext.PARAMETERS, params);
 +
 +        ActionProxy proxy = actionProxyFactory.createActionProxy("", MockConfigurationProvider.PARAM_INTERCEPTOR_ACTION_NAME, null, extraContext);
 +        ValueStack stack = proxy.getInvocation().getStack();
 +
 +        // when
 +        proxy.execute();
 +        proxy.getAction();
 +
 +        //then
 +        assertEquals("This is blah", ((SimpleAction) proxy.getAction()).getBlah());
 +        boolean allowMethodAccess = ((SecurityMemberAccess) ((OgnlContext) stack.getContext()).getMemberAccess()).getAllowStaticMethodAccess();
 +        assertFalse(allowMethodAccess);
 +    }
 +
 +    public void testParameters() throws Exception {
 +        Map<String, Object> params = new HashMap<>();
 +        params.put("blah", "This is blah");
 +
 +        HashMap<String, Object> extraContext = new HashMap<>();
 +        extraContext.put(ActionContext.PARAMETERS, params);
 +
 +        ActionProxy proxy = actionProxyFactory.createActionProxy("", MockConfigurationProvider.PARAM_INTERCEPTOR_ACTION_NAME, null, extraContext);
 +        proxy.execute();
 +        assertEquals("This is blah", ((SimpleAction) proxy.getAction()).getBlah());
 +    }
 +
 +    public void testParametersWithSpacesInTheName() throws Exception {
 +        Map<String, Object> params = new HashMap<>();
 +        params.put("theProtectedMap['p0 p1']", "test1");
 +        params.put("theProtectedMap['p0p1 ']", "test2");
 +        params.put("theProtectedMap[' p0p1 ']", "test3");
 +        params.put("theProtectedMap[' p0 p1 ']", "test4");
 +
 +        HashMap<String, Object> extraContext = new HashMap<>();
 +        extraContext.put(ActionContext.PARAMETERS, params);
 +
 +        ActionProxy proxy = actionProxyFactory.createActionProxy("", MockConfigurationProvider.PARAM_INTERCEPTOR_ACTION_NAME, null, extraContext);
 +        proxy.execute();
 +        Map<String, String> existingMap = ((SimpleAction) proxy.getAction()).getTheProtectedMap();
 +        assertEquals(0, existingMap.size());
 +    }
 +
 +    public void testParametersWithChineseInTheName() throws Exception {
 +        Map<String, Object> params = new HashMap<>();
 +        params.put("theProtectedMap['名字']", "test1");
 +
 +        HashMap<String, Object> extraContext = new HashMap<>();
 +        extraContext.put(ActionContext.PARAMETERS, params);
 +
 +        ActionProxy proxy = actionProxyFactory.createActionProxy("", MockConfigurationProvider.PARAM_INTERCEPTOR_ACTION_NAME, null, extraContext);
 +        proxy.execute();
 +        Map<String, String> existingMap = ((SimpleAction) proxy.getAction()).getTheProtectedMap();
 +        assertEquals(1, existingMap.size());
 +    }
 +
 +    public void testLargeParameterNameWithDefaultLimit() throws Exception {
 +        ParametersInterceptor parametersInterceptor = createParametersInterceptor();
 +        doTestParameterNameLengthRestriction(parametersInterceptor, ParametersInterceptor.PARAM_NAME_MAX_LENGTH);
 +    }
 +
 +    public void testLargeParameterNameWithCustomLimit() throws Exception {
 +        ParametersInterceptor parametersInterceptor = createParametersInterceptor();
 +        int limit = 20;
 +        parametersInterceptor.setParamNameMaxLength(limit);
 +        doTestParameterNameLengthRestriction(parametersInterceptor, limit);
 +    }
 +
 +    private void doTestParameterNameLengthRestriction(ParametersInterceptor parametersInterceptor,
 +                                                      int paramNameMaxLength) {
 +        StringBuilder sb = new StringBuilder();
 +        for (int i = 0; i < paramNameMaxLength + 1; i++) {
 +            sb.append("x");
 +        }
 +
 +        Map<String, Object> actual = new LinkedHashMap<>();
 +        parametersInterceptor.setValueStackFactory(createValueStackFactory(actual));
 +        ValueStack stack = createStubValueStack(actual);
 +
 +        Map<String, Object> parameters = new HashMap<>();
 +        parameters.put(sb.toString(), "");
 +        parameters.put("huuhaa", "");
 +
 +        Action action = new SimpleAction();
 +        parametersInterceptor.setParameters(action, stack, parameters);
 +        assertEquals(1, actual.size());
 +    }
 +
 +    public void testExcludedTrickyParameters() throws Exception {
 +        Map<String, Object> params = new HashMap<String, Object>() {
 +            {
 +                put("blah", "This is blah");
 +                put("name", "try_1");
 +                put("(name)", "try_2");
 +                put("['name']", "try_3");
 +                put("['na' + 'me']", "try_4");
 +                put("{name}[0]", "try_5");
 +                put("(new string{'name'})[0]", "try_6");
 +                put("#{key: 'name'}.key", "try_7");
 +
 +            }
 +        };
 +
 +        HashMap<String, Object> extraContext = new HashMap<>();
 +        extraContext.put(ActionContext.PARAMETERS, params);
 +
 +        ActionProxy proxy = actionProxyFactory.createActionProxy("", MockConfigurationProvider.PARAM_INTERCEPTOR_ACTION_NAME, null, extraContext);
 +
 +        ActionConfig config = configuration.getRuntimeConfiguration().getActionConfig("", MockConfigurationProvider.PARAM_INTERCEPTOR_ACTION_NAME);
 +        ParametersInterceptor pi = (ParametersInterceptor) config.getInterceptors().get(0).getInterceptor();
 +        pi.setExcludeParams("name");
 +
 +        proxy.execute();
 +
 +        SimpleAction action = (SimpleAction) proxy.getAction();
 +        assertNull(action.getName());
 +        assertEquals("This is blah", (action).getBlah());
 +    }
 +
 +    public void testAcceptedTrickyParameters() throws Exception {
 +        Map<String, Object> params = new HashMap<String, Object>() {
 +            {
 +                put("blah", "This is blah");
 +                put("baz", "123");
 +                put("name", "try_1");
 +                put("(name)", "try_2");
 +                put("['name']", "try_3");
 +                put("['na' + 'me']", "try_4");
 +                put("{name}[0]", "try_5");
 +                put("(new string{'name'})[0]", "try_6");
 +                put("#{key: 'name'}.key", "try_7");
 +            }
 +        };
 +
 +        HashMap<String, Object> extraContext = new HashMap<>();
 +        extraContext.put(ActionContext.PARAMETERS, params);
 +
 +        ActionProxy proxy = actionProxyFactory.createActionProxy("", MockConfigurationProvider.PARAM_INTERCEPTOR_ACTION_NAME, null, extraContext);
 +
 +        ActionConfig config = configuration.getRuntimeConfiguration().getActionConfig("", MockConfigurationProvider.PARAM_INTERCEPTOR_ACTION_NAME);
 +        ParametersInterceptor pi = (ParametersInterceptor) config.getInterceptors().get(0).getInterceptor();
 +        pi.setAcceptParamNames("blah, baz");
 +
 +        proxy.execute();
 +
 +        SimpleAction action = (SimpleAction) proxy.getAction();
 +        assertNull("try_1", action.getName());
 +        assertEquals("This is blah", (action).getBlah());
 +        assertEquals(123, action.getBaz());
 +    }
 +
 +
 +    public void testParametersNotAccessPrivateVariables() throws Exception {
 +        Map<String, Object> params = new HashMap<>();
 +        params.put("protectedMap.foo", "This is blah");
 +        params.put("theProtectedMap.boo", "This is blah");
 +
 +        HashMap<String, Object> extraContext = new HashMap<>();
 +        extraContext.put(ActionContext.PARAMETERS, params);
 +
 +        ActionProxy proxy = actionProxyFactory.createActionProxy("", MockConfigurationProvider.PARAM_INTERCEPTOR_ACTION_NAME, null, extraContext);
 +        proxy.execute();
 +        SimpleAction action = (SimpleAction) proxy.getAction();
 +        assertEquals(1, action.getTheProtectedMap().size());
 +        assertNotNull(action.getTheProtectedMap().get("boo"));
 +        assertNull(action.getTheProtectedMap().get("foo"));
 +    }
 +
 +    public void testParametersNotAccessProtectedMethods() throws Exception {
 +        Map<String, Object> params = new HashMap<>();
 +        params.put("theSemiProtectedMap.foo", "This is blah");
 +        params.put("theProtectedMap.boo", "This is blah");
 +
 +        HashMap<String, Object> extraContext = new HashMap<>();
 +        extraContext.put(ActionContext.PARAMETERS, params);
 +
 +        ActionProxy proxy = actionProxyFactory.createActionProxy("", MockConfigurationProvider.PARAM_INTERCEPTOR_ACTION_NAME, null, extraContext);
 +        proxy.execute();
 +        SimpleAction action = (SimpleAction) proxy.getAction();
 +        assertEquals(1, action.getTheProtectedMap().size());
 +        assertNotNull(action.getTheProtectedMap().get("boo"));
 +        assertNull(action.getTheProtectedMap().get("foo"));
 +    }
 +
 +    /**
 +     * This test demonstrates a vulnerability which allows to execute arbitrary code.
 +     * For further details and explanations see https://cwiki.apache.org/confluence/display/WW/S2-009
 +     *
 +     * @throws Exception
 +     */
 +    public void testEvalExpressionAsParameterName() throws Exception {
 +        Map<String, Object> params = new HashMap<>();
 +        params.put("blah", "(#context[\"xwork.MethodAccessor.denyMethodExecution\"]= new " +
 +                "java.lang.Boolean(false), #_memberAccess[\"allowStaticMethodAccess\"]= new java.lang.Boolean(true), " +
 +                "@java.lang.Runtime@getRuntime().exec('mkdir /tmp/PWNAGE'))(meh)");
 +        params.put("top['blah'](0)", "true");
 +
 +        HashMap<String, Object> extraContext = new HashMap<>();
 +        extraContext.put(ActionContext.PARAMETERS, params);
 +
 +        ActionProxy proxy = actionProxyFactory.createActionProxy("", MockConfigurationProvider.PARAM_INTERCEPTOR_ACTION_NAME, null, extraContext);
 +        proxy.execute();
 +        @SuppressWarnings("unused")
 +        SimpleAction action = (SimpleAction) proxy.getAction();
 +        File pwn = new File("/tmp/PWNAGE");
 +        boolean dirExists = pwn.exists();
 +        @SuppressWarnings("unused")
 +        boolean deleted = pwn.delete();
 +        Assert.assertFalse("Remote exploit: The PWN folder has been created", dirExists);
 +    }
 +
 +    public void testParametersOverwriteField() throws Exception {
 +        Map<String, Object> params = new LinkedHashMap<>();
 +        params.put("existingMap.boo", "This is blah");
 +
 +        HashMap<String, Object> extraContext = new HashMap<>();
 +        extraContext.put(ActionContext.PARAMETERS, params);
 +
 +        ActionProxy proxy = actionProxyFactory.createActionProxy("", MockConfigurationProvider.PARAM_INTERCEPTOR_ACTION_NAME, null, extraContext);
 +        proxy.execute();
 +        SimpleAction action = (SimpleAction) proxy.getAction();
 +        assertEquals(1, action.getTheExistingMap().size());
 +        assertNotNull(action.getTheExistingMap().get("boo"));
 +        assertNull(action.getTheExistingMap().get("existingKey"));
 +    }
 +
 +    public void testNonexistentParametersGetLoggedInDevMode() throws Exception {
 +        XmlConfigurationProvider provider = new XmlConfigurationProvider("xwork-test-beans.xml");
 +        container.inject(provider);
 +        loadConfigurationProviders(provider,
 +                new MockConfigurationProvider(Collections.singletonMap("devMode", "true")));
 +        Map<String, Object> params = new HashMap<>();
 +        params.put("not_a_property", "There is no action property named like this");
 +
 +        HashMap<String, Object> extraContext = new HashMap<>();
 +        extraContext.put(ActionContext.PARAMETERS, params);
 +
 +        ActionConfig config = configuration.getRuntimeConfiguration().getActionConfig("", MockConfigurationProvider.PARAM_INTERCEPTOR_ACTION_NAME);
 +        container.inject(config.getInterceptors().get(0).getInterceptor());
 +        ActionProxy proxy = actionProxyFactory.createActionProxy("", MockConfigurationProvider.PARAM_INTERCEPTOR_ACTION_NAME, null, extraContext);
 +        proxy.execute();
 +        final String actionMessage = "" + ((SimpleAction) proxy.getAction()).getActionMessages().toArray()[0];
 +        assertTrue(actionMessage.contains("Error setting expression 'not_a_property' with value 'There is no action property named like this'"));
 +    }
 +
 +    public void testNonexistentParametersAreIgnoredInProductionMode() throws Exception {
 +        XmlConfigurationProvider provider = new XmlConfigurationProvider("xwork-test-beans.xml");
 +        container.inject(provider);
 +        loadConfigurationProviders(provider,
 +                new MockConfigurationProvider(Collections.singletonMap("devMode", "false")));
 +        Map<String, Object> params = new HashMap<>();
 +        params.put("not_a_property", "There is no action property named like this");
 +
 +        HashMap<String, Object> extraContext = new HashMap<>();
 +        extraContext.put(ActionContext.PARAMETERS, params);
 +
 +        ActionConfig config = configuration.getRuntimeConfiguration().getActionConfig("", MockConfigurationProvider.PARAM_INTERCEPTOR_ACTION_NAME);
 +        container.inject(config.getInterceptors().get(0).getInterceptor());
 +        ActionProxy proxy = actionProxyFactory.createActionProxy("", MockConfigurationProvider.PARAM_INTERCEPTOR_ACTION_NAME, null, extraContext);
 +        proxy.execute();
 +        assertTrue(((SimpleAction) proxy.getAction()).getActionMessages().isEmpty());
 +    }
 +
 +    public void testNoParametersAction() throws Exception {
 +        ParametersInterceptor interceptor = new ParametersInterceptor();
 +        interceptor.init();
 +
 +        MockActionInvocation mai = new MockActionInvocation();
 +        Action action = new NoParametersAction();
 +        mai.setAction(action);
 +
 +        interceptor.doIntercept(mai);
 +        interceptor.destroy();
 +    }
 +
 +    public void testNoOrdered() throws Exception {
 +        ParametersInterceptor pi = createParametersInterceptor();
 +        final Map<String, Object> actual = new LinkedHashMap<>();
 +        pi.setValueStackFactory(createValueStackFactory(actual));
 +        ValueStack stack = createStubValueStack(actual);
 +
 +        Map<String, Object> parameters = new HashMap<>();
 +        parameters.put("user.address.city", "London");
 +        parameters.put("user.name", "Superman");
 +
 +        Action action = new SimpleAction();
 +        pi.setParameters(action, stack, parameters);
 +
 +        assertEquals("ordered should be false by default", false, pi.isOrdered());
 +        assertEquals(2, actual.size());
 +        assertEquals("London", actual.get("user.address.city"));
 +        assertEquals("Superman", actual.get("user.name"));
 +
 +        // is not ordered
 +        List<Object> values = new ArrayList<Object>(actual.values());
 +        assertEquals("London", values.get(0));
 +        assertEquals("Superman", values.get(1));
 +    }
 +
 +    public void testOrdered() throws Exception {
 +        ParametersInterceptor pi = new ParametersInterceptor();
 +        pi.setOrdered(true);
 +        container.inject(pi);
 +        final Map<String, Object> actual = new LinkedHashMap<>();
 +        pi.setValueStackFactory(createValueStackFactory(actual));
 +        ValueStack stack = createStubValueStack(actual);
 +
 +        Map<String, Object> parameters = new HashMap<>();
 +        parameters.put("user.address.city", "London");
 +        parameters.put("user.address['postal']", "QJR387");
 +        parameters.put("user.name", "Superman");
 +
 +        Action action = new SimpleAction();
 +        pi.setParameters(action, stack, parameters);
 +
 +        assertEquals(true, pi.isOrdered());
 +        assertEquals(3, actual.size());
 +        assertEquals("London", actual.get("user.address.city"));
 +        assertEquals("QJR387", actual.get("user.address['postal']"));
 +        assertEquals("Superman", actual.get("user.name"));
 +
 +        // should be ordered so user.name should be first
 +        List<Object> values = new ArrayList<Object>(actual.values());
 +        assertEquals("Superman", values.get(0));
 +        assertEquals("London", values.get(1));
 +        assertEquals("QJR387", values.get(2));
 +    }
 +
 +    public void testSetOrdered() throws Exception {
 +        ParametersInterceptor pi = createParametersInterceptor();
 +        assertEquals("ordered should be false by default", false, pi.isOrdered());
 +        pi.setOrdered(true);
 +        assertEquals(true, pi.isOrdered());
 +    }
 +
 +    public void testExcludedParametersAreIgnored() throws Exception {
 +        ParametersInterceptor pi = createParametersInterceptor();
 +        pi.setExcludeParams("dojo\\..*");
 +        final Map<String, Object> actual = injectValueStackFactory(pi);
 +        ValueStack stack = injectValueStack(actual);
 +
 +        final Map<String, Object> expected = new HashMap<String, Object>() {
 +            {
 +                put("fooKey", "fooValue");
 +            }
 +        };
 +
 +        Map<String, Object> parameters = new HashMap<String, Object>() {
 +            {
 +                put("dojo.test", "dojoValue");
 +                put("fooKey", "fooValue");
 +            }
 +        };
 +        pi.setParameters(new NoParametersAction(), stack, parameters);
 +        assertEquals(expected, actual);
 +    }
 +
 +    public void testInternalParametersAreIgnored() throws Exception {
 +        // given
 +        ParametersInterceptor interceptor = createParametersInterceptor();
 +        final Map<String, Object> actual = injectValueStackFactory(interceptor);
 +        ValueStack stack = injectValueStack(actual);
 +
 +
 +        final Map<String, Object> expected = new HashMap<String, Object>() {
 +            {
 +                put("ordinary.bean", "value");
 +            }
 +        };
 +
 +        Map<String, Object> parameters = new HashMap<String, Object>() {
 +            {
 +                put("ordinary.bean", "value");
 +                put("#some.internal.object", "true");
 +                put("(bla)#some.internal.object", "true");
 +                put("#some.internal.object(bla)#some.internal.object", "true");
 +                put("#_some.internal.object", "true");
 +                put("\u0023_some.internal.object", "true");
 +                put("\u0023_some.internal.object,[dfd],bla(\u0023_some.internal.object)", "true");
 +                put("\\u0023_some.internal.object", "true");
 +            }
 +        };
 +
 +        // when
 +        interceptor.setParameters(new NoParametersAction(), stack, parameters);
 +
 +        // then
 +        assertEquals(expected, actual);
 +    }
 +
 +    private ValueStack injectValueStack(Map<String, Object> actual) {
 +        ValueStack stack = createStubValueStack(actual);
 +        container.inject(stack);
 +        return stack;
 +    }
 +
 +    private Map<String, Object> injectValueStackFactory(ParametersInterceptor interceptor) {
 +        final Map<String, Object> actual = new HashMap<>();
 +        interceptor.setValueStackFactory(createValueStackFactory(actual));
 +        return actual;
 +    }
 +
 +    private ParametersInterceptor createParametersInterceptor() {
 +        ParametersInterceptor pi = new ParametersInterceptor();
 +        container.inject(pi);
 +        return pi;
 +    }
 +
 +    private ValueStackFactory createValueStackFactory(final Map<String, Object> context) {
 +        OgnlValueStackFactory factory = new OgnlValueStackFactory() {
 +            @Override
 +            public ValueStack createValueStack(ValueStack stack) {
 +                return createStubValueStack(context);
 +            }
 +        };
 +        container.inject(factory);
 +        return factory;
 +    }
 +
 +    private ValueStack createStubValueStack(final Map<String, Object> actual) {
 +        ValueStack stack = new OgnlValueStack(
 +                container.getInstance(XWorkConverter.class),
 +                (CompoundRootAccessor) container.getInstance(PropertyAccessor.class, CompoundRoot.class.getName()),
 +                container.getInstance(TextProvider.class, "system"), true) {
 +            @Override
 +            public void setValue(String expr, Object value) {
 +                actual.put(expr, value);
 +            }
 +
 +            @Override
 +            public void setParameter(String expr, Object value) {
 +                actual.put(expr, value);
 +            }
 +        };
 +        container.inject(stack);
 +        return stack;
 +    }
 +
 +    /*
 +    public void testIndexedParameters() throws Exception {
 +        Map params = new HashMap();
 +        params.put("indexedProp[33]", "This is blah");
 +
 +        HashMap extraContext = new HashMap();
 +        extraContext.put(ActionContext.PARAMETERS, params);
 +
 +        ActionProxy proxy = actionProxyFactory.createActionProxy("", MockConfigurationProvider.PARAM_INTERCEPTOR_ACTION_NAME, extraContext);
 +        proxy.execute();
 +        assertEquals("This is blah", ((SimpleAction) proxy.getAction()).getIndexedProp(33));
 +    }
 +    */
 +
 +
 +    private class NoParametersAction implements Action, NoParameters {
 +
 +        public String execute() throws Exception {
 +            return SUCCESS;
 +        }
 +    }
 +
 +    @Override
 +    protected void setUp() throws Exception {
 +        super.setUp();
 +        XmlConfigurationProvider provider = new XmlConfigurationProvider("xwork-test-beans.xml");
 +        container.inject(provider);
 +        loadConfigurationProviders(provider, new MockConfigurationProvider());
 +
 +        ActionConfig config = configuration.getRuntimeConfiguration().getActionConfig("", MockConfigurationProvider.PARAM_INTERCEPTOR_ACTION_NAME);
 +        container.inject(config.getInterceptors().get(0).getInterceptor());
 +    }
 +
 +}
 +
 +class ValidateAction implements ValidationAware {
 +
 +    private List<String> messages = new LinkedList<>();
 +    private String name;
 +
 +    public void setActionErrors(Collection<String> errorMessages) {
 +    }
 +
 +    public Collection<String> getActionErrors() {
 +        return null;
 +    }
 +
 +    public void setActionMessages(Collection<String> messages) {
 +    }
 +
 +    public Collection<String> getActionMessages() {
 +        return messages;
 +    }
 +
 +    public void setFieldErrors(Map<String, List<String>> errorMap) {
 +    }
 +
 +    public Map<String, List<String>> getFieldErrors() {
 +        return null;
 +    }
 +
 +    public void addActionError(String anErrorMessage) {
 +    }
 +
 +    public void addActionMessage(String aMessage) {
 +        messages.add(aMessage);
 +    }
 +
 +    public void addFieldError(String fieldName, String errorMessage) {
 +    }
 +
 +    public boolean hasActionErrors() {
 +        return false;
 +    }
 +
 +    public boolean hasActionMessages() {
 +        return messages.size() > 0;
 +    }
 +
 +    public boolean hasErrors() {
 +        return false;
 +    }
 +
 +    public boolean hasFieldErrors() {
 +        return false;
 +    }
 +
 +    public String getActionMessage(int index) {
 +        return messages.get(index);
 +    }
 +
 +    public String getName() {
 +        return name;
 +    }
 +
 +    public void setName(String name) {
 +        this.name = name;
 +    }
 +
 +}

http://git-wip-us.apache.org/repos/asf/struts/blob/dc270c2e/core/src/test/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsCheckerTest.java
----------------------------------------------------------------------
diff --cc core/src/test/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsCheckerTest.java
index 367e199,0000000..faf807e
mode 100644,000000..100644
--- a/core/src/test/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsCheckerTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/security/DefaultExcludedPatternsCheckerTest.java
@@@ -1,106 -1,0 +1,141 @@@
 +package com.opensymphony.xwork2.security;
 +
 +import com.opensymphony.xwork2.XWorkTestCase;
 +
 +import java.util.ArrayList;
++import java.util.Arrays;
 +import java.util.List;
 +
 +public class DefaultExcludedPatternsCheckerTest extends XWorkTestCase {
 +
 +    public void testHardcodedPatterns() throws Exception {
 +        // given
 +        List<String> params = new ArrayList<String>() {
 +            {
 +                add("%{#application['test']}");
 +                add("%{#application.test}");
 +                add("%{#Application['test']}");
 +                add("%{#Application.test}");
 +                add("%{#session['test']}");
 +                add("%{#session.test}");
 +                add("%{#Session['test']}");
 +                add("%{#Session.test}");
 +                add("%{#struts['test']}");
 +                add("%{#struts.test}");
 +                add("%{#Struts['test']}");
 +                add("%{#Struts.test}");
 +                add("%{#request['test']}");
 +                add("%{#request.test}");
 +                add("%{#Request['test']}");
 +                add("%{#Request.test}");
 +                add("%{#servletRequest['test']}");
 +                add("%{#servletRequest.test}");
 +                add("%{#ServletRequest['test']}");
 +                add("%{#ServletRequest.test}");
 +                add("%{#servletResponse['test']}");
 +                add("%{#servletResponse.test}");
 +                add("%{#ServletResponse['test']}");
 +                add("%{#ServletResponse.test}");
++                add("%{#servletContext['test']}");
++                add("%{#servletContext.test}");
++                add("%{#ServletContext['test']}");
++                add("%{#ServletContext.test}");
 +                add("%{#parameters['test']}");
 +                add("%{#parameters.test}");
 +                add("%{#Parameters['test']}");
 +                add("%{#Parameters.test}");
 +                add("#context.get('com.opensymphony.xwork2.dispatcher.HttpServletResponse')");
 +                add("%{#context.get('com.opensymphony.xwork2.dispatcher.HttpServletResponse')}");
 +                add("#_memberAccess[\"allowStaticMethodAccess\"]= new java.lang.Boolean(true)");
 +                add("%{#_memberAccess[\"allowStaticMethodAccess\"]= new java.lang.Boolean(true)}");
 +                add("form.class.classLoader");
 +                add("form[\"class\"][\"classLoader\"]");
 +                add("form['class']['classLoader']");
 +                add("class['classLoader']");
 +                add("class[\"classLoader\"]");
 +                add("class.classLoader.resources.dirContext.docBase=tttt");
 +                add("Class.classLoader.resources.dirContext.docBase=tttt");
 +            }
 +        };
 +
 +        DefaultExcludedPatternsChecker checker = new DefaultExcludedPatternsChecker();
 +        checker.setAdditionalExcludePatterns(".*(^|\\.|\\[|'|\")class(\\.|\\[|'|\").*");
 +
 +        for (String param : params) {
 +            // when
 +            ExcludedPatternsChecker.IsExcluded actual = checker.isExcluded(param);
 +
 +            // then
 +            assertTrue("Access to " + param + " is possible!", actual.isExcluded());
 +        }
 +    }
 +
++    public void testDefaultExcludePatterns() throws Exception {
++        // given
++        List<String> prefixes = Arrays.asList("#[0].%s", "[0].%s", "top.%s", "%{[0].%s}", "%{#[0].%s}", "%{top.%s}", "%{#top.%s}", "%{#%s}", "%{%s}", "#%s");
++        List<String> inners = Arrays.asList("servletRequest", "servletResponse", "servletContext", "application", "session", "struts", "request", "response", "dojo", "parameters");
++        List<String> suffixes = Arrays.asList("['test']", "[\"test\"]", ".test");
++
++        DefaultExcludedPatternsChecker checker = new DefaultExcludedPatternsChecker();
++        checker.setAdditionalExcludePatterns(".*(^|\\.|\\[|'|\")class(\\.|\\[|'|\").*");
++
++        List<String> params = new ArrayList<String>();
++        for (String prefix : prefixes) {
++            for (String inner : inners) {
++                String innerUp = inner.substring(0, 1).toUpperCase() + inner.substring(1);
++                for (String suffix : suffixes) {
++                    params.add(prefix.replace("%s", inner + suffix));
++                    params.add(prefix.replace("%s", innerUp + suffix));
++                }
++            }
++        }
++
++        for (String param : params) {
++            System.out.println(param);
++            // when
++            ExcludedPatternsChecker.IsExcluded actual = checker.isExcluded(param);
++
++            // then
++            assertTrue("Access to " + param + " is possible!", actual.isExcluded());
++        }
++    }
++
 +    public void testParamWithClassInName() throws Exception {
 +        // given
 +        List<String> properParams = new ArrayList<>();
 +        properParams.add("eventClass");
 +        properParams.add("form.eventClass");
 +        properParams.add("form[\"eventClass\"]");
 +        properParams.add("form['eventClass']");
 +        properParams.add("class.super@demo.com");
 +        properParams.add("super.class@demo.com");
 +
 +        ExcludedPatternsChecker checker = new DefaultExcludedPatternsChecker();
 +
 +        for (String properParam : properParams) {
 +            // when
 +            ExcludedPatternsChecker.IsExcluded actual = checker.isExcluded(properParam);
 +
 +            // then
 +            assertFalse("Param '" + properParam + "' is excluded!", actual.isExcluded());
 +        }
 +    }
 +
 +    public void testStrutsTokenIsExcluded() throws Exception {
 +        // given
 +        List<String> tokens = new ArrayList<>();
 +        tokens.add("struts.token.name");
 +        tokens.add("struts.token");
 +
 +        ExcludedPatternsChecker checker = new DefaultExcludedPatternsChecker();
 +
 +        for (String token : tokens) {
 +            // when
 +            ExcludedPatternsChecker.IsExcluded actual = checker.isExcluded(token);
 +
 +            // then
 +            assertTrue("Param '" + token + "' is not excluded!", actual.isExcluded());
 +        }
 +    }
 +
 +}


[3/8] struts git commit: Updates bom

Posted by lu...@apache.org.
Updates bom


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/27f451d9
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/27f451d9
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/27f451d9

Branch: refs/heads/master
Commit: 27f451d99a110907968c438fd0237b06088fb9dd
Parents: 0cefe50
Author: Lukasz Lenart <lu...@apache.org>
Authored: Tue Sep 22 07:41:42 2015 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Tue Sep 22 07:41:42 2015 +0200

----------------------------------------------------------------------
 bom/pom.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/27f451d9/bom/pom.xml
----------------------------------------------------------------------
diff --git a/bom/pom.xml b/bom/pom.xml
index cee1958..21863bb 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -10,7 +10,7 @@
     </parent>
 
     <artifactId>struts2-bom</artifactId>
-    <version>2.3.24</version>
+    <version>2.3.24.1-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <name>Struts 2 Bill of Materials</name>
@@ -25,7 +25,7 @@
     </licenses>
 
     <properties>
-        <struts-version.version>2.3.24</struts-version.version>
+        <struts-version.version>2.3.24.1</struts-version.version>
     </properties>
 
     <build>


[4/8] struts git commit: [maven-release-plugin] prepare release STRUTS_2_3_24_1

Posted by lu...@apache.org.
[maven-release-plugin] prepare release STRUTS_2_3_24_1


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/7a986316
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/7a986316
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/7a986316

Branch: refs/heads/master
Commit: 7a9863169f7d981be0d2d57437974ae2cc0c8bd3
Parents: 27f451d
Author: Lukasz Lenart <lu...@apache.org>
Authored: Tue Sep 22 07:49:22 2015 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Tue Sep 22 07:49:22 2015 +0200

----------------------------------------------------------------------
 apps/blank/pom.xml                              | 2 +-
 apps/jboss-blank/pom.xml                        | 2 +-
 apps/mailreader/pom.xml                         | 2 +-
 apps/pom.xml                                    | 2 +-
 apps/portlet/pom.xml                            | 2 +-
 apps/rest-showcase/pom.xml                      | 4 ++--
 apps/showcase/pom.xml                           | 2 +-
 archetypes/pom.xml                              | 2 +-
 archetypes/struts2-archetype-angularjs/pom.xml  | 2 +-
 archetypes/struts2-archetype-blank/pom.xml      | 2 +-
 archetypes/struts2-archetype-convention/pom.xml | 2 +-
 archetypes/struts2-archetype-dbportlet/pom.xml  | 2 +-
 archetypes/struts2-archetype-plugin/pom.xml     | 2 +-
 archetypes/struts2-archetype-portlet/pom.xml    | 2 +-
 archetypes/struts2-archetype-starter/pom.xml    | 2 +-
 assembly/pom.xml                                | 2 +-
 bom/pom.xml                                     | 4 ++--
 bundles/admin/pom.xml                           | 2 +-
 bundles/demo/pom.xml                            | 2 +-
 bundles/pom.xml                                 | 2 +-
 core/pom.xml                                    | 2 +-
 plugins/cdi/pom.xml                             | 2 +-
 plugins/codebehind/pom.xml                      | 2 +-
 plugins/config-browser/pom.xml                  | 2 +-
 plugins/convention/pom.xml                      | 2 +-
 plugins/dojo/pom.xml                            | 2 +-
 plugins/dwr/pom.xml                             | 2 +-
 plugins/embeddedjsp/pom.xml                     | 2 +-
 plugins/gxp/pom.xml                             | 2 +-
 plugins/jasperreports/pom.xml                   | 2 +-
 plugins/java8-support/pom.xml                   | 2 +-
 plugins/javatemplates/pom.xml                   | 2 +-
 plugins/jfreechart/pom.xml                      | 2 +-
 plugins/jsf/pom.xml                             | 2 +-
 plugins/json/pom.xml                            | 2 +-
 plugins/junit/pom.xml                           | 2 +-
 plugins/osgi/pom.xml                            | 2 +-
 plugins/oval/pom.xml                            | 2 +-
 plugins/pell-multipart/pom.xml                  | 2 +-
 plugins/plexus/pom.xml                          | 2 +-
 plugins/pom.xml                                 | 2 +-
 plugins/portlet-tiles/pom.xml                   | 2 +-
 plugins/portlet/pom.xml                         | 2 +-
 plugins/rest/pom.xml                            | 2 +-
 plugins/sitegraph/pom.xml                       | 2 +-
 plugins/sitemesh/pom.xml                        | 2 +-
 plugins/spring/pom.xml                          | 2 +-
 plugins/struts1/pom.xml                         | 2 +-
 plugins/testng/pom.xml                          | 2 +-
 plugins/tiles/pom.xml                           | 2 +-
 plugins/tiles3/pom.xml                          | 2 +-
 pom.xml                                         | 4 ++--
 xwork-core/pom.xml                              | 2 +-
 53 files changed, 56 insertions(+), 56 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/apps/blank/pom.xml
----------------------------------------------------------------------
diff --git a/apps/blank/pom.xml b/apps/blank/pom.xml
index 369de8d..85ff76f 100644
--- a/apps/blank/pom.xml
+++ b/apps/blank/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-apps</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-blank</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/apps/jboss-blank/pom.xml
----------------------------------------------------------------------
diff --git a/apps/jboss-blank/pom.xml b/apps/jboss-blank/pom.xml
index a12e542..3f29927 100644
--- a/apps/jboss-blank/pom.xml
+++ b/apps/jboss-blank/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-apps</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-jboss-blank</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/apps/mailreader/pom.xml
----------------------------------------------------------------------
diff --git a/apps/mailreader/pom.xml b/apps/mailreader/pom.xml
index 92a74aa..3b7e5cf 100644
--- a/apps/mailreader/pom.xml
+++ b/apps/mailreader/pom.xml
@@ -26,7 +26,7 @@
     <parent>
       <groupId>org.apache.struts</groupId>
       <artifactId>struts2-apps</artifactId>
-      <version>2.3.24.1-SNAPSHOT</version>
+      <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-mailreader</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/apps/pom.xml
----------------------------------------------------------------------
diff --git a/apps/pom.xml b/apps/pom.xml
index 41a0c5a..d691694 100644
--- a/apps/pom.xml
+++ b/apps/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-parent</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
     <artifactId>struts2-apps</artifactId>
     <packaging>pom</packaging>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/apps/portlet/pom.xml
----------------------------------------------------------------------
diff --git a/apps/portlet/pom.xml b/apps/portlet/pom.xml
index fecc4d1..78c7844 100644
--- a/apps/portlet/pom.xml
+++ b/apps/portlet/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-apps</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-portlet</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/apps/rest-showcase/pom.xml
----------------------------------------------------------------------
diff --git a/apps/rest-showcase/pom.xml b/apps/rest-showcase/pom.xml
index 8ce12a3..e50836f 100644
--- a/apps/rest-showcase/pom.xml
+++ b/apps/rest-showcase/pom.xml
@@ -26,12 +26,12 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-apps</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-rest-showcase</artifactId>
     <packaging>war</packaging>
-    <version>2.3.24.1-SNAPSHOT</version>
+    <version>2.3.24.1</version>
     <name>Struts 2 Rest Showcase Webapp</name>
     <description>Struts 2 Rest Showcase Example</description>
 

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/apps/showcase/pom.xml
----------------------------------------------------------------------
diff --git a/apps/showcase/pom.xml b/apps/showcase/pom.xml
index 9406f74..da417be 100644
--- a/apps/showcase/pom.xml
+++ b/apps/showcase/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-apps</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-showcase</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/archetypes/pom.xml
----------------------------------------------------------------------
diff --git a/archetypes/pom.xml b/archetypes/pom.xml
index bbbf87c..91bdc60 100644
--- a/archetypes/pom.xml
+++ b/archetypes/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-parent</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-archetypes</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/archetypes/struts2-archetype-angularjs/pom.xml
----------------------------------------------------------------------
diff --git a/archetypes/struts2-archetype-angularjs/pom.xml b/archetypes/struts2-archetype-angularjs/pom.xml
index dd33d00..1be0f12 100644
--- a/archetypes/struts2-archetype-angularjs/pom.xml
+++ b/archetypes/struts2-archetype-angularjs/pom.xml
@@ -2,7 +2,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-archetypes</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/archetypes/struts2-archetype-blank/pom.xml
----------------------------------------------------------------------
diff --git a/archetypes/struts2-archetype-blank/pom.xml b/archetypes/struts2-archetype-blank/pom.xml
index 990d3ca..77d00a2 100644
--- a/archetypes/struts2-archetype-blank/pom.xml
+++ b/archetypes/struts2-archetype-blank/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-archetypes</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/archetypes/struts2-archetype-convention/pom.xml
----------------------------------------------------------------------
diff --git a/archetypes/struts2-archetype-convention/pom.xml b/archetypes/struts2-archetype-convention/pom.xml
index c218d7b..6dc023e 100644
--- a/archetypes/struts2-archetype-convention/pom.xml
+++ b/archetypes/struts2-archetype-convention/pom.xml
@@ -2,7 +2,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-archetypes</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/archetypes/struts2-archetype-dbportlet/pom.xml
----------------------------------------------------------------------
diff --git a/archetypes/struts2-archetype-dbportlet/pom.xml b/archetypes/struts2-archetype-dbportlet/pom.xml
index aa975ee..1a45a6f 100644
--- a/archetypes/struts2-archetype-dbportlet/pom.xml
+++ b/archetypes/struts2-archetype-dbportlet/pom.xml
@@ -2,7 +2,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-archetypes</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/archetypes/struts2-archetype-plugin/pom.xml
----------------------------------------------------------------------
diff --git a/archetypes/struts2-archetype-plugin/pom.xml b/archetypes/struts2-archetype-plugin/pom.xml
index 09e4894..6ec6a2a 100644
--- a/archetypes/struts2-archetype-plugin/pom.xml
+++ b/archetypes/struts2-archetype-plugin/pom.xml
@@ -2,7 +2,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-archetypes</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/archetypes/struts2-archetype-portlet/pom.xml
----------------------------------------------------------------------
diff --git a/archetypes/struts2-archetype-portlet/pom.xml b/archetypes/struts2-archetype-portlet/pom.xml
index 74bf5c1..9f644e1 100644
--- a/archetypes/struts2-archetype-portlet/pom.xml
+++ b/archetypes/struts2-archetype-portlet/pom.xml
@@ -2,7 +2,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-archetypes</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/archetypes/struts2-archetype-starter/pom.xml
----------------------------------------------------------------------
diff --git a/archetypes/struts2-archetype-starter/pom.xml b/archetypes/struts2-archetype-starter/pom.xml
index 9a88ae6..bd122cf 100644
--- a/archetypes/struts2-archetype-starter/pom.xml
+++ b/archetypes/struts2-archetype-starter/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-archetypes</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/assembly/pom.xml
----------------------------------------------------------------------
diff --git a/assembly/pom.xml b/assembly/pom.xml
index 735e093..caf2d17 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-parent</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-assembly</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/bom/pom.xml
----------------------------------------------------------------------
diff --git a/bom/pom.xml b/bom/pom.xml
index 21863bb..0b58195 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -10,7 +10,7 @@
     </parent>
 
     <artifactId>struts2-bom</artifactId>
-    <version>2.3.24.1-SNAPSHOT</version>
+    <version>2.3.24.1</version>
     <packaging>pom</packaging>
 
     <name>Struts 2 Bill of Materials</name>
@@ -197,6 +197,6 @@
     </dependencyManagement>
 
   <scm>
-    <tag>STRUTS_2_3_24</tag>
+    <tag>STRUTS_2_3_24_1</tag>
   </scm>
 </project>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/bundles/admin/pom.xml
----------------------------------------------------------------------
diff --git a/bundles/admin/pom.xml b/bundles/admin/pom.xml
index ac5ef3b..57f6255 100644
--- a/bundles/admin/pom.xml
+++ b/bundles/admin/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-osgi-bundles</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-osgi-admin-bundle</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/bundles/demo/pom.xml
----------------------------------------------------------------------
diff --git a/bundles/demo/pom.xml b/bundles/demo/pom.xml
index 9ed5f20..f67cb0a 100644
--- a/bundles/demo/pom.xml
+++ b/bundles/demo/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-osgi-bundles</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-osgi-demo-bundle</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/bundles/pom.xml
----------------------------------------------------------------------
diff --git a/bundles/pom.xml b/bundles/pom.xml
index 5c2b197..b92b4cc 100755
--- a/bundles/pom.xml
+++ b/bundles/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-parent</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-osgi-bundles</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/core/pom.xml
----------------------------------------------------------------------
diff --git a/core/pom.xml b/core/pom.xml
index 3a0d48f..6fdd00d 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-parent</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
     <artifactId>struts2-core</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/cdi/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/cdi/pom.xml b/plugins/cdi/pom.xml
index 06c87ac..88cc976 100644
--- a/plugins/cdi/pom.xml
+++ b/plugins/cdi/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-cdi-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/codebehind/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/codebehind/pom.xml b/plugins/codebehind/pom.xml
index a502382..665af07 100644
--- a/plugins/codebehind/pom.xml
+++ b/plugins/codebehind/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-codebehind-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/config-browser/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/config-browser/pom.xml b/plugins/config-browser/pom.xml
index 7f3479c..c804d5c 100644
--- a/plugins/config-browser/pom.xml
+++ b/plugins/config-browser/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-config-browser-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/convention/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/convention/pom.xml b/plugins/convention/pom.xml
index c95d75e..35c452f 100644
--- a/plugins/convention/pom.xml
+++ b/plugins/convention/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-convention-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/dojo/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/dojo/pom.xml b/plugins/dojo/pom.xml
index fc12680..4333e94 100644
--- a/plugins/dojo/pom.xml
+++ b/plugins/dojo/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <artifactId>struts2-plugins</artifactId>
         <groupId>org.apache.struts</groupId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/dwr/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/dwr/pom.xml b/plugins/dwr/pom.xml
index 4287480..788c554 100644
--- a/plugins/dwr/pom.xml
+++ b/plugins/dwr/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-dwr-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/embeddedjsp/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/embeddedjsp/pom.xml b/plugins/embeddedjsp/pom.xml
index ce1bd46..b080423 100644
--- a/plugins/embeddedjsp/pom.xml
+++ b/plugins/embeddedjsp/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-embeddedjsp-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/gxp/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/gxp/pom.xml b/plugins/gxp/pom.xml
index 4a6f531..4747b72 100644
--- a/plugins/gxp/pom.xml
+++ b/plugins/gxp/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-gxp-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/jasperreports/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/jasperreports/pom.xml b/plugins/jasperreports/pom.xml
index 027401f..537a5d5 100644
--- a/plugins/jasperreports/pom.xml
+++ b/plugins/jasperreports/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-jasperreports-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/java8-support/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/java8-support/pom.xml b/plugins/java8-support/pom.xml
index 2e6e6bb..dfb1763 100644
--- a/plugins/java8-support/pom.xml
+++ b/plugins/java8-support/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-java8-support-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/javatemplates/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/javatemplates/pom.xml b/plugins/javatemplates/pom.xml
index ce4d39e..dd1f23c 100644
--- a/plugins/javatemplates/pom.xml
+++ b/plugins/javatemplates/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-javatemplates-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/jfreechart/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/jfreechart/pom.xml b/plugins/jfreechart/pom.xml
index 74f1093..96ca366 100644
--- a/plugins/jfreechart/pom.xml
+++ b/plugins/jfreechart/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
    </parent>
 
     <artifactId>struts2-jfreechart-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/jsf/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/jsf/pom.xml b/plugins/jsf/pom.xml
index be5b07d..1c4bb9a 100644
--- a/plugins/jsf/pom.xml
+++ b/plugins/jsf/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-jsf-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/json/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/json/pom.xml b/plugins/json/pom.xml
index 7477688..4f28759 100644
--- a/plugins/json/pom.xml
+++ b/plugins/json/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-json-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/junit/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/junit/pom.xml b/plugins/junit/pom.xml
index 9eb5560..dc2d0bb 100644
--- a/plugins/junit/pom.xml
+++ b/plugins/junit/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-junit-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/osgi/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/osgi/pom.xml b/plugins/osgi/pom.xml
index f1cf960..f2bde5c 100644
--- a/plugins/osgi/pom.xml
+++ b/plugins/osgi/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-osgi-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/oval/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/oval/pom.xml b/plugins/oval/pom.xml
index c963766..1807b21 100644
--- a/plugins/oval/pom.xml
+++ b/plugins/oval/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-oval-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/pell-multipart/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/pell-multipart/pom.xml b/plugins/pell-multipart/pom.xml
index 837ba46..6194dce 100644
--- a/plugins/pell-multipart/pom.xml
+++ b/plugins/pell-multipart/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-pell-multipart-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/plexus/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/plexus/pom.xml b/plugins/plexus/pom.xml
index ddda6dd..7db60bb 100644
--- a/plugins/plexus/pom.xml
+++ b/plugins/plexus/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-plexus-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/pom.xml b/plugins/pom.xml
index 6366e1e..2381d32 100644
--- a/plugins/pom.xml
+++ b/plugins/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-parent</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-plugins</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/portlet-tiles/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/portlet-tiles/pom.xml b/plugins/portlet-tiles/pom.xml
index 7428d89..e499714 100644
--- a/plugins/portlet-tiles/pom.xml
+++ b/plugins/portlet-tiles/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-portlet-tiles-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/portlet/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/portlet/pom.xml b/plugins/portlet/pom.xml
index e751188..47da660 100644
--- a/plugins/portlet/pom.xml
+++ b/plugins/portlet/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-portlet-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/rest/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/rest/pom.xml b/plugins/rest/pom.xml
index d96f184..82b123c 100644
--- a/plugins/rest/pom.xml
+++ b/plugins/rest/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-rest-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/sitegraph/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/sitegraph/pom.xml b/plugins/sitegraph/pom.xml
index f874d85..9b222d2 100644
--- a/plugins/sitegraph/pom.xml
+++ b/plugins/sitegraph/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-sitegraph-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/sitemesh/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/sitemesh/pom.xml b/plugins/sitemesh/pom.xml
index b8373e9..b447c76 100644
--- a/plugins/sitemesh/pom.xml
+++ b/plugins/sitemesh/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-sitemesh-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/spring/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/spring/pom.xml b/plugins/spring/pom.xml
index 95b9070..56fdd94 100644
--- a/plugins/spring/pom.xml
+++ b/plugins/spring/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-spring-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/struts1/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/struts1/pom.xml b/plugins/struts1/pom.xml
index c91c4cc..fa551d8 100644
--- a/plugins/struts1/pom.xml
+++ b/plugins/struts1/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-struts1-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/testng/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/testng/pom.xml b/plugins/testng/pom.xml
index ea4e75e..e157607 100644
--- a/plugins/testng/pom.xml
+++ b/plugins/testng/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-testng-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/tiles/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/tiles/pom.xml b/plugins/tiles/pom.xml
index d0a9344..703c2b5 100644
--- a/plugins/tiles/pom.xml
+++ b/plugins/tiles/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-tiles-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/plugins/tiles3/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/tiles3/pom.xml b/plugins/tiles3/pom.xml
index 99c033c..5de555c 100644
--- a/plugins/tiles3/pom.xml
+++ b/plugins/tiles3/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <artifactId>struts2-tiles3-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index fbc5763..66f016e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,7 @@
 
     <modelVersion>4.0.0</modelVersion>
     <artifactId>struts2-parent</artifactId>
-    <version>2.3.24.1-SNAPSHOT</version>
+    <version>2.3.24.1</version>
     <packaging>pom</packaging>
     <name>Struts 2</name>
     <url>http://struts.apache.org/</url>
@@ -31,7 +31,7 @@
         <connection>scm:git:git://git.apache.org/struts.git</connection>
         <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/struts.git</developerConnection>
         <url>http://git.apache.org/struts.git</url>
-        <tag>STRUTS_2_3_24</tag>
+        <tag>STRUTS_2_3_24_1</tag>
     </scm>
 
     <issueManagement>

http://git-wip-us.apache.org/repos/asf/struts/blob/7a986316/xwork-core/pom.xml
----------------------------------------------------------------------
diff --git a/xwork-core/pom.xml b/xwork-core/pom.xml
index eaa6cc7..0d6adbf 100644
--- a/xwork-core/pom.xml
+++ b/xwork-core/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-parent</artifactId>
-        <version>2.3.24.1-SNAPSHOT</version>
+        <version>2.3.24.1</version>
     </parent>
 
     <groupId>org.apache.struts.xwork</groupId>


[2/8] struts git commit: Sets SNAPSHOT version

Posted by lu...@apache.org.
Sets SNAPSHOT version


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/0cefe507
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/0cefe507
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/0cefe507

Branch: refs/heads/master
Commit: 0cefe507fb757cc2f53ae87c54fbbec271a265c4
Parents: f420f28
Author: Lukasz Lenart <lu...@apache.org>
Authored: Tue Sep 22 07:39:39 2015 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Tue Sep 22 07:39:39 2015 +0200

----------------------------------------------------------------------
 apps/blank/pom.xml                              | 2 +-
 apps/jboss-blank/pom.xml                        | 2 +-
 apps/mailreader/pom.xml                         | 2 +-
 apps/pom.xml                                    | 2 +-
 apps/portlet/pom.xml                            | 2 +-
 apps/rest-showcase/pom.xml                      | 4 ++--
 apps/showcase/pom.xml                           | 2 +-
 archetypes/pom.xml                              | 2 +-
 archetypes/struts2-archetype-angularjs/pom.xml  | 2 +-
 archetypes/struts2-archetype-blank/pom.xml      | 2 +-
 archetypes/struts2-archetype-convention/pom.xml | 2 +-
 archetypes/struts2-archetype-dbportlet/pom.xml  | 2 +-
 archetypes/struts2-archetype-plugin/pom.xml     | 2 +-
 archetypes/struts2-archetype-portlet/pom.xml    | 2 +-
 archetypes/struts2-archetype-starter/pom.xml    | 2 +-
 assembly/pom.xml                                | 2 +-
 bundles/admin/pom.xml                           | 2 +-
 bundles/demo/pom.xml                            | 2 +-
 bundles/pom.xml                                 | 2 +-
 core/pom.xml                                    | 2 +-
 plugins/cdi/pom.xml                             | 2 +-
 plugins/codebehind/pom.xml                      | 2 +-
 plugins/config-browser/pom.xml                  | 2 +-
 plugins/convention/pom.xml                      | 2 +-
 plugins/dojo/pom.xml                            | 2 +-
 plugins/dwr/pom.xml                             | 2 +-
 plugins/embeddedjsp/pom.xml                     | 2 +-
 plugins/gxp/pom.xml                             | 2 +-
 plugins/jasperreports/pom.xml                   | 2 +-
 plugins/java8-support/pom.xml                   | 2 +-
 plugins/javatemplates/pom.xml                   | 2 +-
 plugins/jfreechart/pom.xml                      | 2 +-
 plugins/jsf/pom.xml                             | 2 +-
 plugins/json/pom.xml                            | 2 +-
 plugins/junit/pom.xml                           | 2 +-
 plugins/osgi/pom.xml                            | 2 +-
 plugins/oval/pom.xml                            | 2 +-
 plugins/pell-multipart/pom.xml                  | 2 +-
 plugins/plexus/pom.xml                          | 2 +-
 plugins/pom.xml                                 | 2 +-
 plugins/portlet-tiles/pom.xml                   | 2 +-
 plugins/portlet/pom.xml                         | 2 +-
 plugins/rest/pom.xml                            | 2 +-
 plugins/sitegraph/pom.xml                       | 2 +-
 plugins/sitemesh/pom.xml                        | 2 +-
 plugins/spring/pom.xml                          | 2 +-
 plugins/struts1/pom.xml                         | 2 +-
 plugins/testng/pom.xml                          | 2 +-
 plugins/tiles/pom.xml                           | 2 +-
 plugins/tiles3/pom.xml                          | 2 +-
 pom.xml                                         | 2 +-
 xwork-core/pom.xml                              | 2 +-
 52 files changed, 53 insertions(+), 53 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/apps/blank/pom.xml
----------------------------------------------------------------------
diff --git a/apps/blank/pom.xml b/apps/blank/pom.xml
index 530283b..369de8d 100644
--- a/apps/blank/pom.xml
+++ b/apps/blank/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-apps</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-blank</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/apps/jboss-blank/pom.xml
----------------------------------------------------------------------
diff --git a/apps/jboss-blank/pom.xml b/apps/jboss-blank/pom.xml
index 6877f52..a12e542 100644
--- a/apps/jboss-blank/pom.xml
+++ b/apps/jboss-blank/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-apps</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-jboss-blank</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/apps/mailreader/pom.xml
----------------------------------------------------------------------
diff --git a/apps/mailreader/pom.xml b/apps/mailreader/pom.xml
index b7b9631..92a74aa 100644
--- a/apps/mailreader/pom.xml
+++ b/apps/mailreader/pom.xml
@@ -26,7 +26,7 @@
     <parent>
       <groupId>org.apache.struts</groupId>
       <artifactId>struts2-apps</artifactId>
-      <version>2.3.24</version>
+      <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-mailreader</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/apps/pom.xml
----------------------------------------------------------------------
diff --git a/apps/pom.xml b/apps/pom.xml
index 71e526d..41a0c5a 100644
--- a/apps/pom.xml
+++ b/apps/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-parent</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
     <artifactId>struts2-apps</artifactId>
     <packaging>pom</packaging>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/apps/portlet/pom.xml
----------------------------------------------------------------------
diff --git a/apps/portlet/pom.xml b/apps/portlet/pom.xml
index 937dbf0..fecc4d1 100644
--- a/apps/portlet/pom.xml
+++ b/apps/portlet/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-apps</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-portlet</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/apps/rest-showcase/pom.xml
----------------------------------------------------------------------
diff --git a/apps/rest-showcase/pom.xml b/apps/rest-showcase/pom.xml
index faabad7..8ce12a3 100644
--- a/apps/rest-showcase/pom.xml
+++ b/apps/rest-showcase/pom.xml
@@ -26,12 +26,12 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-apps</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-rest-showcase</artifactId>
     <packaging>war</packaging>
-    <version>2.3.24</version>
+    <version>2.3.24.1-SNAPSHOT</version>
     <name>Struts 2 Rest Showcase Webapp</name>
     <description>Struts 2 Rest Showcase Example</description>
 

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/apps/showcase/pom.xml
----------------------------------------------------------------------
diff --git a/apps/showcase/pom.xml b/apps/showcase/pom.xml
index b1f62fa..9406f74 100644
--- a/apps/showcase/pom.xml
+++ b/apps/showcase/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-apps</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-showcase</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/archetypes/pom.xml
----------------------------------------------------------------------
diff --git a/archetypes/pom.xml b/archetypes/pom.xml
index 291a3ec..bbbf87c 100644
--- a/archetypes/pom.xml
+++ b/archetypes/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-parent</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-archetypes</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/archetypes/struts2-archetype-angularjs/pom.xml
----------------------------------------------------------------------
diff --git a/archetypes/struts2-archetype-angularjs/pom.xml b/archetypes/struts2-archetype-angularjs/pom.xml
index ea93fa2..dd33d00 100644
--- a/archetypes/struts2-archetype-angularjs/pom.xml
+++ b/archetypes/struts2-archetype-angularjs/pom.xml
@@ -2,7 +2,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-archetypes</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/archetypes/struts2-archetype-blank/pom.xml
----------------------------------------------------------------------
diff --git a/archetypes/struts2-archetype-blank/pom.xml b/archetypes/struts2-archetype-blank/pom.xml
index f5e4cae..990d3ca 100644
--- a/archetypes/struts2-archetype-blank/pom.xml
+++ b/archetypes/struts2-archetype-blank/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-archetypes</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/archetypes/struts2-archetype-convention/pom.xml
----------------------------------------------------------------------
diff --git a/archetypes/struts2-archetype-convention/pom.xml b/archetypes/struts2-archetype-convention/pom.xml
index 0e8fd79..c218d7b 100644
--- a/archetypes/struts2-archetype-convention/pom.xml
+++ b/archetypes/struts2-archetype-convention/pom.xml
@@ -2,7 +2,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-archetypes</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/archetypes/struts2-archetype-dbportlet/pom.xml
----------------------------------------------------------------------
diff --git a/archetypes/struts2-archetype-dbportlet/pom.xml b/archetypes/struts2-archetype-dbportlet/pom.xml
index eb9d3ec..aa975ee 100644
--- a/archetypes/struts2-archetype-dbportlet/pom.xml
+++ b/archetypes/struts2-archetype-dbportlet/pom.xml
@@ -2,7 +2,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-archetypes</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/archetypes/struts2-archetype-plugin/pom.xml
----------------------------------------------------------------------
diff --git a/archetypes/struts2-archetype-plugin/pom.xml b/archetypes/struts2-archetype-plugin/pom.xml
index 48aff0d..09e4894 100644
--- a/archetypes/struts2-archetype-plugin/pom.xml
+++ b/archetypes/struts2-archetype-plugin/pom.xml
@@ -2,7 +2,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-archetypes</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/archetypes/struts2-archetype-portlet/pom.xml
----------------------------------------------------------------------
diff --git a/archetypes/struts2-archetype-portlet/pom.xml b/archetypes/struts2-archetype-portlet/pom.xml
index 5f5b309..74bf5c1 100644
--- a/archetypes/struts2-archetype-portlet/pom.xml
+++ b/archetypes/struts2-archetype-portlet/pom.xml
@@ -2,7 +2,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-archetypes</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/archetypes/struts2-archetype-starter/pom.xml
----------------------------------------------------------------------
diff --git a/archetypes/struts2-archetype-starter/pom.xml b/archetypes/struts2-archetype-starter/pom.xml
index 358da5c..9a88ae6 100644
--- a/archetypes/struts2-archetype-starter/pom.xml
+++ b/archetypes/struts2-archetype-starter/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-archetypes</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/assembly/pom.xml
----------------------------------------------------------------------
diff --git a/assembly/pom.xml b/assembly/pom.xml
index 3f59bc1..735e093 100644
--- a/assembly/pom.xml
+++ b/assembly/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-parent</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-assembly</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/bundles/admin/pom.xml
----------------------------------------------------------------------
diff --git a/bundles/admin/pom.xml b/bundles/admin/pom.xml
index 33e3e54..ac5ef3b 100644
--- a/bundles/admin/pom.xml
+++ b/bundles/admin/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-osgi-bundles</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-osgi-admin-bundle</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/bundles/demo/pom.xml
----------------------------------------------------------------------
diff --git a/bundles/demo/pom.xml b/bundles/demo/pom.xml
index b00c5df..9ed5f20 100644
--- a/bundles/demo/pom.xml
+++ b/bundles/demo/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-osgi-bundles</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-osgi-demo-bundle</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/bundles/pom.xml
----------------------------------------------------------------------
diff --git a/bundles/pom.xml b/bundles/pom.xml
index 27a529a..5c2b197 100755
--- a/bundles/pom.xml
+++ b/bundles/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-parent</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-osgi-bundles</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/core/pom.xml
----------------------------------------------------------------------
diff --git a/core/pom.xml b/core/pom.xml
index 70818c9..3a0d48f 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-parent</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
     <artifactId>struts2-core</artifactId>
     <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/cdi/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/cdi/pom.xml b/plugins/cdi/pom.xml
index e1f968d..06c87ac 100644
--- a/plugins/cdi/pom.xml
+++ b/plugins/cdi/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-cdi-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/codebehind/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/codebehind/pom.xml b/plugins/codebehind/pom.xml
index bfd377a..a502382 100644
--- a/plugins/codebehind/pom.xml
+++ b/plugins/codebehind/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-codebehind-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/config-browser/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/config-browser/pom.xml b/plugins/config-browser/pom.xml
index 9933acc..7f3479c 100644
--- a/plugins/config-browser/pom.xml
+++ b/plugins/config-browser/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-config-browser-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/convention/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/convention/pom.xml b/plugins/convention/pom.xml
index abd9968..c95d75e 100644
--- a/plugins/convention/pom.xml
+++ b/plugins/convention/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-convention-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/dojo/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/dojo/pom.xml b/plugins/dojo/pom.xml
index b736eeb..fc12680 100644
--- a/plugins/dojo/pom.xml
+++ b/plugins/dojo/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <artifactId>struts2-plugins</artifactId>
         <groupId>org.apache.struts</groupId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/dwr/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/dwr/pom.xml b/plugins/dwr/pom.xml
index 63778ee..4287480 100644
--- a/plugins/dwr/pom.xml
+++ b/plugins/dwr/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-dwr-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/embeddedjsp/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/embeddedjsp/pom.xml b/plugins/embeddedjsp/pom.xml
index 317e118..ce1bd46 100644
--- a/plugins/embeddedjsp/pom.xml
+++ b/plugins/embeddedjsp/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-embeddedjsp-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/gxp/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/gxp/pom.xml b/plugins/gxp/pom.xml
index 6d0790b..4a6f531 100644
--- a/plugins/gxp/pom.xml
+++ b/plugins/gxp/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-gxp-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/jasperreports/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/jasperreports/pom.xml b/plugins/jasperreports/pom.xml
index 00e8d8d..027401f 100644
--- a/plugins/jasperreports/pom.xml
+++ b/plugins/jasperreports/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-jasperreports-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/java8-support/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/java8-support/pom.xml b/plugins/java8-support/pom.xml
index ae10781..2e6e6bb 100644
--- a/plugins/java8-support/pom.xml
+++ b/plugins/java8-support/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-java8-support-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/javatemplates/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/javatemplates/pom.xml b/plugins/javatemplates/pom.xml
index 7bb6378..ce4d39e 100644
--- a/plugins/javatemplates/pom.xml
+++ b/plugins/javatemplates/pom.xml
@@ -25,7 +25,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-javatemplates-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/jfreechart/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/jfreechart/pom.xml b/plugins/jfreechart/pom.xml
index 506746b..74f1093 100644
--- a/plugins/jfreechart/pom.xml
+++ b/plugins/jfreechart/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
    </parent>
 
     <artifactId>struts2-jfreechart-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/jsf/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/jsf/pom.xml b/plugins/jsf/pom.xml
index 4fa3124..be5b07d 100644
--- a/plugins/jsf/pom.xml
+++ b/plugins/jsf/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-jsf-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/json/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/json/pom.xml b/plugins/json/pom.xml
index 3925f14..7477688 100644
--- a/plugins/json/pom.xml
+++ b/plugins/json/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-json-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/junit/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/junit/pom.xml b/plugins/junit/pom.xml
index 2e595c6..9eb5560 100644
--- a/plugins/junit/pom.xml
+++ b/plugins/junit/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-junit-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/osgi/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/osgi/pom.xml b/plugins/osgi/pom.xml
index fb8948e..f1cf960 100644
--- a/plugins/osgi/pom.xml
+++ b/plugins/osgi/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-osgi-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/oval/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/oval/pom.xml b/plugins/oval/pom.xml
index 4b9977a..c963766 100644
--- a/plugins/oval/pom.xml
+++ b/plugins/oval/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-oval-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/pell-multipart/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/pell-multipart/pom.xml b/plugins/pell-multipart/pom.xml
index dd5bf50..837ba46 100644
--- a/plugins/pell-multipart/pom.xml
+++ b/plugins/pell-multipart/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-pell-multipart-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/plexus/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/plexus/pom.xml b/plugins/plexus/pom.xml
index 2d0707a..ddda6dd 100644
--- a/plugins/plexus/pom.xml
+++ b/plugins/plexus/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-plexus-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/pom.xml b/plugins/pom.xml
index bd3e1b9..6366e1e 100644
--- a/plugins/pom.xml
+++ b/plugins/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-parent</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-plugins</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/portlet-tiles/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/portlet-tiles/pom.xml b/plugins/portlet-tiles/pom.xml
index 28a3f70..7428d89 100644
--- a/plugins/portlet-tiles/pom.xml
+++ b/plugins/portlet-tiles/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-portlet-tiles-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/portlet/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/portlet/pom.xml b/plugins/portlet/pom.xml
index 6442d59..e751188 100644
--- a/plugins/portlet/pom.xml
+++ b/plugins/portlet/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-portlet-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/rest/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/rest/pom.xml b/plugins/rest/pom.xml
index 2d4595c..d96f184 100644
--- a/plugins/rest/pom.xml
+++ b/plugins/rest/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-rest-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/sitegraph/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/sitegraph/pom.xml b/plugins/sitegraph/pom.xml
index 34662b1..f874d85 100644
--- a/plugins/sitegraph/pom.xml
+++ b/plugins/sitegraph/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-sitegraph-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/sitemesh/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/sitemesh/pom.xml b/plugins/sitemesh/pom.xml
index 9d5096e..b8373e9 100644
--- a/plugins/sitemesh/pom.xml
+++ b/plugins/sitemesh/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-sitemesh-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/spring/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/spring/pom.xml b/plugins/spring/pom.xml
index 2676837..95b9070 100644
--- a/plugins/spring/pom.xml
+++ b/plugins/spring/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-spring-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/struts1/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/struts1/pom.xml b/plugins/struts1/pom.xml
index 16354fb..c91c4cc 100644
--- a/plugins/struts1/pom.xml
+++ b/plugins/struts1/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-struts1-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/testng/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/testng/pom.xml b/plugins/testng/pom.xml
index 7f4947b..ea4e75e 100644
--- a/plugins/testng/pom.xml
+++ b/plugins/testng/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-testng-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/tiles/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/tiles/pom.xml b/plugins/tiles/pom.xml
index 949285d..d0a9344 100644
--- a/plugins/tiles/pom.xml
+++ b/plugins/tiles/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-tiles-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/plugins/tiles3/pom.xml
----------------------------------------------------------------------
diff --git a/plugins/tiles3/pom.xml b/plugins/tiles3/pom.xml
index e9064b5..99c033c 100644
--- a/plugins/tiles3/pom.xml
+++ b/plugins/tiles3/pom.xml
@@ -26,7 +26,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-plugins</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <artifactId>struts2-tiles3-plugin</artifactId>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index e42f0ec..fbc5763 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,7 @@
 
     <modelVersion>4.0.0</modelVersion>
     <artifactId>struts2-parent</artifactId>
-    <version>2.3.24</version>
+    <version>2.3.24.1-SNAPSHOT</version>
     <packaging>pom</packaging>
     <name>Struts 2</name>
     <url>http://struts.apache.org/</url>

http://git-wip-us.apache.org/repos/asf/struts/blob/0cefe507/xwork-core/pom.xml
----------------------------------------------------------------------
diff --git a/xwork-core/pom.xml b/xwork-core/pom.xml
index 8a3925e..eaa6cc7 100644
--- a/xwork-core/pom.xml
+++ b/xwork-core/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.apache.struts</groupId>
         <artifactId>struts2-parent</artifactId>
-        <version>2.3.24</version>
+        <version>2.3.24.1-SNAPSHOT</version>
     </parent>
 
     <groupId>org.apache.struts.xwork</groupId>