svn commit: r1589746 - /struts/site/trunk/source/announce.md

2014-04-24 Thread rgielen
Author: rgielen
Date: Thu Apr 24 14:34:10 2014
New Revision: 1589746

URL: http://svn.apache.org/r1589746
Log:
0day exploit mitigation announcment

Modified:
struts/site/trunk/source/announce.md

Modified: struts/site/trunk/source/announce.md
URL: 
http://svn.apache.org/viewvc/struts/site/trunk/source/announce.md?rev=1589746&r1=1589745&r2=1589746&view=diff
==
--- struts/site/trunk/source/announce.md (original)
+++ struts/site/trunk/source/announce.md Thu Apr 24 14:34:10 2014
@@ -2,13 +2,57 @@
 layout: default
 title: Announcements
 ---
-
 # Announcements
 
 
   Skip to: Announcements - 2013
 
 
+  2 March 2014 - Struts up to 2.3.16.1: Zero-Day 
Exploit Mitigation
+
+In Struts 2.3.16.1, an issue with ClassLoader manipulation via request 
parameters was supposed to be resolved. Unfortunately, 
+the correction wasn't sufficient.
+
+A security fix release fully addressing this issue is in preparation and will 
be released as soon as possible.
+
+Once the release is available, all Struts 2 users are strongly recommended to 
update their installations.
+
+**Until the release is available, all Struts 2 users are strongly recommended 
to apply the following mitigation:**
+
+In your struts.xml, replace all custom references to params-interceptor with 
the following code, especially regarding the class-pattern
+found at the beginning of the excludeParams list:
+
+
+   (.*\.|^|.*|\[('|"))(c|C)lass(\.|('|")]|\[).*,^dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,^parameters\..*,^action:.*,^method:.*
+
+
+If you are using default interceptor stacks packaged in struts-default.xml, 
change your parent packages to a customized secured configuration
+as in the following example. Given you are using defaultStack so far, change 
your packages from
+
+
+
+...
+...
+
+
+to
+
+
+
+
+
+(.*\.|^|.*|\[('|"))(c|C)lass(\.|('|")]|\[).*,^dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,^parameters\..*,^action:.*,^method:.*
+
+
+
+
+
+...
+ 
+
+Please follow the Apache Struts Announcements to stay updated regarding the 
upcoming security release. Most likely the release will be available within the 
next 72 hours.
+Please prepare for upgrading all Struts 2 based production systems to the new 
release version once available.
+
   2 March 2014 - Struts 2.3.16.1 General Availability 
Release - Security Fix Release
 
 The Apache Struts group is pleased to announce that Struts 2.3.15.2 is 
available as a "General Availability"
@@ -65,4 +109,4 @@ All developers are strongly advised to p
 
   Next:
   Kickstart FAQ
-
+
\ No newline at end of file




svn commit: r1589750 - /struts/site/trunk/source/announce.md

2014-04-24 Thread rgielen
Author: rgielen
Date: Thu Apr 24 14:40:11 2014
New Revision: 1589750

URL: http://svn.apache.org/r1589750
Log:
date correction

Modified:
struts/site/trunk/source/announce.md

Modified: struts/site/trunk/source/announce.md
URL: 
http://svn.apache.org/viewvc/struts/site/trunk/source/announce.md?rev=1589750&r1=1589749&r2=1589750&view=diff
==
--- struts/site/trunk/source/announce.md (original)
+++ struts/site/trunk/source/announce.md Thu Apr 24 14:40:11 2014
@@ -8,7 +8,7 @@ title: Announcements
   Skip to: Announcements - 2013
 
 
-  2 March 2014 - Struts up to 2.3.16.1: Zero-Day 
Exploit Mitigation
+  24 April 2014 - Struts up to 2.3.16.1: Zero-Day 
Exploit Mitigation
 
 In Struts 2.3.16.1, an issue with ClassLoader manipulation via request 
parameters was supposed to be resolved. Unfortunately, 
 the correction wasn't sufficient.




svn commit: r1589758 - /struts/site/trunk/content/announce.html

2014-04-24 Thread lukaszlenart
Author: lukaszlenart
Date: Thu Apr 24 14:51:54 2014
New Revision: 1589758

URL: http://svn.apache.org/r1589758
Log:
Updates autogenerate page

Modified:
struts/site/trunk/content/announce.html

Modified: struts/site/trunk/content/announce.html
URL: 
http://svn.apache.org/viewvc/struts/site/trunk/content/announce.html?rev=1589758&r1=1589757&r2=1589758&view=diff
==
--- struts/site/trunk/content/announce.html (original)
+++ struts/site/trunk/content/announce.html Thu Apr 24 14:51:54 2014
@@ -112,6 +112,48 @@
   Skip to: Announcements - 2013
 
 
+ 24 April 2014 - Struts up to 2.3.16.1: Zero-Day 
Exploit Mitigation
+
+In Struts 2.3.16.1, an issue with ClassLoader manipulation via request 
parameters was supposed to be resolved. Unfortunately, 
+the correction wasn't sufficient.
+
+A security fix release fully addressing this issue is in preparation and 
will be released as soon as possible.
+
+Once the release is available, all Struts 2 users are strongly recommended 
to update their installations.
+
+Until the release is available, all Struts 2 users are strongly 
recommended to apply the following mitigation:
+
+In your struts.xml, replace all custom references to params-interceptor 
with the following code, especially regarding the class-pattern
+found at the beginning of the excludeParams list:
+
+   (.*\.|^|.*|\[('|"))(c|C)lass(\.|('|")]|\[).*,^dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,^parameters\..*,^action:.*,^method:.*
+
+
+If you are using default interceptor stacks packaged in struts-default.xml, 
change your parent packages to a customized secured configuration
+as in the following example. Given you are using defaultStack so far, change 
your packages from
+
+
+...
+...
+
+
+to
+
+
+
+
+(.*\.|^|.*|\[('|"))(c|C)lass(\.|('|")]|\[).*,^dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,^parameters\..*,^action:.*,^method:.*
+
+
+
+
+
+...
+ 
+
+Please follow the Apache Struts Announcements to stay updated regarding the 
upcoming security release. Most likely the release will be available within the 
next 72 hours.
+Please prepare for upgrading all Struts 2 based production systems to the new 
release version once available.
+
  2 March 2014 - Struts 2.3.16.1 General Availability 
Release - Security Fix Release
 
 The Apache Struts group is pleased to announce that Struts 2.3.15.2 is 
available as a "General Availability"




svn commit: r906730 - /websites/production/struts/content/announce.html

2014-04-24 Thread lukaszlenart
Author: lukaszlenart
Date: Thu Apr 24 14:55:15 2014
New Revision: 906730

Log:
Updates producrtion

Modified:
websites/production/struts/content/announce.html

Modified: websites/production/struts/content/announce.html
==
--- websites/production/struts/content/announce.html (original)
+++ websites/production/struts/content/announce.html Thu Apr 24 14:55:15 2014
@@ -112,6 +112,48 @@
   Skip to: Announcements - 2013
 
 
+ 24 April 2014 - Struts up to 2.3.16.1: Zero-Day 
Exploit Mitigation
+
+In Struts 2.3.16.1, an issue with ClassLoader manipulation via request 
parameters was supposed to be resolved. Unfortunately, 
+the correction wasn't sufficient.
+
+A security fix release fully addressing this issue is in preparation and 
will be released as soon as possible.
+
+Once the release is available, all Struts 2 users are strongly recommended 
to update their installations.
+
+Until the release is available, all Struts 2 users are strongly 
recommended to apply the following mitigation:
+
+In your struts.xml, replace all custom references to params-interceptor 
with the following code, especially regarding the class-pattern
+found at the beginning of the excludeParams list:
+
+   (.*\.|^|.*|\[('|"))(c|C)lass(\.|('|")]|\[).*,^dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,^parameters\..*,^action:.*,^method:.*
+
+
+If you are using default interceptor stacks packaged in struts-default.xml, 
change your parent packages to a customized secured configuration
+as in the following example. Given you are using defaultStack so far, change 
your packages from
+
+
+...
+...
+
+
+to
+
+
+
+
+(.*\.|^|.*|\[('|"))(c|C)lass(\.|('|")]|\[).*,^dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,^parameters\..*,^action:.*,^method:.*
+
+
+
+
+
+...
+ 
+
+Please follow the Apache Struts Announcements to stay updated regarding the 
upcoming security release. Most likely the release will be available within the 
next 72 hours.
+Please prepare for upgrading all Struts 2 based production systems to the new 
release version once available.
+
  2 March 2014 - Struts 2.3.16.1 General Availability 
Release - Security Fix Release
 
 The Apache Struts group is pleased to announce that Struts 2.3.15.2 is 
available as a "General Availability"




svn commit: r1589766 - in /struts/site/trunk: content/index.html source/index.html

2014-04-24 Thread lukaszlenart
Author: lukaszlenart
Date: Thu Apr 24 15:19:38 2014
New Revision: 1589766

URL: http://svn.apache.org/r1589766
Log:
Updates HerUnit with 0-day mitigation

Modified:
struts/site/trunk/content/index.html
struts/site/trunk/source/index.html

Modified: struts/site/trunk/content/index.html
URL: 
http://svn.apache.org/viewvc/struts/site/trunk/content/index.html?rev=1589766&r1=1589765&r2=1589766&view=diff
==
--- struts/site/trunk/content/index.html (original)
+++ struts/site/trunk/content/index.html Thu Apr 24 15:19:38 2014
@@ -129,9 +129,9 @@
   http://struts.apache.org/release/2.3.x/docs/version-notes-23161.html";>Version
 notes
 
 
-  Immediately upgrade commons-fileupload!
-  This is necessary to prevent your publicly accessible web site from 
being exposed to
-possible DoS attacks, read more
+  Struts up to 2.3.16.1: Zero-Day Exploit Mitigation!
+  In Struts 2.3.16.1, an issue with ClassLoader manipulation via 
request parameters was supposed to be resolved. Unfortunately,
+the correction wasn't sufficient, read more
   
 
 

Modified: struts/site/trunk/source/index.html
URL: 
http://svn.apache.org/viewvc/struts/site/trunk/source/index.html?rev=1589766&r1=1589765&r2=1589766&view=diff
==
--- struts/site/trunk/source/index.html (original)
+++ struts/site/trunk/source/index.html Thu Apr 24 15:19:38 2014
@@ -26,9 +26,9 @@ title: Welcome to the Apache Struts proj
   http://struts.apache.org/release/2.3.x/docs/version-notes-{{ 
site.current_version_short }}.html">Version notes
 
 
-  Immediately upgrade commons-fileupload!
-  This is necessary to prevent your publicly accessible web site from 
being exposed to
-possible DoS attacks, read more
+  Struts up to 2.3.16.1: Zero-Day Exploit Mitigation!
+  In Struts 2.3.16.1, an issue with ClassLoader manipulation via 
request parameters was supposed to be resolved. Unfortunately,
+the correction wasn't sufficient, read more
   
 
 




svn commit: r906733 - /websites/production/struts/content/index.html

2014-04-24 Thread lukaszlenart
Author: lukaszlenart
Date: Thu Apr 24 15:20:02 2014
New Revision: 906733

Log:
Updates producrtion

Modified:
websites/production/struts/content/index.html

Modified: websites/production/struts/content/index.html
==
--- websites/production/struts/content/index.html (original)
+++ websites/production/struts/content/index.html Thu Apr 24 15:20:02 2014
@@ -129,9 +129,9 @@
   http://struts.apache.org/release/2.3.x/docs/version-notes-23161.html";>Version
 notes
 
 
-  Immediately upgrade commons-fileupload!
-  This is necessary to prevent your publicly accessible web site from 
being exposed to
-possible DoS attacks, read more
+  Struts up to 2.3.16.1: Zero-Day Exploit Mitigation!
+  In Struts 2.3.16.1, an issue with ClassLoader manipulation via 
request parameters was supposed to be resolved. Unfortunately,
+the correction wasn't sufficient, read more
   
 
 




[2/5] git commit: Moves global exclude patterns into dedicated class

2014-04-24 Thread lukaszlenart
Moves global exclude patterns into dedicated class


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

Branch: refs/heads/hotfix/2.3.16.2
Commit: 2e2da292166adbc78c4cb1e308b30ddb4fba6d3f
Parents: a2d0ecd
Author: Lukasz Lenart 
Authored: Thu Apr 24 19:51:02 2014 +0200
Committer: Lukasz Lenart 
Committed: Thu Apr 24 19:51:02 2014 +0200

--
 core/src/main/resources/struts-default.xml  |  8 +++
 .../opensymphony/xwork2/ExcludedPatterns.java   | 22 
 2 files changed, 26 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/struts/blob/2e2da292/core/src/main/resources/struts-default.xml
--
diff --git a/core/src/main/resources/struts-default.xml 
b/core/src/main/resources/struts-default.xml
index 2f5b259..398dd43 100644
--- a/core/src/main/resources/struts-default.xml
+++ b/core/src/main/resources/struts-default.xml
@@ -197,7 +197,7 @@
 
 
 
-^class\..*,^dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,^parameters\..*,^action:.*,^method:.*
+^action:.*,^method:.*
 
 
 
@@ -253,7 +253,7 @@
 
 
 
-^class\..*,^dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,^parameters\..*,^action:.*,^method:.*
+^action:.*,^method:.*
 
 
 
@@ -263,7 +263,7 @@
 
 
 
-^class\..*,^dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,^parameters\..*,^action:.*,^method:.*
+^action:.*,^method:.*
 
 
 
@@ -300,7 +300,7 @@
 
 
 
-^class\..*,^dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,^parameters\..*,^action:.*,^method:.*
+^action:.*,^method:.*
 
 
 

http://git-wip-us.apache.org/repos/asf/struts/blob/2e2da292/xwork-core/src/main/java/com/opensymphony/xwork2/ExcludedPatterns.java
--
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/ExcludedPatterns.java 
b/xwork-core/src/main/java/com/opensymphony/xwork2/ExcludedPatterns.java
new file mode 100644
index 000..b618a52
--- /dev/null
+++ b/xwork-core/src/main/java/com/opensymphony/xwork2/ExcludedPatterns.java
@@ -0,0 +1,22 @@
+package com.opensymphony.xwork2;
+
+/**
+ * ExcludedPatterns contains hard-coded patterns that must be rejected by 
{@link com.opensymphony.xwork2.interceptor.ParametersInterceptor}
+ * and partially in CookInterceptor
+ */
+public class ExcludedPatterns {
+
+public static final String CLASS_ACCESS_PATTERN = 
"(.*\\.|^|.*|\\[('|\"))class(\\.|('|\")]|\\[).*";
+
+public static final String[] EXCLUDED_PATTERNS = {
+CLASS_ACCESS_PATTERN,
+"^dojo\\..*",
+"^struts\\..*",
+"^session\\..*",
+"^request\\..*",
+"^application\\..*",
+"^servlet(Request|Response)\\..*",
+"^parameters\\..*"
+};
+
+}



[1/5] git commit: Sets -SNAPSHOT version

2014-04-24 Thread lukaszlenart
Repository: struts
Updated Branches:
  refs/heads/hotfix/2.3.16.2 [created] 986215740


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/a2d0ecdc
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/a2d0ecdc
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/a2d0ecdc

Branch: refs/heads/hotfix/2.3.16.2
Commit: a2d0ecdcd3594c87265f483ecb3c202fec18937c
Parents: 6cddee6
Author: Lukasz Lenart 
Authored: Tue Apr 22 11:54:59 2014 +0200
Committer: Lukasz Lenart 
Committed: Tue Apr 22 11:54:59 2014 +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  | 4 ++--
 archetypes/struts2-archetype-blank/pom.xml  | 4 ++--
 archetypes/struts2-archetype-convention/pom.xml | 4 ++--
 archetypes/struts2-archetype-dbportlet/pom.xml  | 4 ++--
 archetypes/struts2-archetype-plugin/pom.xml | 4 ++--
 archetypes/struts2-archetype-portlet/pom.xml| 4 ++--
 archetypes/struts2-archetype-starter/pom.xml| 4 ++--
 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/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| 4 ++--
 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 +-
 51 files changed, 60 insertions(+), 60 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/struts/blob/a2d0ecdc/apps/blank/pom.xml
--
diff --git a/apps/blank/pom.xml b/apps/blank/pom.xml
index 2b2cf63..dce8aa0 100644
--- a/apps/blank/pom.xml
+++ b/apps/blank/pom.xml
@@ -26,7 +26,7 @@
 
 org.apache.struts
 struts2-apps
-2.3.16.1
+2.3.16.2-SNAPSHOT
 
 
 struts2-blank

http://git-wip-us.apache.org/repos/asf/struts/blob/a2d0ecdc/apps/jboss-blank/pom.xml
--
diff --git a/apps/jboss-blank/pom.xml b/apps/jboss-blank/pom.xml
index e16d5ff..9a6abee 100644
--- a/apps/jboss-blank/pom.xml
+++ b/apps/jboss-blank/pom.xml
@@ -26,7 +26,7 @@
 
 org.apache.struts
 struts2-apps
-2.3.16.1
+2.3.16.2-SNAPSHOT
 
 
 struts2-jboss-blank

http://git-wip-us.apache.org/repos/asf/struts/blob/a2d0ecdc/apps/mailreader/pom.xml
--
diff --git a/apps/mailreader/pom.xml b/apps/mailreader/pom.xml
index 1992cde..de7cfb2 100644
--- a/apps/mailreader/pom.xml
+++ b/apps/mailreader/pom.xml
@@ -26,7 +26,7 @@
 
   org.apache.struts
   struts2-apps
-  2.3.16.1
+  2.3.16.2-SNAPSHOT
 

[3/5] git commit: Uses global exclude patterns to initialise excludeParams

2014-04-24 Thread lukaszlenart
Uses global exclude patterns to initialise excludeParams


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

Branch: refs/heads/hotfix/2.3.16.2
Commit: 6315241719be167542962da436b38782ed730c62
Parents: 2e2da29
Author: Lukasz Lenart 
Authored: Thu Apr 24 19:51:40 2014 +0200
Committer: Lukasz Lenart 
Committed: Thu Apr 24 19:51:40 2014 +0200

--
 .../struts2/interceptor/CookieInterceptor.java  | 74 +++-
 .../interceptor/ParametersInterceptor.java  | 19 +++--
 2 files changed, 86 insertions(+), 7 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/struts/blob/63152417/core/src/main/java/org/apache/struts2/interceptor/CookieInterceptor.java
--
diff --git 
a/core/src/main/java/org/apache/struts2/interceptor/CookieInterceptor.java 
b/core/src/main/java/org/apache/struts2/interceptor/CookieInterceptor.java
index 939956c..3e2e81d 100644
--- a/core/src/main/java/org/apache/struts2/interceptor/CookieInterceptor.java
+++ b/core/src/main/java/org/apache/struts2/interceptor/CookieInterceptor.java
@@ -24,6 +24,7 @@ package org.apache.struts2.interceptor;
 import com.opensymphony.xwork2.ActionContext;
 import com.opensymphony.xwork2.ActionInvocation;
 import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
+import com.opensymphony.xwork2.ExcludedPatterns;
 import com.opensymphony.xwork2.util.TextParseUtil;
 import com.opensymphony.xwork2.util.ValueStack;
 import com.opensymphony.xwork2.util.logging.Logger;
@@ -173,7 +174,8 @@ public class CookieInterceptor extends AbstractInterceptor {
 private Set cookiesValueSet = Collections.emptySet();
 
 // Allowed names of cookies
-private Pattern acceptedPattern = Pattern.compile(ACCEPTED_PATTERN);
+private Pattern acceptedPattern = Pattern.compile(ACCEPTED_PATTERN, 
Pattern.CASE_INSENSITIVE);
+private Pattern excludedPattern = 
Pattern.compile(ExcludedPatterns.CLASS_ACCESS_PATTERN, 
Pattern.CASE_INSENSITIVE);
 
 /**
  * Set the cookiesName which if matched will allow the cookie
@@ -223,7 +225,7 @@ public class CookieInterceptor extends AbstractInterceptor {
 String name = cookie.getName();
 String value = cookie.getValue();
 
-if (acceptedPattern.matcher(name).matches()) {
+if (isAcceptableName(name) && isAcceptableValue(value)) {
 if (cookiesNameSet.contains("*")) {
 if (LOG.isDebugEnabled()) {
 LOG.debug("contains cookie name [*] in configured 
cookies name set, cookie with name [" + name + "] with value [" + value + "] 
will be injected");
@@ -233,7 +235,7 @@ public class CookieInterceptor extends AbstractInterceptor {
 populateCookieValueIntoStack(name, value, cookiesMap, 
stack);
 }
 } else {
-LOG.warn("Cookie name [" + name + "] does not match 
accepted cookie names pattern [" + acceptedPattern + "]");
+LOG.warn("Cookie name [#0] with value [#1] was rejected!", 
name, value);
 }
 }
 }
@@ -245,6 +247,72 @@ public class CookieInterceptor extends AbstractInterceptor 
{
 }
 
 /**
+ * Checks if value of Cookie doesn't contain vulnerable code
+ *
+ * @param value of Cookie
+ * @return true|false
+ */
+protected boolean isAcceptableValue(String value) {
+boolean matches = !excludedPattern.matcher(value).matches();
+if (!matches) {
+if (LOG.isTraceEnabled()) {
+LOG.trace("Cookie value [#0] matches excludedPattern [#1]", 
value, ExcludedPatterns.CLASS_ACCESS_PATTERN);
+}
+}
+return matches;
+}
+
+/**
+ * Checks if name of Cookie doesn't contain vulnerable code
+ *
+ * @param name of Cookie
+ * @return true|false
+ */
+protected boolean isAcceptableName(String name) {
+return !isExcluded(name) && isAccepted(name);
+}
+
+/**
+ * Checks if name of Cookie match {@link #acceptedPattern}
+ *
+ * @param name of Cookie
+ * @return true|false
+ */
+protected boolean isAccepted(String name) {
+boolean matches = acceptedPattern.matcher(name).matches();
+if (matches) {
+if (LOG.isTraceEnabled()) {
+LOG.trace("Cookie [#0] matches acceptedPattern [#1]", name, 
ACCEPTED_PATTERN);
+}
+} else {
+if (LOG.isTraceEnabled()) {
+LOG.trace("Cookie [#0] doesn't match acceptedPattern [#1]", 
name, ACCEPTED_PA

[5/5] git commit: Updates archetypes' version

2014-04-24 Thread lukaszlenart
Updates archetypes' version


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

Branch: refs/heads/hotfix/2.3.16.2
Commit: 986215740a0c51c4a2a2eb3e2b22c66ebeb279ed
Parents: 149181a
Author: Lukasz Lenart 
Authored: Thu Apr 24 20:19:02 2014 +0200
Committer: Lukasz Lenart 
Committed: Thu Apr 24 20:19:02 2014 +0200

--
 src/site/resources/archetype-catalog.xml | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/struts/blob/98621574/src/site/resources/archetype-catalog.xml
--
diff --git a/src/site/resources/archetype-catalog.xml 
b/src/site/resources/archetype-catalog.xml
index d1989bb..fab8fde 100644
--- a/src/site/resources/archetype-catalog.xml
+++ b/src/site/resources/archetype-catalog.xml
@@ -7,42 +7,42 @@
 
 org.apache.struts
 struts2-archetype-blank
-2.3.16.1
+2.3.16.2
 http://repo1.maven.org/maven2/
 Struts 2 Archetypes - Blank
 
 
 org.apache.struts
 struts2-archetype-convention
-2.3.16.1
+2.3.16.2
 http://repo1.maven.org/maven2/
 Struts 2 Archetypes - Blank Convention
 
 
 org.apache.struts
 struts2-archetype-dbportlet
-2.3.16.1
+2.3.16.2
 http://repo1.maven.org/maven2/
 Struts 2 Archetypes - Database Portlet
 
 
 org.apache.struts
 struts2-archetype-plugin
-2.3.16.1
+2.3.16.2
 http://repo1.maven.org/maven2/
 Struts 2 Archetypes - Plugin
 
 
 org.apache.struts
 struts2-archetype-portlet
-2.3.16.1
+2.3.16.2
 http://repo1.maven.org/maven2/
 Struts 2 Archetypes - Portlet
 
 
 org.apache.struts
 struts2-archetype-starter
-2.3.16.1
+2.3.16.2
 http://repo1.maven.org/maven2/
 Struts 2 Archetypes - Starter
 



[4/5] git commit: Adds test cases to test ClassLoader pollution

2014-04-24 Thread lukaszlenart
Adds test cases to test ClassLoader pollution


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

Branch: refs/heads/hotfix/2.3.16.2
Commit: 149181a776afc94a39676a570bda72e14826476e
Parents: 6315241
Author: Lukasz Lenart 
Authored: Thu Apr 24 19:52:03 2014 +0200
Committer: Lukasz Lenart 
Committed: Thu Apr 24 19:52:03 2014 +0200

--
 .../interceptor/CookieInterceptorTest.java  | 66 
 .../interceptor/ParametersInterceptorTest.java  | 64 +++
 2 files changed, 130 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/struts/blob/149181a7/core/src/test/java/org/apache/struts2/interceptor/CookieInterceptorTest.java
--
diff --git 
a/core/src/test/java/org/apache/struts2/interceptor/CookieInterceptorTest.java 
b/core/src/test/java/org/apache/struts2/interceptor/CookieInterceptorTest.java
index 2d22fac..d1014a8 100644
--- 
a/core/src/test/java/org/apache/struts2/interceptor/CookieInterceptorTest.java
+++ 
b/core/src/test/java/org/apache/struts2/interceptor/CookieInterceptorTest.java
@@ -22,10 +22,12 @@
 package org.apache.struts2.interceptor;
 
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.Map;
 
 import javax.servlet.http.Cookie;
 
+import com.opensymphony.xwork2.mock.MockActionInvocation;
 import org.easymock.MockControl;
 import org.springframework.mock.web.MockHttpServletRequest;
 
@@ -316,6 +318,70 @@ public class CookieInterceptorTest extends 
StrutsInternalTestCase {
 
assertEquals(ActionContext.getContext().getValueStack().findValue("cookie3"), 
null);
 }
 
+public void testCookiesWithClassPollution() throws Exception {
+MockHttpServletRequest request = new MockHttpServletRequest();
+String pollution1 = "model['class']['classLoader']['jarPath']";
+String pollution2 = "model.class.classLoader.jarPath";
+String pollution3 = "class.classLoader.jarPath";
+String pollution4 = "class['classLoader']['jarPath']";
+String pollution5 = "model[\"class\"]['classLoader']['jarPath']";
+String pollution6 = "class[\"classLoader\"]['jarPath']";
+
+request.setCookies(
+new Cookie(pollution1, "pollution1"),
+new Cookie("pollution1", pollution1),
+new Cookie(pollution2, "pollution2"),
+new Cookie("pollution2", pollution2),
+new Cookie(pollution3, "pollution3"),
+new Cookie("pollution3", pollution3),
+new Cookie(pollution4, "pollution4"),
+new Cookie("pollution4", pollution4),
+new Cookie(pollution5, "pollution5"),
+new Cookie("pollution5", pollution5),
+new Cookie(pollution6, "pollution6"),
+new Cookie("pollution6", pollution6)
+);
+ServletActionContext.setRequest(request);
+
+final Map excludedName = new HashMap();
+final Map excludedValue = new HashMap();
+
+CookieInterceptor interceptor = new CookieInterceptor() {
+@Override
+protected boolean isAcceptableName(String name) {
+boolean accepted = super.isAcceptableName(name);
+excludedName.put(name, accepted);
+return accepted;
+}
+
+@Override
+protected boolean isAcceptableValue(String value) {
+boolean accepted = super.isAcceptableValue(value);
+excludedValue.put(value, accepted);
+return accepted;
+}
+};
+interceptor.setCookiesName("*");
+
+MockActionInvocation invocation = new MockActionInvocation();
+invocation.setAction(new MockActionWithCookieAware());
+
+interceptor.intercept(invocation);
+
+assertFalse(excludedName.get(pollution1));
+assertFalse(excludedName.get(pollution2));
+assertFalse(excludedName.get(pollution3));
+assertFalse(excludedName.get(pollution4));
+assertFalse(excludedName.get(pollution5));
+assertFalse(excludedName.get(pollution6));
+
+assertFalse(excludedValue.get(pollution1));
+assertFalse(excludedValue.get(pollution2));
+assertFalse(excludedValue.get(pollution3));
+assertFalse(excludedValue.get(pollution4));
+assertFalse(excludedValue.get(pollution5));
+assertFalse(excludedValue.get(pollution6));
+}
 
 public static class MockActionWithCookieAware extends ActionSupport 
implements CookiesAware {
 

http://git-wip-us.apache.org/repos/asf/struts/blob/1

Git Push Summary

2014-04-24 Thread lukaszlenart
Repository: struts
Updated Tags:  refs/tags/STRUTS_2_3_16_2 [created] f124f7c5d


Git Push Summary

2014-04-24 Thread lukaszlenart
Repository: struts
Updated Tags:  refs/tags/STRUTS_2_3_16_2 [deleted] f124f7c5d


git commit: Updates maven-release-plugin to solve problem with tagging

2014-04-24 Thread lukaszlenart
Repository: struts
Updated Branches:
  refs/heads/hotfix/2.3.16.2 986215740 -> 1540ab3c7


Updates maven-release-plugin to solve problem with tagging


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

Branch: refs/heads/hotfix/2.3.16.2
Commit: 1540ab3c74b323890caa82046e69d507c936e361
Parents: 9862157
Author: Lukasz Lenart 
Authored: Thu Apr 24 20:46:43 2014 +0200
Committer: Lukasz Lenart 
Committed: Thu Apr 24 20:46:43 2014 +0200

--
 pom.xml | 5 +
 1 file changed, 5 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/struts/blob/1540ab3c/pom.xml
--
diff --git a/pom.xml b/pom.xml
index 1e89047..0d7f275 100644
--- a/pom.xml
+++ b/pom.xml
@@ -122,6 +122,11 @@
 
 
 org.apache.maven.plugins
+maven-release-plugin
+2.5
+
+
+org.apache.maven.plugins
 maven-site-plugin
 3.2
 



Git Push Summary

2014-04-24 Thread lukaszlenart
Repository: struts
Updated Tags:  refs/tags/STRUTS_2_3_16_2 [created] 50598950f


Git Push Summary

2014-04-24 Thread lukaszlenart
Repository: struts
Updated Tags:  refs/tags/STRUTS_2_3_16_2 [deleted] 50598950f


git commit: Updates maven-release-plugin to solve problem with tagging

2014-04-24 Thread lukaszlenart
Repository: struts
Updated Branches:
  refs/heads/hotfix/2.3.16.2 1540ab3c7 -> 78096665f


Updates maven-release-plugin to solve problem with tagging


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

Branch: refs/heads/hotfix/2.3.16.2
Commit: 78096665fea8f4265df172b1bc6f74facedfcd99
Parents: 1540ab3
Author: Lukasz Lenart 
Authored: Thu Apr 24 21:13:06 2014 +0200
Committer: Lukasz Lenart 
Committed: Thu Apr 24 21:13:06 2014 +0200

--
 pom.xml | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/struts/blob/78096665/pom.xml
--
diff --git a/pom.xml b/pom.xml
index 0d7f275..9d2ef8b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,7 +12,7 @@
 2.3.16.2-SNAPSHOT
 pom
 Struts 2
-http://struts.apache.org/2.x/
+http://struts.apache.org/
 Apache Struts 2
 
 2000
@@ -123,7 +123,7 @@
 
 org.apache.maven.plugins
 maven-release-plugin
-2.5
+2.52
 
 
 org.apache.maven.plugins
@@ -175,6 +175,11 @@
 
 
 
+org.apache.maven.plugins
+maven-release-plugin
+2.5
+
+
 maven-jar-plugin
 
 



git commit: [maven-release-plugin] prepare release STRUTS_2_3_16_2

2014-04-24 Thread lukaszlenart
Repository: struts
Updated Branches:
  refs/heads/hotfix/2.3.16.2 78096665f -> 7dd83dff4


[maven-release-plugin] prepare release STRUTS_2_3_16_2


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

Branch: refs/heads/hotfix/2.3.16.2
Commit: 7dd83dff485d324980f3d22c726cfd969ecf41f8
Parents: 7809666
Author: Lukasz Lenart 
Authored: Thu Apr 24 21:32:35 2014 +0200
Committer: Lukasz Lenart 
Committed: Thu Apr 24 21:32:35 2014 +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  | 4 ++--
 archetypes/struts2-archetype-blank/pom.xml  | 4 ++--
 archetypes/struts2-archetype-convention/pom.xml | 4 ++--
 archetypes/struts2-archetype-dbportlet/pom.xml  | 4 ++--
 archetypes/struts2-archetype-plugin/pom.xml | 4 ++--
 archetypes/struts2-archetype-portlet/pom.xml| 4 ++--
 archetypes/struts2-archetype-starter/pom.xml| 4 ++--
 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/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| 4 ++--
 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 | 5 +++--
 xwork-core/pom.xml  | 2 +-
 51 files changed, 62 insertions(+), 61 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/struts/blob/7dd83dff/apps/blank/pom.xml
--
diff --git a/apps/blank/pom.xml b/apps/blank/pom.xml
index dce8aa0..6054fc4 100644
--- a/apps/blank/pom.xml
+++ b/apps/blank/pom.xml
@@ -26,7 +26,7 @@
 
 org.apache.struts
 struts2-apps
-2.3.16.2-SNAPSHOT
+2.3.16.2
 
 
 struts2-blank

http://git-wip-us.apache.org/repos/asf/struts/blob/7dd83dff/apps/jboss-blank/pom.xml
--
diff --git a/apps/jboss-blank/pom.xml b/apps/jboss-blank/pom.xml
index 9a6abee..0aebae0 100644
--- a/apps/jboss-blank/pom.xml
+++ b/apps/jboss-blank/pom.xml
@@ -26,7 +26,7 @@
 
 org.apache.struts
 struts2-apps
-2.3.16.2-SNAPSHOT
+2.3.16.2
 
 
 struts2-jboss-blank

http://git-wip-us.apache.org/repos/asf/struts/blob/7dd83dff/apps/mailreader/pom.xml
--
diff --git a/apps/mailreader/pom.xml b/apps/mailreader/pom.xml
index de7cfb2..f2fc344 100644
--- a/apps/mailreader/pom.xml
+++ b/apps/mailreader/pom.xml
@@ -26,7 +26,7 @@
 
   org.apache.struts
   struts2-apps
-  2.

git commit: [maven-release-plugin] prepare for next development iteration

2014-04-24 Thread lukaszlenart
Repository: struts
Updated Branches:
  refs/heads/hotfix/2.3.16.2 7dd83dff4 -> fbd75a892


[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/fbd75a89
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/fbd75a89
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/fbd75a89

Branch: refs/heads/hotfix/2.3.16.2
Commit: fbd75a892bdad741f8a4247e3b8e5c2727651816
Parents: 7dd83df
Author: Lukasz Lenart 
Authored: Thu Apr 24 21:32:49 2014 +0200
Committer: Lukasz Lenart 
Committed: Thu Apr 24 21:32:49 2014 +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  | 4 ++--
 archetypes/struts2-archetype-blank/pom.xml  | 4 ++--
 archetypes/struts2-archetype-convention/pom.xml | 4 ++--
 archetypes/struts2-archetype-dbportlet/pom.xml  | 4 ++--
 archetypes/struts2-archetype-plugin/pom.xml | 4 ++--
 archetypes/struts2-archetype-portlet/pom.xml| 4 ++--
 archetypes/struts2-archetype-starter/pom.xml| 4 ++--
 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/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| 4 ++--
 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 +-
 51 files changed, 61 insertions(+), 61 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/struts/blob/fbd75a89/apps/blank/pom.xml
--
diff --git a/apps/blank/pom.xml b/apps/blank/pom.xml
index 6054fc4..81a88d5 100644
--- a/apps/blank/pom.xml
+++ b/apps/blank/pom.xml
@@ -26,7 +26,7 @@
 
 org.apache.struts
 struts2-apps
-2.3.16.2
+2.3.16.3-SNAPSHOT
 
 
 struts2-blank

http://git-wip-us.apache.org/repos/asf/struts/blob/fbd75a89/apps/jboss-blank/pom.xml
--
diff --git a/apps/jboss-blank/pom.xml b/apps/jboss-blank/pom.xml
index 0aebae0..b77c977 100644
--- a/apps/jboss-blank/pom.xml
+++ b/apps/jboss-blank/pom.xml
@@ -26,7 +26,7 @@
 
 org.apache.struts
 struts2-apps
-2.3.16.2
+2.3.16.3-SNAPSHOT
 
 
 struts2-jboss-blank

http://git-wip-us.apache.org/repos/asf/struts/blob/fbd75a89/apps/mailreader/pom.xml
--
diff --git a/apps/mailreader/pom.xml b/apps/mailreader/pom.xml
index f2fc344..bb7ae7c 100644
--- a/apps/mailreader/pom.xml
+++ b/apps/mailreader/pom.xml
@@ -26,7 +26,7 @@
 
   org.apache.struts
   struts2-apps
-  

Git Push Summary

2014-04-24 Thread lukaszlenart
Repository: struts
Updated Tags:  refs/tags/STRUTS_2_3_16_2 [created] 50173c03f


[CONF] Confluence Changes in the last 24 hours

2014-04-24 Thread Anonymous (Confluence)
















  Confluence Changes in the last 24 hours  




 Apache ActiveMQ 

Pages

 Page: Support edited by David Blevins [09:08 PM] (View Changes) 


 Apache Camel 

Pages

 Page: Recipient List edited by Claus Ibsen [04:23 PM] (View Changes) 
 Page: Routing Slip edited by Claus Ibsen [04:21 PM] (View Changes) 
 Page: Splitter edited by Aki Yoshida [03:50 PM] (View Changes) 


 Apache Cloudstack 

Pages

 Page: KVM Qemu changes created by angie shen [11:02 PM] 
 Page: VHDX Support edited by Devdeep Singh [11:54 AM] (View Changes) 
 Page: VPC support on Hyper-V edited by Rajesh Battala [09:52 AM] (View Changes) 
 Page: Multiple Nic Support edited by Rajesh Battala [09:38 AM] (View Changes) 
 Page: Zone wide primary storage for Hyper-V edited by Devdeep Singh [06:23 AM] (View Changes) 


 Apache Curator 

Pages

 Page: Releases edited by Jordan Zimmerman [02:38 PM] (View Changes) 


 Apache Flex 

Pages

 Page: Installation help edited by Tom Chiverton [11:50 AM] (View Changes) 


 Apache Hive 

Pages

 Page: Skewed Join Optimization edited by Lefty Leverenz [06:21 AM] (View Changes) 
 Page: SQL Standard based hive authorization (New in Hive 0.13) edited by Thejas M Nair [02:21 AM] (View Changes) 


 Apache Kafka 

Pages

 Page: Kafka 0.9 Consumer Rewrite Design edited by Neha Narkhede [10:29 PM] (View Changes) 
 Page: Powered By edited by Jay Kreps [07:02 PM] (View Changes) 


 Apache OpenOffice Community 

Pages