svn commit: r1687683 - in /tomcat/trunk/java/org/apache/catalina: core/ApplicationContext.java startup/ContextConfig.java

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 07:19:18 2015
New Revision: 1687683

URL: http://svn.apache.org/r1687683
Log:
Add engine name to virtual server name
Patch by fjodorver

Modified:
tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java
tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java

Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java?rev=1687683&r1=1687682&r2=1687683&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java Fri Jun 
26 07:19:18 2015
@@ -1458,7 +1458,9 @@ public class ApplicationContext
 @Override
 public String getVirtualServerName() {
 // Constructor will fail if context or its parent is null
-return ((Host) context.getParent()).getName();
+Host host = (Host) context.getParent();
+Engine engine = (Engine) host.getParent();
+return engine.getName() + "/" + host.getName();
 }
 
 

Modified: tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java?rev=1687683&r1=1687682&r2=1687683&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java Fri Jun 26 
07:19:18 2015
@@ -459,7 +459,6 @@ public class ContextConfig implements Li
 }
 
 private String getJaspicAppContext() {
-// TODO: This might not be unique
 return context.getServletContext().getVirtualServerName() + " " + 
context.getPath();
 }
 



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1687685 - /tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 07:20:29 2015
New Revision: 1687685

URL: http://svn.apache.org/r1687685
Log:
Simplify. Casts are unnecessary.

Modified:
tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java

Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java?rev=1687685&r1=1687684&r2=1687685&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java Fri Jun 
26 07:20:29 2015
@@ -57,7 +57,6 @@ import org.apache.catalina.Container;
 import org.apache.catalina.Context;
 import org.apache.catalina.Engine;
 import org.apache.catalina.Globals;
-import org.apache.catalina.Host;
 import org.apache.catalina.LifecycleState;
 import org.apache.catalina.Service;
 import org.apache.catalina.WebResourceRoot;
@@ -1458,8 +1457,8 @@ public class ApplicationContext
 @Override
 public String getVirtualServerName() {
 // Constructor will fail if context or its parent is null
-Host host = (Host) context.getParent();
-Engine engine = (Engine) host.getParent();
+Container host = context.getParent();
+Container engine = host.getParent();
 return engine.getName() + "/" + host.getName();
 }
 



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



buildbot exception in ASF Buildbot on tomcat-trunk

2015-06-26 Thread buildbot
The Buildbot has detected a build exception on builder tomcat-trunk while 
building ASF Buildbot. Full details are available at:
http://ci.apache.org/builders/tomcat-trunk/builds/1465

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: silvanus_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-commit' 
triggered this build
Build Source Stamp: [branch tomcat/trunk] 1687685
Blamelist: markt

BUILD FAILED: exception upload_2

Sincerely,
 -The Buildbot




-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1687687 - in /tomcat/trunk/java/org/apache/catalina: authenticator/jaspic/provider/ startup/

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 07:27:49 2015
New Revision: 1687687

URL: http://svn.apache.org/r1687687
Log:
Use catalina context to configure jaspic provider 
Patch by fjodorver

Modified:

tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/TomcatAuthConfig.java

tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/TomcatAuthConfigProvider.java

tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/TomcatServerAuthContext.java
tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java

Modified: 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/TomcatAuthConfig.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/TomcatAuthConfig.java?rev=1687687&r1=1687686&r2=1687687&view=diff
==
--- 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/TomcatAuthConfig.java
 (original)
+++ 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/TomcatAuthConfig.java
 Fri Jun 26 07:27:49 2015
@@ -16,9 +16,6 @@
  */
 package org.apache.catalina.authenticator.jaspic.provider;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
 import java.util.Map;
 
 import javax.security.auth.Subject;
@@ -32,22 +29,27 @@ import org.apache.catalina.Realm;
 import 
org.apache.catalina.authenticator.jaspic.provider.modules.BasicAuthModule;
 import 
org.apache.catalina.authenticator.jaspic.provider.modules.DigestAuthModule;
 import 
org.apache.catalina.authenticator.jaspic.provider.modules.TomcatAuthModule;
+import org.apache.tomcat.util.descriptor.web.LoginConfig;
+import org.apache.tomcat.util.res.StringManager;
 
 public class TomcatAuthConfig implements ServerAuthConfig {
+protected static final StringManager sm = 
StringManager.getManager(TomcatAuthConfig.class);
 
 private String messageLayer;
 private String appContext;
 private CallbackHandler handler;
 private TomcatServerAuthContext tomcatServerAuthContext;
 private Realm realm;
+private LoginConfig loginConfig;
 
 
 public TomcatAuthConfig(String layer, String appContext, CallbackHandler 
callbackHandler,
-Realm realm) {
+Realm realm, LoginConfig loginConfig) {
 this.messageLayer = layer;
 this.appContext = appContext;
 this.handler = callbackHandler;
 this.realm = realm;
+this.loginConfig = loginConfig;
 }
 
 
@@ -70,8 +72,8 @@ public class TomcatAuthConfig implements
 
 
 @Override
-public void refresh() {
-
+public synchronized void refresh() {
+this.tomcatServerAuthContext = null;
 }
 
 
@@ -86,16 +88,34 @@ public class TomcatAuthConfig implements
 public synchronized ServerAuthContext getAuthContext(String authContextID,
 Subject serviceSubject, Map properties) throws AuthException {
 if (this.tomcatServerAuthContext == null) {
-this.tomcatServerAuthContext = new 
TomcatServerAuthContext(handler, getModules());
+this.tomcatServerAuthContext = new 
TomcatServerAuthContext(handler, getModule());
 }
 return tomcatServerAuthContext;
 }
 
 
-private Collection getModules() {
-List modules = new ArrayList<>();
-modules.add(new BasicAuthModule());
-modules.add(new DigestAuthModule(realm));
-return modules;
+private TomcatAuthModule getModule() throws AuthException {
+String authMethod = getAuthMethod();
+switch (authMethod) {
+case "BASIC": {
+return new BasicAuthModule();
+}
+case "DIGEST": {
+return new DigestAuthModule(realm);
+}
+default: {
+throw new AuthException(
+sm.getString("authenticator.jaspic.unknownAuthType", 
authMethod));
+}
+}
+}
+
+
+/**
+ * Temporary workaround to get authentication method
+ * @return
+ */
+private String getAuthMethod() {
+return loginConfig.getAuthMethod().replace("JASPIC-", "");
 }
 }

Modified: 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/TomcatAuthConfigProvider.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/TomcatAuthConfigProvider.java?rev=1687687&r1=1687686&r2=1687687&view=diff
==
--- 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/TomcatAuthConfigProvider.java
 (original)
+++ 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/TomcatAuthConfigProvider.java
 Fri Jun 26 07:27:49 2015
@@ -25,21 +25,21 @@ import javax.security.auth.message.confi
 import javax.security.auth.message.config.ClientAuthConfig;
 import javax.security.auth.message.config.ServerAuthConfig;
 
+import org.apach

svn commit: r1687688 - /tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/JaspicAuthenticator.java

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 07:29:01 2015
New Revision: 1687688

URL: http://svn.apache.org/r1687688
Log:
Add a TODO

Modified:

tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/JaspicAuthenticator.java

Modified: 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/JaspicAuthenticator.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/JaspicAuthenticator.java?rev=1687688&r1=1687687&r2=1687688&view=diff
==
--- 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/JaspicAuthenticator.java
 (original)
+++ 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/JaspicAuthenticator.java
 Fri Jun 26 07:29:01 2015
@@ -84,6 +84,9 @@ public class JaspicAuthenticator extends
 AuthStatus authStatus;
 Subject subject = new Subject();
 try {
+// TODO: A number of the method calls below are synchronised. For
+//   something that may get called on every request that is a
+//   potential bottleneck.
 ServerAuthConfig authConfig = 
configProvider.getServerAuthConfig(MESSAGE_LAYER,
 appContext, callbackHandler);
 String messageAuthContextId = 
authConfig.getAuthContextID(messageInfo);



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1687691 - in /tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules: BasicAuthModule.java DigestAuthModule.java TomcatAuthModule.java

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 07:32:43 2015
New Revision: 1687691

URL: http://svn.apache.org/r1687691
Log:
Removed obsolete type methods from authentication modules
Patch by fjodorver

Modified:

tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/BasicAuthModule.java

tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/DigestAuthModule.java

tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/TomcatAuthModule.java

Modified: 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/BasicAuthModule.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/BasicAuthModule.java?rev=1687691&r1=1687690&r2=1687691&view=diff
==
--- 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/BasicAuthModule.java
 (original)
+++ 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/BasicAuthModule.java
 Fri Jun 26 07:32:43 2015
@@ -48,12 +48,6 @@ public class BasicAuthModule extends Tom
 private CallbackHandler handler;
 
 
-@Override
-public String getAuthenticationType() {
-return "BASIC";
-}
-
-
 @SuppressWarnings("rawtypes")
 @Override
 public void initialize(MessagePolicy requestPolicy, MessagePolicy 
responsePolicy,

Modified: 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/DigestAuthModule.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/DigestAuthModule.java?rev=1687691&r1=1687690&r2=1687691&view=diff
==
--- 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/DigestAuthModule.java
 (original)
+++ 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/DigestAuthModule.java
 Fri Jun 26 07:32:43 2015
@@ -180,12 +180,6 @@ public class DigestAuthModule extends To
 }
 
 
-@Override
-public String getAuthenticationType() {
-return "DIGEST";
-}
-
-
 @SuppressWarnings("rawtypes")
 @Override
 public void initialize(MessagePolicy requestPolicy, MessagePolicy 
responsePolicy,

Modified: 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/TomcatAuthModule.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/TomcatAuthModule.java?rev=1687691&r1=1687690&r2=1687691&view=diff
==
--- 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/TomcatAuthModule.java
 (original)
+++ 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/TomcatAuthModule.java
 Fri Jun 26 07:32:43 2015
@@ -36,9 +36,6 @@ public abstract class TomcatAuthModule i
 protected static final StringManager sm = 
StringManager.getManager(TomcatAuthModule.class);
 
 
-public abstract String getAuthenticationType();
-
-
 protected boolean isMandatory(MessageInfo messageInfo) {
 String mandatory = (String) 
messageInfo.getMap().get(MessageInfoImpl.IS_MANDATORY);
 return Boolean.parseBoolean(mandatory);



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1687700 - in /tomcat/trunk/java/org/apache/catalina/authenticator/jaspic: ./ provider/ provider/modules/

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 07:46:48 2015
New Revision: 1687700

URL: http://svn.apache.org/r1687700
Log:
Remove realm name and authentication type from security messages, this 
information is set up per module now
Patch by fjodorver

Modified:

tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/JaspicAuthenticator.java

tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/MessageInfoImpl.java

tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/TomcatAuthConfig.java

tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/TomcatServerAuthContext.java

tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/BasicAuthModule.java

tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/DigestAuthModule.java

tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/TomcatAuthModule.java

Modified: 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/JaspicAuthenticator.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/JaspicAuthenticator.java?rev=1687700&r1=1687699&r2=1687700&view=diff
==
--- 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/JaspicAuthenticator.java
 (original)
+++ 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/JaspicAuthenticator.java
 Fri Jun 26 07:46:48 2015
@@ -68,8 +68,7 @@ public class JaspicAuthenticator extends
 return true;
 }
 
-MessageInfoImpl messageInfo = new MessageInfoImpl(request, response, 
true, getAuthMethod());
-messageInfo.setRealmName(getRealmName(context));
+MessageInfoImpl messageInfo = new MessageInfoImpl(request, response, 
true);
 
 AuthConfigFactory factory = AuthConfigFactory.getFactory();
 String appContext = getAppContextId(request);

Modified: 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/MessageInfoImpl.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/MessageInfoImpl.java?rev=1687700&r1=1687699&r2=1687700&view=diff
==
--- 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/MessageInfoImpl.java 
(original)
+++ 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/MessageInfoImpl.java 
Fri Jun 26 07:46:48 2015
@@ -27,8 +27,6 @@ import org.apache.catalina.connector.Req
 
 public class MessageInfoImpl implements MessageInfo {
 public static final String IS_MANDATORY = 
"javax.security.auth.message.MessagePolicy.isMandatory";
-public static final String AUTH_METHOD = "javax.servlet.http.authType";
-public static final String REALM_NAME = "javax.servlet.http.realmName";
 
 private final Map map = new HashMap<>();
 private HttpServletRequest request;
@@ -37,16 +35,10 @@ public class MessageInfoImpl implements
 public MessageInfoImpl() {
 }
 
-public MessageInfoImpl(Request request, HttpServletResponse response, 
boolean authMandatory,
-String authMethod) {
+public MessageInfoImpl(Request request, HttpServletResponse response, 
boolean authMandatory) {
 this.request = request;
 this.response = response;
 map.put(IS_MANDATORY, Boolean.toString(authMandatory));
-map.put(AUTH_METHOD, authMethod);
-}
-
-public void setRealmName(String realmName) {
-map.put(REALM_NAME, realmName);
 }
 
 @Override

Modified: 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/TomcatAuthConfig.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/TomcatAuthConfig.java?rev=1687700&r1=1687699&r2=1687700&view=diff
==
--- 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/TomcatAuthConfig.java
 (original)
+++ 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/TomcatAuthConfig.java
 Fri Jun 26 07:46:48 2015
@@ -16,6 +16,7 @@
  */
 package org.apache.catalina.authenticator.jaspic.provider;
 
+import java.util.HashMap;
 import java.util.Map;
 
 import javax.security.auth.Subject;
@@ -88,12 +89,20 @@ public class TomcatAuthConfig implements
 public synchronized ServerAuthContext getAuthContext(String authContextID,
 Subject serviceSubject, Map properties) throws AuthException {
 if (this.tomcatServerAuthContext == null) {
-this.tomcatServerAuthContext = new 
TomcatServerAuthContext(handler, getModule());
+this.tomcatServerAuthContext = new 
TomcatServerAuthContext(handler, getModule(),
+getOptions());
 }
 return tomcatServerAuthContext;
 }
 
 
+private Map getOptions() {
+Map options = new HashMap<>();
+options.put(Tomca

buildbot success in ASF Buildbot on tomcat-trunk

2015-06-26 Thread buildbot
The Buildbot has detected a restored build on builder tomcat-trunk while 
building ASF Buildbot. Full details are available at:
http://ci.apache.org/builders/tomcat-trunk/builds/1466

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: silvanus_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-commit' 
triggered this build
Build Source Stamp: [branch tomcat/trunk] 1687691
Blamelist: markt

Build succeeded!

Sincerely,
 -The Buildbot




-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1687701 - in /tomcat/trunk/java/org/apache/catalina: Realm.java realm/LocalStrings.properties realm/RealmBase.java

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 07:48:29 2015
New Revision: 1687701

URL: http://svn.apache.org/r1687701
Log:
Added ability to get roles directly from realm
Patch by fjodorver

Modified:
tomcat/trunk/java/org/apache/catalina/Realm.java
tomcat/trunk/java/org/apache/catalina/realm/LocalStrings.properties
tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java

Modified: tomcat/trunk/java/org/apache/catalina/Realm.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/Realm.java?rev=1687701&r1=1687700&r2=1687701&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/Realm.java (original)
+++ tomcat/trunk/java/org/apache/catalina/Realm.java Fri Jun 26 07:48:29 2015
@@ -208,4 +208,12 @@ public interface Realm {
  * @param listener The listener to remove
  */
 public void removePropertyChangeListener(PropertyChangeListener listener);
+
+
+/**
+ * Return roles associated with given principal
+ * @param principal
+ * @return principal roles
+ */
+public String[] getRoles(Principal principal);
 }

Modified: tomcat/trunk/java/org/apache/catalina/realm/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/LocalStrings.properties?rev=1687701&r1=1687700&r2=1687701&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/realm/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/catalina/realm/LocalStrings.properties Fri Jun 
26 07:48:29 2015
@@ -72,6 +72,7 @@ realmBase.createUsernameRetriever.ClassN
 realmBase.createUsernameRetriever.InstantiationException=Cannot create object 
of type {0}.
 realmBase.createUsernameRetriever.IllegalAccessException=Cannot create object 
of type {0}.
 realmBase.credentialHandler.customCredentialHandler=Unable to set the property 
[{0}] to value [{1}] as a custom CredentialHandler has been configured
+realmBase.cannotGetRoles=Cannot get roles from principal [{0}]
 userDatabaseRealm.lookup=Exception looking up UserDatabase under key {0}
 userDatabaseRealm.noDatabase=No UserDatabase component found under key {0}
 dataSourceRealm.authenticateFailure=Username {0} NOT successfully authenticated

Modified: tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java?rev=1687701&r1=1687700&r2=1687701&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java (original)
+++ tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java Fri Jun 26 
07:48:29 2015
@@ -1715,4 +1715,15 @@ public abstract class RealmBase extends
 throw new 
LifecycleException(sm.getString("realmBase.createUsernameRetriever.ClassCastException",
 className), e);
 }
 }
+
+
+@Override
+public String[] getRoles(Principal principal) {
+if (principal instanceof GenericPrincipal) {
+return ((GenericPrincipal) principal).getRoles();
+}
+
+String className = principal.getClass().getSimpleName();
+throw new 
IllegalStateException(sm.getString("realmBase.cannotGetRoles", className));
+}
 }



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1687703 - /tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/DigestAuthModule.java

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 07:50:24 2015
New Revision: 1687703

URL: http://svn.apache.org/r1687703
Log:
Get roles without casting in DIGEST auth module
Patch by fjodorver

Modified:

tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/DigestAuthModule.java

Modified: 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/DigestAuthModule.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/DigestAuthModule.java?rev=1687703&r1=1687702&r2=1687703&view=diff
==
--- 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/DigestAuthModule.java
 (original)
+++ 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/DigestAuthModule.java
 Fri Jun 26 07:50:24 2015
@@ -38,7 +38,6 @@ import javax.servlet.http.HttpServletReq
 import javax.servlet.http.HttpServletResponse;
 
 import org.apache.catalina.Realm;
-import org.apache.catalina.realm.GenericPrincipal;
 import org.apache.catalina.util.StandardSessionIdGenerator;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
@@ -232,7 +231,7 @@ public class DigestAuthModule extends To
 public AuthStatus validateRequest(MessageInfo messageInfo, Subject 
clientSubject,
 Subject serviceSubject) throws AuthException {
 
-GenericPrincipal principal = null;
+Principal principal = null;
 HttpServletRequest request = (HttpServletRequest) 
messageInfo.getRequestMessage();
 HttpServletResponse response = (HttpServletResponse) 
messageInfo.getResponseMessage();
 String authorization = request.getHeader(AUTHORIZATION_HEADER);
@@ -252,8 +251,7 @@ public class DigestAuthModule extends To
 }
 
 if (digestInfo.validate(request)) {
-// TODO discuss a better way to get user roles
-principal = (GenericPrincipal) digestInfo.authenticate(realm);
+principal = digestInfo.authenticate(realm);
 }
 
 if (principal == null || digestInfo.isNonceStale()) {
@@ -266,8 +264,8 @@ public class DigestAuthModule extends To
 try {
 CallerPrincipalCallback principalCallback = new 
CallerPrincipalCallback(clientSubject,
 principal);
-GroupPrincipalCallback groupCallback = new 
GroupPrincipalCallback(clientSubject,
-principal.getRoles());
+String[] roles = realm.getRoles(principal);
+GroupPrincipalCallback groupCallback = new 
GroupPrincipalCallback(clientSubject, roles);
 handler.handle(new Callback[] { principalCallback, groupCallback 
});
 } catch (IOException | UnsupportedCallbackException e) {
 throw new AuthException(e.getMessage());



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1687706 - in /tomcat/trunk/java/org/apache/catalina/authenticator/jaspic: ./ provider/ provider/modules/

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 07:56:50 2015
New Revision: 1687706

URL: http://svn.apache.org/r1687706
Log:
Some javadoc's for JASPIC implementation
Patch by fjodorver

Modified:

tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/JaspicCallbackHandler.java

tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/PrincipalGroupCallback.java

tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/TomcatAuthConfigProvider.java

tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/BasicAuthModule.java

tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/TomcatAuthModule.java

Modified: 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/JaspicCallbackHandler.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/JaspicCallbackHandler.java?rev=1687706&r1=1687705&r2=1687706&view=diff
==
--- 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/JaspicCallbackHandler.java
 (original)
+++ 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/JaspicCallbackHandler.java
 Fri Jun 26 07:56:50 2015
@@ -31,7 +31,9 @@ import org.apache.catalina.Realm;
 import org.apache.tomcat.util.res.StringManager;
 
 /**
- * Callback handler which converts callbacks to realm.
+ * Callback handler which uses callbacks to construct JAAS Subject, which
+ * contains {@link org.apache.catalina.realm.GenericPrincipal} in private
+ * credentials.
  */
 public class JaspicCallbackHandler implements CallbackHandler {
 protected static final StringManager sm = 
StringManager.getManager(JaspicCallbackHandler.class);

Modified: 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/PrincipalGroupCallback.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/PrincipalGroupCallback.java?rev=1687706&r1=1687705&r2=1687706&view=diff
==
--- 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/PrincipalGroupCallback.java
 (original)
+++ 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/PrincipalGroupCallback.java
 Fri Jun 26 07:56:50 2015
@@ -28,7 +28,7 @@ import javax.security.auth.message.callb
 import org.apache.catalina.realm.GenericPrincipal;
 
 /**
- * This class merges two principal callbacks into one tomcat's
+ * This class uses callbacks to construct JAAS Subject with
  * {@link GenericPrincipal}.
  */
 public class PrincipalGroupCallback {
@@ -44,6 +44,10 @@ public class PrincipalGroupCallback {
 this.groupPrincipalCallback = groupPrincipalCallback;
 }
 
+
+/**
+ * Enrich JAAS subject with Tomcat's {@link GenericPrincipal}.
+ */
 public void configureSubject() {
 GenericPrincipal principal = getPrincipal();
 if (principal == null) {
@@ -66,7 +70,8 @@ public class PrincipalGroupCallback {
 }
 
 /**
- * Get tomcat's principal, which contains user principal and roles
+ * Get tomcat's principal, which contains user principal and roles.
+ *
  * @return {@link GenericPrincipal}
  */
 public GenericPrincipal getPrincipal() {

Modified: 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/TomcatAuthConfigProvider.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/TomcatAuthConfigProvider.java?rev=1687706&r1=1687705&r2=1687706&view=diff
==
--- 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/TomcatAuthConfigProvider.java
 (original)
+++ 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/TomcatAuthConfigProvider.java
 Fri Jun 26 07:56:50 2015
@@ -29,6 +29,10 @@ import org.apache.catalina.Context;
 import org.apache.catalina.Realm;
 import org.apache.tomcat.util.descriptor.web.LoginConfig;
 
+/**
+ * Tomcat's context based JASPIC authentication provider. It returns 
authentication
+ * modules depending on context login-config setup.
+ */
 public class TomcatAuthConfigProvider implements AuthConfigProvider {
 
 private Map providerProperties;

Modified: 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/BasicAuthModule.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/BasicAuthModule.java?rev=1687706&r1=1687705&r2=1687706&view=diff
==
--- 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/BasicAuthModule.java
 (original)
+++ 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/BasicAuthModule.java
 Fri Jun 26 07:56:50 2015
@@ -40,6 +40,9 @@ import org.apache.tomcat.util.buf.ByteCh
 import org.apache.tomcat.u

svn commit: r1687710 - in /tomcat/trunk: java/org/apache/catalina/authenticator/jaspic/provider/modules/DigestAuthModule.java test/org/apache/catalina/authenticator/TestJaspicDigestAuthenticator.java

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 08:07:37 2015
New Revision: 1687710

URL: http://svn.apache.org/r1687710
Log:
Ported test to validate JASPIC DIGEST implementation 
Patch by fjodorver

Added:

tomcat/trunk/test/org/apache/catalina/authenticator/TestJaspicDigestAuthenticator.java
   (with props)
Modified:

tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/DigestAuthModule.java

Modified: 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/DigestAuthModule.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/DigestAuthModule.java?rev=1687710&r1=1687709&r2=1687710&view=diff
==
--- 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/DigestAuthModule.java
 (original)
+++ 
tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/DigestAuthModule.java
 Fri Jun 26 08:07:37 2015
@@ -238,18 +238,13 @@ public class DigestAuthModule extends To
 
 DigestInfo digestInfo = new DigestInfo(getOpaque(), 
getNonceValidity(), getKey(), nonces,
 isValidateUri(), getRealmName());
-if (authorization == null) {
 
+if (authorization == null || !digestInfo.parse(request, 
authorization)) {
 String nonce = generateNonce(request);
-
 String authenticateHeader = getAuthenticateHeader(nonce, false);
 return sendUnauthorizedError(response, authenticateHeader);
 }
 
-if (!digestInfo.parse(request, authorization)) {
-return AuthStatus.SEND_FAILURE;
-}
-
 if (digestInfo.validate(request)) {
 principal = digestInfo.authenticate(realm);
 }

Added: 
tomcat/trunk/test/org/apache/catalina/authenticator/TestJaspicDigestAuthenticator.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/authenticator/TestJaspicDigestAuthenticator.java?rev=1687710&view=auto
==
--- 
tomcat/trunk/test/org/apache/catalina/authenticator/TestJaspicDigestAuthenticator.java
 (added)
+++ 
tomcat/trunk/test/org/apache/catalina/authenticator/TestJaspicDigestAuthenticator.java
 Fri Jun 26 08:07:37 2015
@@ -0,0 +1,410 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.catalina.authenticator;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.security.auth.message.config.AuthConfigFactory;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Assert;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import org.apache.catalina.Context;
+import org.apache.catalina.LifecycleException;
+import org.apache.catalina.authenticator.jaspic.JaspicAuthenticator;
+import 
org.apache.catalina.authenticator.jaspic.provider.TomcatAuthConfigProvider;
+import org.apache.catalina.connector.Request;
+import org.apache.catalina.core.TesterContext;
+import org.apache.catalina.startup.TesterMapRealm;
+import org.apache.catalina.startup.TesterServlet;
+import org.apache.catalina.startup.Tomcat;
+import org.apache.catalina.startup.TomcatBaseTest;
+import org.apache.tomcat.util.buf.ByteChunk;
+import org.apache.tomcat.util.descriptor.web.LoginConfig;
+import org.apache.tomcat.util.descriptor.web.SecurityCollection;
+import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
+import org.apache.tomcat.util.security.ConcurrentMessageDigest;
+import org.apache.tomcat.util.security.MD5Encoder;
+
+public class TestJaspicDigestAuthenticator extends TomcatBaseTest {
+
+private static String USER = "user";
+private static String PWD = "pwd";
+private static String ROLE = "role";
+private static String URI = "/protected";
+private static String QUERY = "?foo=bar";
+private static String CONTEXT_PATH = "/foo";
+private static String CLIENT_AUTH_HEADER = "authorization";
+private static String REALM = "TestRealm";
+private static String C

Re: JASPIC Implementation pointers

2015-06-26 Thread Mark Thomas
On 25/06/2015 20:50, Fjodor Vershinin wrote:
> Hi!
> Fresh set of patches is ready.
> What has been done:
> 1) Added engine name  to getVirtualServerName()
> 2) Implemented method for getting roles directly from Realm,
> 3) Authentication provider uses LoginConfig now, which gives us ability to
> get different options directly from there.
> 4) Added test for validating DIGEST auth module, however one test case is
> ignored, because not implemented yet.
> 5) Updated some javadocs to make them more specific and clear.

All looks good and patches applied. I added a few comments to some of
the patches.

Thanks,

Mark


> 
> BR,
> Fjodor
> 
> 2015-06-23 23:18 GMT+03:00 Mark Thomas :
> 
>> On 23/06/2015 16:50, Fjodor Vershinin wrote:
>>> Hi there!
>>>
>>>
 You still need to address the issue of a unique name for the JASPIC app
 context.
>>>
>>> I see your point. However, tomcat's implementation of uniqueness is
>> against
>>> JASPIC 1.1 specification. We must somehow document this feature.
>>
>> I'm reading that part of the spec now.
>>
>> Currently Tomcat returns the name of the host object (not necessarily
>> the DNS host name) for ServletContext.getVirtualServerName(). Reading
>> the Servlet spec more carefully, we can change that to
>> engine-name/host-name and still be specification compliant. That would
>> address the uniqueness issue for JASPIC as well as being a better
>> implementation for getVirtualServerName().
>>
> 1) I have prepared mechanism for registration embedded JASPIC modules
> 2) Callback handler is singleton now
> 3) Implemented JAAS Subject's support (it turned out, that it is
 mandatory).
> 4) BASIC and DIGEST authenticators has been ported to JASPIC
> I think these modules need to be carefully refactored though, then I
>> will
> prepare some tests.

 Why do you think these modules need to be refactored? Given the security
 nature of this code and that what you have currently is largely copied
 directly from the existing implementations, I'd be wary of making any
 changes without a good reason for doing so.
>>>
>>> Yes, we must be very careful with security implementations. However, I
>>> would decouple JASPIC code from authentication algorithms and put them
>> into
>>> separate classes.
>>
>> I'm on the fence on this. I don't see it as a priority unless it is
>> blocking something else. I'd file this under "come back to it if there
>> is time at the end".
>>
 5) Fixed some bugs in implementation, such as lack of session caching
> 6) Currently, I am working on some javadoc's, but I'll commit them
>> later.

 Remember, little and often is better than a few larger code dumps. The
 recent commits have been fine but I would prefer to see 1 or 2 commits a
 day rather than a batch of 10+ commits once a week.
>>>
>>>
>>> I agree, however I was intensively using rebase and squashing for commit
>>> rewriting in order to get "feature per commit". I think it depends on
>>> architectural tasks - currently we have architectural stuff done, so next
>>> commits will require less rewriting.
>>
>> We don't have to merge into Tomcat until you are ready but it would be
>> nice to see how the work is developing.
>>
 1) I need some convenient way to get user roles from Realm. I assume,
>> that
> every Principal is GenericPrincipal, but I guess that's not right.

 What for? The best way to handle this depends on why/where that
 information is needed.
>>>
>>>
>>> I need this info in order to construct GenericPrincipal using callbacks.
>>> Currently, Realm is returning GenericPrincipal, however, implementation
>> is
>>> hidden behind Principal interface. I need to do casting to get
>>> GenericPrincipal object, because Principal doesn't have getRoles()
>> method.
>>
>> I suspect that was the case. Casting is going to be fragile for users
>> with custom realm implementation. I think what is required is a new
>> method on Realm:
>>
>> String[] getRoles(Principal)
>>
>> For the current realms this should be a trivial implementation in
>> RealmBase:
>> - cast to GenericPrincipal
>> - return getRoles()
>>
>>
> 2) We need find a easy way for configuring embedded JASPIC modules. For
> example, form authentication requires login page and error page. I
>> think
> that these parameters can be passed to JASPIC provider directly, but
>> I'm
> not sure.

 Currently the ContextConfig registers a new TomcatAuthConfigProvider for
 each web application.

 The TomcatAuthConfigProvider creates (lazily) a TomcatAuthConfig.

 The TomcatAuthConfig creates (lazily) TomcatServerAuthContext with all
 available modules.

 The TomcatAuthConfig then looks up the authentication type obtained from
 the request and maps it to the right module.

 Initialising all the modules when - typically - only one is required
 looks wrong to me. I'd expect the ContextConfig to specify (p

svn commit: r1687714 - /tomcat/trunk/TOMCAT-NEXT.txt

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 08:40:04 2015
New Revision: 1687714

URL: http://svn.apache.org/r1687714
Log:
Update

Modified:
tomcat/trunk/TOMCAT-NEXT.txt

Modified: tomcat/trunk/TOMCAT-NEXT.txt
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/TOMCAT-NEXT.txt?rev=1687714&r1=1687713&r2=1687714&view=diff
==
--- tomcat/trunk/TOMCAT-NEXT.txt (original)
+++ tomcat/trunk/TOMCAT-NEXT.txt Fri Jun 26 08:40:04 2015
@@ -17,7 +17,7 @@
 
 Notes of things to consider for the next major Tomcat release (9.0.x)
 
- 1. Fix Java 8 Javadoc warnings. Currently ~2800.
+ 1. Fix Java 8 Javadoc warnings. Currently ~2650.
 
  2. DONE.
 Remove BIO AJP and HTTP connector.
@@ -25,7 +25,8 @@ Notes of things to consider for the next
  3. DONE.
 Remove Comet support.
 
- 4. Refactor the connectors to minimise code duplication.
+ 4. DONE.
+Refactor the connectors to minimise code duplication.
 - All implementation specific per connector code -> Endpoint
 - All implementation specific per connection code -> SocketWrapper
 



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1687715 - in /tomcat/tc7.0.x/trunk: java/org/apache/catalina/valves/SSLValve.java webapps/docs/changelog.xml webapps/docs/config/valve.xml

2015-06-26 Thread remm
Author: remm
Date: Fri Jun 26 08:45:09 2015
New Revision: 1687715

URL: http://svn.apache.org/r1687715
Log:
Port r1607309 and followups to add header configuration for the SSLValve.

Modified:
tomcat/tc7.0.x/trunk/java/org/apache/catalina/valves/SSLValve.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
tomcat/tc7.0.x/trunk/webapps/docs/config/valve.xml

Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/valves/SSLValve.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/valves/SSLValve.java?rev=1687715&r1=1687714&r2=1687715&view=diff
==
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/valves/SSLValve.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/valves/SSLValve.java Fri Jun 
26 08:45:09 2015
@@ -64,6 +64,10 @@ public class SSLValve extends ValveBase
 
 private static final Log log = LogFactory.getLog(SSLValve.class);
 
+private String sslClientCertHeader = "ssl_client_cert";
+private String sslCipherHeader = "ssl_cipher";
+private String sslSessionIdHeader = "ssl_session_id";
+private String sslCipherUserKeySizeHeader = "ssl_cipher_usekeysize";
 
 //-- Constructor
 public SSLValve() {
@@ -71,6 +75,38 @@ public class SSLValve extends ValveBase
 }
 
 
+public String getSslClientCertHeader() {
+return sslClientCertHeader;
+}
+
+public void setSslClientCertHeader(String sslClientCertHeader) {
+this.sslClientCertHeader = sslClientCertHeader;
+}
+
+public String getSslCipherHeader() {
+return sslCipherHeader;
+}
+
+public void setSslCipherHeader(String sslCipherHeader) {
+this.sslCipherHeader = sslCipherHeader;
+}
+
+public String getSslSessionIdHeader() {
+return sslSessionIdHeader;
+}
+
+public void setSslSessionIdHeader(String sslSessionIdHeader) {
+this.sslSessionIdHeader = sslSessionIdHeader;
+}
+
+public String getSslCipherUserKeySizeHeader() {
+return sslCipherUserKeySizeHeader;
+}
+
+public void setSslCipherUserKeySizeHeader(String 
sslCipherUserKeySizeHeader) {
+this.sslCipherUserKeySizeHeader = sslCipherUserKeySizeHeader;
+}
+
 
 public String mygetHeader(Request request, String header) {
 String strcert0 = request.getHeader(header);
@@ -88,7 +124,7 @@ public class SSLValve extends ValveBase
 throws IOException, ServletException {
 
 /* mod_header converts the '\n' into ' ' so we have to rebuild the 
client certificate */
-String strcert0 = mygetHeader(request, "ssl_client_cert");
+String strcert0 = mygetHeader(request, sslClientCertHeader);
 if (strcert0 != null && strcert0.length()>28) {
 String strcert1 = strcert0.replace(' ', '\n');
 String strcert2 = strcert1.substring(28, strcert1.length()-26);
@@ -119,16 +155,16 @@ public class SSLValve extends ValveBase
 }
 request.setAttribute(Globals.CERTIFICATES_ATTR, jsseCerts);
 }
-strcert0 = mygetHeader(request, "ssl_cipher");
+strcert0 = mygetHeader(request, sslCipherHeader);
 if (strcert0 != null) {
 request.setAttribute(Globals.CIPHER_SUITE_ATTR, strcert0);
 }
-strcert0 = mygetHeader(request, "ssl_session_id");
+strcert0 = mygetHeader(request, sslSessionIdHeader);
 if (strcert0 != null) {
 request.setAttribute(Globals.SSL_SESSION_ID_ATTR, strcert0);
 request.setAttribute(Globals.SSL_SESSION_ID_TOMCAT_ATTR, strcert0);
 }
-strcert0 = mygetHeader(request, "ssl_cipher_usekeysize");
+strcert0 = mygetHeader(request, sslCipherUserKeySizeHeader);
 if (strcert0 != null) {
 request.setAttribute(Globals.KEY_SIZE_ATTR,
 Integer.valueOf(strcert0));

Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1687715&r1=1687714&r2=1687715&view=diff
==
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Fri Jun 26 08:45:09 2015
@@ -107,6 +107,9 @@
 57700: Ensure that Container event
 ADD_CHILD_EVENT will be sent in all cases. (violetagg)
   
+  
+Add configuration fields for header names in SSLValve. (remm)
+  
 
   
   

Modified: tomcat/tc7.0.x/trunk/webapps/docs/config/valve.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/config/valve.xml?rev=1687715&r1=1687714&r2=1687715&view=diff
==
--- tomcat/tc7.0.x/trunk/webapps/docs/config/valve.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/co

svn commit: r1687719 - /tomcat/trunk/test/org/apache/coyote/http2/TestHttp2Section_6_5.java

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 08:54:08 2015
New Revision: 1687719

URL: http://svn.apache.org/r1687719
Log:
Add unit tests for settings frames.

Added:
tomcat/trunk/test/org/apache/coyote/http2/TestHttp2Section_6_5.java   (with 
props)

Added: tomcat/trunk/test/org/apache/coyote/http2/TestHttp2Section_6_5.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/coyote/http2/TestHttp2Section_6_5.java?rev=1687719&view=auto
==
--- tomcat/trunk/test/org/apache/coyote/http2/TestHttp2Section_6_5.java (added)
+++ tomcat/trunk/test/org/apache/coyote/http2/TestHttp2Section_6_5.java Fri Jun 
26 08:54:08 2015
@@ -0,0 +1,151 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.coyote.http2;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Unit tests for Section 6.4 of
+ * https://tools.ietf.org/html/rfc7540";>RFC 7540.
+ * 
+ * The order of tests in this class is aligned with the order of the
+ * requirements in the RFC.
+ */
+public class TestHttp2Section_6_5 extends Http2TestBase {
+
+
+@Test
+public void testSettingsFrameNonEmptAck() throws Exception {
+// HTTP2 upgrade
+http2Connect();
+
+sendSettings(0, true, new Setting(1,1));
+
+// Go away
+parser.readFrame(true);
+
+Assert.assertTrue(output.getTrace(), output.getTrace().startsWith(
+"0-Goaway-[1]-[" + Http2Error.FRAME_SIZE_ERROR.getCode() + 
"]-["));
+}
+
+
+@Test
+public void testSettingsFrameNonZeroStream() throws Exception {
+// HTTP2 upgrade
+http2Connect();
+
+sendPriority(3, 0, 15);
+sendSettings(3, true, new Setting(1,1));
+
+// Go away
+parser.readFrame(true);
+
+Assert.assertTrue(output.getTrace(), output.getTrace().startsWith(
+"0-Goaway-[1]-[" + Http2Error.PROTOCOL_ERROR.getCode() + 
"]-["));
+}
+
+
+@Test
+public void testSettingsFrameWrongLength() throws Exception {
+// HTTP2 upgrade
+http2Connect();
+
+byte[] resetFrame = new byte[10];
+// length
+ByteUtil.setThreeBytes(resetFrame, 0, 1);
+// type
+resetFrame[3] = FrameType.SETTINGS.getIdByte();
+// No flags
+// Stream ID 0
+
+// Payload - left as zero
+
+os.write(resetFrame);
+os.flush();
+
+// Read GOAWAY frame
+parser.readFrame(true);
+
+Assert.assertTrue(output.getTrace(), output.getTrace().startsWith(
+"0-Goaway-[1]-[" + Http2Error.FRAME_SIZE_ERROR.getCode() + 
"]-["));
+}
+
+
+// Need to test sending push promise when push promise suport is disabled
+
+@Test
+public void testSettingsFrameInvalidPushSetting() throws Exception {
+// HTTP2 upgrade
+http2Connect();
+
+sendSettings(0, false, new Setting(0x2,0x2));
+
+// Go away
+parser.readFrame(true);
+
+Assert.assertTrue(output.getTrace(), output.getTrace().startsWith(
+"0-Goaway-[1]-[" + Http2Error.PROTOCOL_ERROR.getCode() + 
"]-["));
+}
+
+
+@Test
+public void testSettingsFrameInvalidWindowSizeSetting() throws Exception {
+// HTTP2 upgrade
+http2Connect();
+
+sendSettings(0, false, new Setting(0x4,1 << 31));
+
+// Go away
+parser.readFrame(true);
+
+Assert.assertTrue(output.getTrace(), output.getTrace().startsWith(
+"0-Goaway-[1]-[" + Http2Error.FLOW_CONTROL_ERROR.getCode() + 
"]-["));
+}
+
+
+@Test
+public void testSettingsFrameInvalidMaxFrameSizeSetting() throws Exception 
{
+// HTTP2 upgrade
+http2Connect();
+
+sendSettings(0, false, new Setting(0x5,1 << 31));
+
+// Go away
+parser.readFrame(true);
+
+Assert.assertTrue(output.getTrace(), output.getTrace().startsWith(
+"0-Goaway-[1]-[" + Http2Error.PROTOCOL_ERROR.getCode() + 
"]-["));
+}
+
+
+@Test
+public void testSettingsUnknownSetting() throws Exception {
+// HTTP2 upgrade
+http2Connect();
+
+sendSettings(0, false, new Setting(0xFF,0xFF

svn commit: r1687720 - in /tomcat/trunk: java/org/apache/coyote/http2/ test/org/apache/coyote/http2/

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 09:17:57 2015
New Revision: 1687720

URL: http://svn.apache.org/r1687720
Log:
Add unit tests for HTTP/2 Ping frames
Expose the payload for ping ack frames as well as non-ack

Added:
tomcat/trunk/test/org/apache/coyote/http2/TestHttp2Section_6_7.java   (with 
props)
Modified:
tomcat/trunk/java/org/apache/coyote/http2/Http2Parser.java
tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java
tomcat/trunk/test/org/apache/coyote/http2/Http2TestBase.java
tomcat/trunk/test/org/apache/coyote/http2/TestHttp2Section_5_5.java
tomcat/trunk/test/org/apache/coyote/http2/TestHttp2Section_6_5.java

Modified: tomcat/trunk/java/org/apache/coyote/http2/Http2Parser.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Http2Parser.java?rev=1687720&r1=1687719&r2=1687720&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/http2/Http2Parser.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Http2Parser.java Fri Jun 26 
09:17:57 2015
@@ -313,14 +313,10 @@ class Http2Parser {
 
 
 private void readPingFrame(int flags) throws IOException {
-if (Flags.isAck(flags)) {
-output.pingAck();
-} else {
-// Read the payload
-byte[] payload = new byte[8];
-input.fill(true, payload);
-output.pingReceive(payload);
-}
+// Read the payload
+byte[] payload = new byte[8];
+input.fill(true, payload);
+output.pingReceive(payload, Flags.isAck(flags));
 }
 
 
@@ -600,8 +596,7 @@ class Http2Parser {
 void settingsEnd(boolean ack) throws IOException;
 
 // Ping frames
-void pingReceive(byte[] payload) throws IOException;
-void pingAck();
+void pingReceive(byte[] payload, boolean ack) throws IOException;
 
 // Goaway
 void goaway(int lastStreamId, long errorCode, String debugData);

Modified: tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java?rev=1687720&r1=1687719&r2=1687720&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java Fri Jun 
26 09:17:57 2015
@@ -903,22 +903,18 @@ public class Http2UpgradeHandler extends
 
 
 @Override
-public void pingReceive(byte[] payload) throws IOException {
-// Echo it back
-synchronized (socketWrapper) {
-socketWrapper.write(true, PING_ACK, 0, PING_ACK.length);
-socketWrapper.write(true, payload, 0, payload.length);
-socketWrapper.flush(true);
+public void pingReceive(byte[] payload, boolean ack) throws IOException {
+if (!ack) {
+// Echo it back
+synchronized (socketWrapper) {
+socketWrapper.write(true, PING_ACK, 0, PING_ACK.length);
+socketWrapper.write(true, payload, 0, payload.length);
+socketWrapper.flush(true);
+}
 }
 }
 
 
-@Override
-public void pingAck() {
-// TODO Auto-generated method stub
-}
-
-
 @Override
 public void goaway(int lastStreamId, long errorCode, String debugData) {
 if (log.isDebugEnabled()) {

Modified: tomcat/trunk/test/org/apache/coyote/http2/Http2TestBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/coyote/http2/Http2TestBase.java?rev=1687720&r1=1687719&r2=1687720&view=diff
==
--- tomcat/trunk/test/org/apache/coyote/http2/Http2TestBase.java (original)
+++ tomcat/trunk/test/org/apache/coyote/http2/Http2TestBase.java Fri Jun 26 
09:17:57 2015
@@ -57,10 +57,6 @@ public abstract class Http2TestBase exte
 { 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00 };
 static final String EMPTY_HTTP2_SETTINGS_HEADER;
 
-private static final byte[] PING_FRAME = new byte[] {
-0x00, 0x00, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
-0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
-
 static {
 byte[] empty = new byte[0];
 EMPTY_HTTP2_SETTINGS_HEADER = "HTTP2-Settings: " + 
Base64.encodeBase64String(empty) + "\r\n";
@@ -488,7 +484,24 @@ public abstract class Http2TestBase exte
 
 
 void sendPing() throws IOException {
-os.write(PING_FRAME);
+sendPing(0, false, new byte[8]);
+}
+
+
+void sendPing(int streamId, boolean ack, byte[] payload) throws 
IOException {
+byte[] pingHeader = new byte[9];
+// length
+ByteUtil.setThreeBytes(pingHeader, 0, payload.length);
+// Type
+pingHeader[3] = FrameType.PING.getIdByte();
+// Flags
+ 

buildbot failure in ASF Buildbot on tomcat-trunk

2015-06-26 Thread buildbot
The Buildbot has detected a new failure on builder tomcat-trunk while building 
ASF Buildbot. Full details are available at:
http://ci.apache.org/builders/tomcat-trunk/builds/1472

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: silvanus_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-commit' 
triggered this build
Build Source Stamp: [branch tomcat/trunk] 1687720
Blamelist: markt

BUILD FAILED: failed compile_1

Sincerely,
 -The Buildbot




-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1687741 - /tomcat/trunk/test/org/apache/catalina/core/TestAsyncContextImpl.java

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 10:35:53 2015
New Revision: 1687741

URL: http://svn.apache.org/r1687741
Log:
Increase timeout in an attempt to reduce false failures in the CI systems

Modified:
tomcat/trunk/test/org/apache/catalina/core/TestAsyncContextImpl.java

Modified: tomcat/trunk/test/org/apache/catalina/core/TestAsyncContextImpl.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/core/TestAsyncContextImpl.java?rev=1687741&r1=1687740&r2=1687741&view=diff
==
--- tomcat/trunk/test/org/apache/catalina/core/TestAsyncContextImpl.java 
(original)
+++ tomcat/trunk/test/org/apache/catalina/core/TestAsyncContextImpl.java Fri 
Jun 26 10:35:53 2015
@@ -65,7 +65,7 @@ public class TestAsyncContextImpl extend
 // Timeout thread (where used) checks for timeout every second
 private static final long TIMEOUT_MARGIN = 1000;
 // Default timeout for these tests
-private static final long TIMEOUT = 3000;
+private static final long TIMEOUT = 5000;
 
 private static StringBuilder tracker;
 



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



buildbot exception in ASF Buildbot on tomcat-trunk

2015-06-26 Thread buildbot
The Buildbot has detected a build exception on builder tomcat-trunk while 
building ASF Buildbot. Full details are available at:
http://ci.apache.org/builders/tomcat-trunk/builds/1473

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: silvanus_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-commit' 
triggered this build
Build Source Stamp: [branch tomcat/trunk] 1687741
Blamelist: markt

BUILD FAILED: exception upload_2

Sincerely,
 -The Buildbot




-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1687748 - /tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 10:53:42 2015
New Revision: 1687748

URL: http://svn.apache.org/r1687748
Log:
OpenSSL added ciphers 0x00A8 and 0x00A9

Modified:
tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java?rev=1687748&r1=1687747&r2=1687748&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java Fri 
Jun 26 10:53:42 2015
@@ -1808,8 +1808,38 @@ public enum Cipher {
 256,
 256
 ),
+// Cipher A8
+TLS_PSK_WITH_AES_128_GCM_SHA256(
+0x00A8,
+"PSK-AES128-GCM-SHA256",
+KeyExchange.PSK,
+Authentication.PSK,
+Encryption.AES128GCM,
+MessageDigest.AEAD,
+Protocol.TLSv1_2,
+false,
+EncryptionLevel.HIGH,
+true,
+128,
+128
+),
+// Cipher A9
+TLS_PSK_WITH_AES_256_GCM_SHA384(
+0x00A9,
+"PSK-AES128-GCM-SHA384",
+KeyExchange.PSK,
+Authentication.PSK,
+Encryption.AES256GCM,
+MessageDigest.AEAD,
+Protocol.TLSv1_2,
+false,
+EncryptionLevel.HIGH,
+true,
+256,
+256
+),
 
-/* PSK ciphers 0x00A8 to 0x00B9
+/* PSK ciphers 0x00AA to 0x00B9
  * Unsupported by both Java and OpenSSL
  */
 



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1687750 - /tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 11:03:45 2015
New Revision: 1687750

URL: http://svn.apache.org/r1687750
Log:
Fix Gump. The IBM JRE does not implement this new cipher

Modified:
tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java

Modified: 
tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java?rev=1687750&r1=1687749&r2=1687750&view=diff
==
--- tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java 
(original)
+++ tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java 
Fri Jun 26 11:03:45 2015
@@ -605,6 +605,7 @@ public class TestCipher {
 "IDEA-CBC-SHA+SSLv3",
 "PSK-3DES-EDE-CBC-SHA+SSLv3",
 "PSK-AES128-CBC-SHA+SSLv3",
+"PSK-AES128-GCM-SHA256+TLSv1.2",
 "PSK-AES256-CBC-SHA+SSLv3",
 "PSK-RC4-SHA+SSLv3",
 "RC2-CBC-MD5+SSLv2",



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1687751 - /tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 11:05:08 2015
New Revision: 1687751

URL: http://svn.apache.org/r1687751
Log:
Fix Gump. The IBM JRE does not implement this new cipher

Modified:
tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java

Modified: 
tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java?rev=1687751&r1=1687750&r2=1687751&view=diff
==
--- tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java 
(original)
+++ tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java 
Fri Jun 26 11:05:08 2015
@@ -607,6 +607,7 @@ public class TestCipher {
 "PSK-AES128-CBC-SHA+SSLv3",
 "PSK-AES128-GCM-SHA256+TLSv1.2",
 "PSK-AES256-CBC-SHA+SSLv3",
+"PSK-AES256-GCM-SHA384+TLSv1.2",
 "PSK-RC4-SHA+SSLv3",
 "RC2-CBC-MD5+SSLv2",
 "RC4-MD5+SSLv2",



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



buildbot success in ASF Buildbot on tomcat-trunk

2015-06-26 Thread buildbot
The Buildbot has detected a restored build on builder tomcat-trunk while 
building ASF Buildbot. Full details are available at:
http://ci.apache.org/builders/tomcat-trunk/builds/1474

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: silvanus_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-commit' 
triggered this build
Build Source Stamp: [branch tomcat/trunk] 1687748
Blamelist: markt

Build succeeded!

Sincerely,
 -The Buildbot




-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1687752 - /tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 11:12:35 2015
New Revision: 1687752

URL: http://svn.apache.org/r1687752
Log:
Fix Gump. The Oracle JRE does not implement these new ciphers either

Modified:
tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java

Modified: 
tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java?rev=1687752&r1=1687751&r2=1687752&view=diff
==
--- tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java 
(original)
+++ tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java 
Fri Jun 26 11:12:35 2015
@@ -404,6 +404,8 @@ public class TestCipher {
 "EXP-RC2-CBC-MD5+SSLv2",
 "EXP-RC4-MD5+SSLv2",
 "IDEA-CBC-MD5+SSLv2",
+"PSK-AES128-GCM-SHA256+TLSv1.2",
+"PSK-AES256-GCM-SHA384+TLSv1.2",
 "RC2-CBC-MD5+SSLv2",
 "RC4-MD5+SSLv2")));
 



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



buildbot exception in ASF Buildbot on tomcat-trunk

2015-06-26 Thread buildbot
The Buildbot has detected a build exception on builder tomcat-trunk while 
building ASF Buildbot. Full details are available at:
http://ci.apache.org/builders/tomcat-trunk/builds/1476

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: silvanus_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-commit' 
triggered this build
Build Source Stamp: [branch tomcat/trunk] 1687752
Blamelist: markt

BUILD FAILED: exception svn upload_2

Sincerely,
 -The Buildbot




-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1687757 - /tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 11:22:27 2015
New Revision: 1687757

URL: http://svn.apache.org/r1687757
Log:
Correct OpenSSL name

Modified:
tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java?rev=1687757&r1=1687756&r2=1687757&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java Fri 
Jun 26 11:22:27 2015
@@ -1826,7 +1826,7 @@ public enum Cipher {
 // Cipher A9
 TLS_PSK_WITH_AES_256_GCM_SHA384(
 0x00A9,
-"PSK-AES128-GCM-SHA384",
+"PSK-AES256-GCM-SHA384",
 KeyExchange.PSK,
 Authentication.PSK,
 Encryption.AES256GCM,



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1687758 - /tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 11:22:46 2015
New Revision: 1687758

URL: http://svn.apache.org/r1687758
Log:
Oracle does know about these

Modified:
tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java

Modified: 
tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java?rev=1687758&r1=1687757&r2=1687758&view=diff
==
--- tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java 
(original)
+++ tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java 
Fri Jun 26 11:22:46 2015
@@ -404,8 +404,6 @@ public class TestCipher {
 "EXP-RC2-CBC-MD5+SSLv2",
 "EXP-RC4-MD5+SSLv2",
 "IDEA-CBC-MD5+SSLv2",
-"PSK-AES128-GCM-SHA256+TLSv1.2",
-"PSK-AES256-GCM-SHA384+TLSv1.2",
 "RC2-CBC-MD5+SSLv2",
 "RC4-MD5+SSLv2")));
 



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



buildbot success in ASF Buildbot on tomcat-trunk

2015-06-26 Thread buildbot
The Buildbot has detected a restored build on builder tomcat-trunk while 
building ASF Buildbot. Full details are available at:
http://ci.apache.org/builders/tomcat-trunk/builds/1477

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: silvanus_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-commit' 
triggered this build
Build Source Stamp: [branch tomcat/trunk] 1687758
Blamelist: markt

Build succeeded!

Sincerely,
 -The Buildbot




-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1687770 - in /tomcat/tc8.0.x/trunk: java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java test/org/apache/tomcat/util/net/j

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 12:54:56 2015
New Revision: 1687770

URL: http://svn.apache.org/r1687770
Log:
Update Ciphers to:
- add IDs
- correct strength bits
- comment on missing Ciphers
- add new Ciphers

Update unit tests to account for above changes

Modified:

tomcat/tc8.0.x/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java

tomcat/tc8.0.x/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java

tomcat/tc8.0.x/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TesterOpenSSL.java

Modified: 
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java?rev=1687770&r1=1687769&r2=1687770&view=diff
==
--- 
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java 
(original)
+++ 
tomcat/tc8.0.x/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java 
Fri Jun 26 12:54:56 2015
@@ -19,12 +19,16 @@ package org.apache.tomcat.util.net.jsse.
 
 import java.util.Arrays;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.HashSet;
+import java.util.Map;
 import java.util.Set;
 
 /**
  * All the standard cipher suites for SSL/TSL.
  *
+ * @see https://github.com/openssl/openssl/blob/master/ssl/s3_lib.c";
+ *  >OpenSSL cipher definitions
  * @see http://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-4";
  *  >The cipher suite registry
  * @see https://www.thesprawl.org/research/tls-and-ssl-cipher-suites/";
@@ -33,11 +37,23 @@ import java.util.Set;
  *  >Oracle standard names for cipher suites
  * @see https://www.openssl.org/docs/apps/ciphers.html";
  *  >Mapping of OpenSSL cipher suites names to registry names
+ * @see https://github.com/ssllabs/sslhaf/blob/0.1.x/suites.csv";
+ *  >SSL Labs tool - list of ciphers
+ * @see http://hg.openjdk.java.net/jdk9/jdk9/jdk/file/e30cd0d37abf/src/java.base/share/classes/sun/security/ssl/CipherSuite.java";
+ *  >OpenJDK source code
  */
 public enum Cipher {
+
+/* Cipher 0
+ * TLS_NULL_WITH_NULL_NULL
+ * Must never be negotiated. Used internally to represent the initial
+ * unprotected state of a connection.
+ */
+
 /* The RSA ciphers */
 // Cipher 01
 TLS_RSA_WITH_NULL_MD5(
+0x0001,
 "NULL-MD5",
 KeyExchange.RSA,
 Authentication.RSA,
@@ -53,6 +69,7 @@ public enum Cipher {
 ),
 // Cipher 02
 TLS_RSA_WITH_NULL_SHA(
+0x0002,
 "NULL-SHA",
 KeyExchange.RSA,
 Authentication.RSA,
@@ -68,6 +85,7 @@ public enum Cipher {
 ),
 // Cipher 03
 TLS_RSA_EXPORT_WITH_RC4_40_MD5(
+0x0003,
 "EXP-RC4-MD5",
 KeyExchange.RSA,
 Authentication.RSA,
@@ -83,6 +101,7 @@ public enum Cipher {
 ),
 // Cipher 04
 TLS_RSA_WITH_RC4_128_MD5(
+0x0004,
 "RC4-MD5",
 KeyExchange.RSA,
 Authentication.RSA,
@@ -98,6 +117,7 @@ public enum Cipher {
 ),
 // Cipher 05
 TLS_RSA_WITH_RC4_128_SHA(
+0x0005,
 "RC4-SHA",
 KeyExchange.RSA,
 Authentication.RSA,
@@ -113,6 +133,7 @@ public enum Cipher {
 ),
 // Cipher 06
 TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5(
+0x0006,
 "EXP-RC2-CBC-MD5",
 KeyExchange.RSA,
 Authentication.RSA,
@@ -128,6 +149,7 @@ public enum Cipher {
 ),
 // Cipher 07
 TLS_RSA_WITH_IDEA_CBC_SHA(
+0x0007,
 "IDEA-CBC-SHA",
 KeyExchange.RSA,
 Authentication.RSA,
@@ -143,6 +165,7 @@ public enum Cipher {
 ),
 // Cipher 08
 TLS_RSA_EXPORT_WITH_DES40_CBC_SHA(
+0x0008,
 "EXP-DES-CBC-SHA",
 KeyExchange.RSA,
 Authentication.RSA,
@@ -158,6 +181,7 @@ public enum Cipher {
 ),
 // Cipher 09
 TLS_RSA_WITH_DES_CBC_SHA(
+0x0009,
 "DES-CBC-SHA",
 KeyExchange.RSA,
 Authentication.RSA,
@@ -173,6 +197,7 @@ public enum Cipher {
 ),
 // Cipher 0A
 TLS_RSA_WITH_3DES_EDE_CBC_SHA(
+0x000A,
 "DES-CBC3-SHA",
 KeyExchange.RSA,
 Authentication.RSA,
@@ -182,13 +207,14 @@ public enum Cipher {
 false,
 EncryptionLevel.HIGH,
 true,
-168,
+112,
 168,
 "SSL_RSA_WITH_3DES_EDE_CBC_SHA"
 ),
 /* The DH ciphers */
 // Cipher 0B
 TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA(
+0x000B,
 "EXP-DH-DSS-DES-CBC-SHA",
 KeyExchange.DHd,
 Authentication.DH,
@@ -204,6 +230,7 @@ public enum Cipher {
 ),
 // Cipher 0C
 TLS_DH_DSS_WITH_DES_CBC_SHA(
+0x000C,
  

svn commit: r1687781 - /tomcat/native/trunk/native/src/ssl.c

2015-06-26 Thread jfclere
Author: jfclere
Date: Fri Jun 26 14:53:21 2015
New Revision: 1687781

URL: http://svn.apache.org/r1687781
Log:
Fix a warning.

Modified:
tomcat/native/trunk/native/src/ssl.c

Modified: tomcat/native/trunk/native/src/ssl.c
URL: 
http://svn.apache.org/viewvc/tomcat/native/trunk/native/src/ssl.c?rev=1687781&r1=1687780&r2=1687781&view=diff
==
--- tomcat/native/trunk/native/src/ssl.c (original)
+++ tomcat/native/trunk/native/src/ssl.c Fri Jun 26 14:53:21 2015
@@ -1149,7 +1149,7 @@ TCN_IMPLEMENT_CALL(jlong /* SSL * */, SS
 }
 if ((con = apr_pcalloc(c->pool, sizeof(tcn_ssl_conn_t))) == NULL) {
 tcn_ThrowAPRException(e, apr_get_os_error());
-return NULL;
+return 0;
 }
 con->pool = c->pool;
 con->ctx  = c;



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1687824 - /tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 17:46:45 2015
New Revision: 1687824

URL: http://svn.apache.org/r1687824
Log:
Remove unnecessary code

Modified:
tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java

Modified: tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java?rev=1687824&r1=1687823&r2=1687824&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java Fri Jun 
26 17:46:45 2015
@@ -268,7 +268,6 @@ public class Http2UpgradeHandler extends
 log.debug(sm.getString("upgradeHandler.ioerror", 
connectionId), ioe);
 }
 close();
-result = SocketState.CLOSED;
 break;
 }
 
@@ -283,7 +282,6 @@ public class Http2UpgradeHandler extends
 log.debug(sm.getString("upgradeHandler.ioerror", 
connectionId), ioe);
 }
 close();
-result = SocketState.CLOSED;
 break;
 }
 
@@ -305,7 +303,6 @@ public class Http2UpgradeHandler extends
 // For all of the above, including the unexpected values, close the
 // connection.
 close();
-result = SocketState.CLOSED;
 break;
 }
 



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1687833 - /tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 18:41:49 2015
New Revision: 1687833

URL: http://svn.apache.org/r1687833
Log:
Correct the description. This is the Poller, not the Acceptor.

Modified:
tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=1687833&r1=1687832&r2=1687833&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Fri Jun 26 
18:41:49 2015
@@ -789,9 +789,11 @@ public class NioEndpoint extends Abstrac
 }
 return ka;
 }
+
 /**
- * The background thread that listens for incoming TCP/IP connections 
and
- * hands them off to an appropriate processor.
+ * The background thread that adds sockets to the Poller, checks the
+ * poller for triggered events and hands the associated socket off to 
an
+ * appropriate processor as events occur.
  */
 @Override
 public void run() {



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1687834 - /tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 18:43:46 2015
New Revision: 1687834

URL: http://svn.apache.org/r1687834
Log:
Pausing the endpoint should not pause the poller. The poller needs to continue 
to operate to enable async, non-blocking I/O and HTTP/2 connections to complete.

Modified:
tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=1687834&r1=1687833&r2=1687834&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Fri Jun 26 
18:43:46 2015
@@ -799,14 +799,6 @@ public class NioEndpoint extends Abstrac
 public void run() {
 // Loop until destroy() is called
 while (true) {
-// Loop if endpoint is paused
-while (paused && (!close) ) {
-try {
-Thread.sleep(100);
-} catch (InterruptedException e) {
-// Ignore
-}
-}
 
 boolean hasEvents = false;
 



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1687835 - /tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 18:44:33 2015
New Revision: 1687835

URL: http://svn.apache.org/r1687835
Log:
Correct the description. This is the Poller, not the Acceptor.

Modified:
tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1687835&r1=1687834&r2=1687835&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Fri Jun 26 
18:44:33 2015
@@ -1607,8 +1607,9 @@ public class AprEndpoint extends Abstrac
 }
 
 /**
- * The background thread that listens for incoming TCP/IP connections
- * and hands them off to an appropriate processor.
+ * The background thread that adds sockets to the Poller, checks the
+ * poller for triggered events and hands the associated socket off to 
an
+ * appropriate processor as events occur.
  */
 @Override
 public void run() {



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1687836 - /tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 18:45:04 2015
New Revision: 1687836

URL: http://svn.apache.org/r1687836
Log:
Pausing the endpoint should not pause the poller. The poller needs to continue 
to operate to enable async, non-blocking I/O and HTTP/2 connections to complete.

Modified:
tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1687836&r1=1687835&r2=1687836&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Fri Jun 26 
18:45:04 2015
@@ -1620,14 +1620,6 @@ public class AprEndpoint extends Abstrac
 // Loop until we receive a shutdown command
 while (pollerRunning) {
 
-// Loop if endpoint is paused
-while (pollerRunning && paused) {
-try {
-Thread.sleep(1000);
-} catch (InterruptedException e) {
-// Ignore
-}
-}
 // Check timeouts if the poller is empty.
 while (pollerRunning && connectionCount.get() < 1 &&
 addList.size() < 1 && closeList.size() < 1) {



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1687839 - /tomcat/trunk/test/org/apache/coyote/http2/Http2TestBase.java

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 19:07:09 2015
New Revision: 1687839

URL: http://svn.apache.org/r1687839
Log:
Add utility method to help with testing goaway frames

Modified:
tomcat/trunk/test/org/apache/coyote/http2/Http2TestBase.java

Modified: tomcat/trunk/test/org/apache/coyote/http2/Http2TestBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/coyote/http2/Http2TestBase.java?rev=1687839&r1=1687838&r2=1687839&view=diff
==
--- tomcat/trunk/test/org/apache/coyote/http2/Http2TestBase.java (original)
+++ tomcat/trunk/test/org/apache/coyote/http2/Http2TestBase.java Fri Jun 26 
19:07:09 2015
@@ -506,6 +506,30 @@ public abstract class Http2TestBase exte
 }
 
 
+void sendGoaway(int streamId, int lastStreamId, long errorCode, byte[] 
debug)
+throws IOException {
+byte[] goawayFrame = new byte[17];
+int len = 8;
+if (debug != null) {
+len += debug.length;
+}
+ByteUtil.setThreeBytes(goawayFrame, 0, len);
+// Type
+goawayFrame[3] = FrameType.GOAWAY.getIdByte();
+// No flags
+// Stream
+ByteUtil.set31Bits(goawayFrame, 5, streamId);
+// Last stream
+ByteUtil.set31Bits(goawayFrame, 9, lastStreamId);
+ByteUtil.setFourBytes(goawayFrame, 13, errorCode);
+os.write(goawayFrame);
+if (debug != null && debug.length > 0) {
+os.write(debug);
+}
+os.flush();
+}
+
+
 void sendWindowUpdate(int streamId, int increment) throws IOException {
 byte[] updateFrame = new byte[13];
 // length is always 4



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1687840 - in /tomcat/trunk: java/org/apache/coyote/ java/org/apache/coyote/ajp/ java/org/apache/coyote/http11/ java/org/apache/coyote/http11/upgrade/ java/org/apache/coyote/http2/ java/or

2015-06-26 Thread markt
Author: markt
Date: Fri Jun 26 19:17:16 2015
New Revision: 1687840

URL: http://svn.apache.org/r1687840
Log:
Expose the calling of pause() on the endpoint to the HTTP/2 upgrade processor 
so it can stop accepting additional streams.
This commit is just the plumbing to make this possible. The implementation that 
prevents new streams from being accepted will follow in a subsequent commit.

Modified:
tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java
tomcat/trunk/java/org/apache/coyote/Processor.java
tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java

tomcat/trunk/java/org/apache/coyote/http11/upgrade/InternalHttpUpgradeHandler.java

tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorExternal.java

tomcat/trunk/java/org/apache/coyote/http11/upgrade/UpgradeProcessorInternal.java
tomcat/trunk/java/org/apache/coyote/http2/Http2UpgradeHandler.java
tomcat/trunk/java/org/apache/coyote/http2/LocalStrings.properties
tomcat/trunk/java/org/apache/coyote/http2/StreamProcessor.java
tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java
tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java
tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java

tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java

tomcat/trunk/test/org/apache/coyote/http11/upgrade/TestUpgradeInternalHandler.java

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java?rev=1687840&r1=1687839&r2=1687840&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java Fri Jun 26 
19:17:16 2015
@@ -945,6 +945,22 @@ public abstract class AbstractProtocol

Modified: tomcat/trunk/java/org/apache/coyote/Processor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/Processor.java?rev=1687840&r1=1687839&r2=1687840&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/Processor.java Fri Jun 26 19:17:16 2015
@@ -76,4 +76,12 @@ public interface Processor {
  * @return leftover bytes
  */
 ByteBuffer getLeftoverInput();
+
+/**
+ * Informs the processor that the underlying I/O layer has stopped 
accepting
+ * new connections. This is primarily intended to enable processors that
+ * use multiplexed connections to prevent further 'streams' being added to
+ * an existing multiplexed connection.
+ */
+void pause();
 }

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java?rev=1687840&r1=1687839&r2=1687840&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Fri Jun 26 
19:17:16 2015
@@ -888,6 +888,12 @@ public class AjpProcessor extends Abstra
 }
 
 
+@Override
+public void pause() {
+// NOOP for AJP
+}
+
+
 // -- Protected Methods
 
 // Methods used by SocketInputBuffer

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java?rev=1687840&r1=1687839&r2=1687840&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Fri Jun 26 
19:17:16 2015
@@ -1887,4 +1887,10 @@ public class Http11Processor extends Abs
 return inputBuffer.getLeftover();
 }
 
+
+@Override
+public void pause() {
+// NOOP for HTTP
+}
+
 }

Modified: 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/InternalHttpUpgradeHandler.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/InternalHttpUpgradeHandler.java?rev=1687840&r1=1687839&r2=1687840&view=diff
==
--- 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/InternalHttpUpgradeHandler.java
 (original)
+++ 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/InternalHttpUpgradeHandler.java
 Fri Jun 26 19:17:16 2015
@@ -35,4 +35,6 @@ public interface InternalHttpUpgradeHand
 void setSocketWrapper(SocketWrapperBase wrapper);
 
 void 

buildbot exception in ASF Buildbot on tomcat-trunk

2015-06-26 Thread buildbot
The Buildbot has detected a build exception on builder tomcat-trunk while 
building ASF Buildbot. Full details are available at:
http://ci.apache.org/builders/tomcat-trunk/builds/1481

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: silvanus_ubuntu

Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-commit' 
triggered this build
Build Source Stamp: [branch tomcat/trunk] 1687840
Blamelist: markt

BUILD FAILED: exception upload_2

Sincerely,
 -The Buildbot




-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Tomcat Wiki] Update of "FAQ/Memory" by KonstantinKolinko

2015-06-26 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Tomcat Wiki" for change 
notification.

The "FAQ/Memory" page has been changed by KonstantinKolinko:
https://wiki.apache.org/tomcat/FAQ/Memory?action=diff&rev1=12&rev2=13

Comment:
Remove comment about memory leak during JSP recompliation. Tomcat 4.1 docs said 
to set fork="true" in Jasper due to leaks in Sun's javac. 
http://tomcat.apache.org/tomcat-4.1-doc/jasper-howto.html

   * [[http://marc.info/?t=10451996172&r=1&w=2|Tracking memory usage over 
time]]
  
  Also look at [[http://www.yourkit.com/|YourKit]], or maybe you IDE has a 
profiling tool in it, or other profiling tools are available. (The following 
tools were recommended by many people in the past, but now seem to be 
discontinued by their vendors: JProbe by Quest Software — the company was 
[[http://software.dell.com/acquisitions/quest-software.aspx|acquired by Dell]], 
!OptimizeIt by Borland). This is not an endorsement for them, I just notice 
other people like them.
- 
- === JSP Recompilation ===
- If your application uses JSPs which are frequently recompiled at runtime, 
e.g. headers that change value hourly, please make sure to read the JSP HOW-TO 
page and RELEASE NOTES documents. You may wish to tune the JSP compiler 
configuration to prevent memory leaks. Of course, these are documents you 
should have read by now anyways..
  
  == Questions ==
   1. [[#Q1|How do I adjust memory settings?]]

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Tomcat Wiki] Update of "FAQ/Memory" by KonstantinKolinko

2015-06-26 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Tomcat Wiki" for change 
notification.

The "FAQ/Memory" page has been changed by KonstantinKolinko:
https://wiki.apache.org/tomcat/FAQ/Memory?action=diff&rev1=13&rev2=14

Comment:
Recommend using CATALINA_OPTS. Using JAVA_OPTS to set memory settings is a bad 
idea.

  == Answers ==
  <>'''How do I adjust memory settings?'''
  
- First look at {{{java -X}}} to determine what parameters to set. Then you can 
set them via the environment variable {{{JAVA_OPTS}}}. Read the files 
catalina.bat or catalina.sh for more information on JAVA_OPTS.
+ First look at {{{java -X}}} to determine what parameters to set. Then you can 
set them via the environment variable {{{CATALINA_OPTS}}} (using `JAVA_OPTS` 
also works, but is not recommended). This variable is usually set in a file 
`bin/setenv.sh` or `bin/setenv.bat` that you may need to create by yourselves.
+ 
+ The `setenv` file is documented in RUNNING.txt in your version of Tomcat. The 
environment variables are described in a comment at the top of catalina.bat or 
catalina.sh files.
  
  <>'''Why do I get {{{OutOfMemoryError}}} errors?'''
  
@@ -54, +56 @@

   * That being said, a memory profiling tool might prove the above statements 
wrong - but you probably don't want to use them in a production environment.
  
  
- [[CategoryFAQ|CategoryFAQ]]
+ [[CategoryFAQ]]
  

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org