Re: mod_jk, JSESSION_ID and load-balancing

2013-06-28 Thread Henri Gomez
Thanks for testing Henri. From my point of view it should be good for
production and I guess 1.2.38 is not to far away.

+1

I'll do some more tests using ab/gatling to see how it works under load.


 And now you can have your own personal HENRICOOKIE ;)


Rhooo :)

Thanks Rainer, great works !


[Bug 55031] Update MANIFEST.MF for OSGi headers

2013-06-28 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=55031

--- Comment #1 from Violeta Georgieva violet...@apache.org ---
Hi,

In the patch you specify in the Export-Package header:

org.apache.tomcat.jdbc.pool.interceptor;uses:=org.apache.tomcat.jdbc.pool,org.apache.juli.logging,javax.management.openmbean,org.apache.tomcat.jdbc.pool.jmx,javax.management;version=@VERSION@

I cannot find any of the classes in package
org.apache.tomcat.jdbc.pool.interceptor to use package
org.apache.tomcat.jdbc.pool.jmx.

Can you please check that?
Against which sources did you run bnd tool? I'm checking tomcat 7 trunk.

Regards
Violeta

-- 
You are receiving this mail because:
You are the assignee for the bug.

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



svn commit: r1497670 - /tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java

2013-06-28 Thread markt
Author: markt
Date: Fri Jun 28 07:35:49 2013
New Revision: 1497670

URL: http://svn.apache.org/r1497670
Log:
WebSocket 1.0, section 8.2
There is an implied restriction that any initial upgrade request must use HTTP 
GET.

Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java?rev=1497670r1=1497669r2=1497670view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java Fri Jun 
28 07:35:49 2013
@@ -77,9 +77,13 @@ public class WsFilter implements Filter 
 !(response instanceof HttpServletResponse) ||
 !headerContainsToken((HttpServletRequest) request,
 Constants.UPGRADE_HEADER_NAME,
-Constants.UPGRADE_HEADER_VALUE)) {
+Constants.UPGRADE_HEADER_VALUE) ||
+!GET.equals(((HttpServletRequest) request).getMethod())) {
 // Not an HTTP request that includes a valid upgrade request to
 // web socket
+// Note: RFC 2616 does not limit HTTP upgrade to GET requests but
+//   the the Java WebSocket spec 1.0, section 8.2 implies such 
a
+//   limitation
 chain.doFilter(request, response);
 return;
 }



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



Re: Tomcat 7.0.41 JNDIRealm revision 1491394

2013-06-28 Thread Brian Burch

On 27/06/13 21:03, Mark Thomas wrote:

On 27/06/2013 19:23, Brian Burch wrote:


So will you deal with it from now on, or would you like me to open
bugs on tc7 and tc8?


Fixed. It would be good if you could confirm the fix is correct.


I checked out the tc7 trunk. The source of JNDIRealm was exactly as I 
expected to fix the bug. I replaced my patched catalina.jar with the 
differently-sized version built from the trunk.


I confirm that authentication of SHA hashed passwords from an LDAP 
directory is working again.


Brian


Mark


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




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



[Bug 55031] Update MANIFEST.MF for OSGi headers

2013-06-28 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=55031

--- Comment #2 from Martin Lichtin lich...@yahoo.com ---
I took the 7.0.40 sources artifact, as far as I can remember.

However, when getting the sources from trunk and using the Felix bundle plugin,
the same import/export headers are generated.

I don't understand why Bnd (http://www.aqute.biz/Bnd/Bnd) thinks 
the interceptor package is using classes from jmx, but then again, 
I have never questioned Bnd's outcome either, because the creation 
of import/export headers is normally done under the hood.

Please feel free to remove org.apache.tomcat.jdbc.pool.jmx from the 
uses: clause of org.apache.tomcat.jdbc.pool.interceptor.

The rest, as far as I can see, is adequate.

-- 
You are receiving this mail because:
You are the assignee for the bug.

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



WebSocket: to flip or not the ByteBuffer during sendBinary in RemoteEndpoint(s)

2013-06-28 Thread Niki Dokovski
Hi folks,
while playing around with tyrus and tomcat implementation of websocket I
spotted a difference in the way sendBinary is actually implemented. In
short: tyrus uses bytebuffer.array(), hence there is no change in buffer's
position while we end with channel write operation that does this. Neither
the spec nor the javadoc detail that but the result is that one application
can run perfectly on one of the implementations and could cause problem on
the other. Shall we contact the EG for clarification on this matter?
Opinions?

cheers
niki


svn commit: r1497741 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/core/AsyncContextImpl.java test/org/apache/catalina/core/TestAsyncContextImpl.java webapps/docs/changelog.xml

2013-06-28 Thread violetagg
Author: violetagg
Date: Fri Jun 28 12:01:42 2013
New Revision: 1497741

URL: http://svn.apache.org/r1497741
Log:
Merged revision 1497474 from tomcat/trunk:
When calculating the path in AsyncContext.dispatch(), methods 
ServletRequest.getRequestURI and ServletRequest.getContextPath cannot be used. 
That's because the first one returns a string that is not decoded and not 
normalized, but the second one returns decoded string. Instead of this methods 
ServletRequest.getServletPath and ServletRequest.getPathInfo will be used as 
requestURI = contextPath + servletPath + pathInfo.

Modified:
tomcat/tc7.0.x/trunk/   (props changed)
tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/AsyncContextImpl.java
tomcat/tc7.0.x/trunk/test/org/apache/catalina/core/TestAsyncContextImpl.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc7.0.x/trunk/
--
  Merged /tomcat/trunk:r1497474

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/AsyncContextImpl.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/AsyncContextImpl.java?rev=1497741r1=1497740r2=1497741view=diff
==
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/AsyncContextImpl.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/AsyncContextImpl.java 
Fri Jun 28 12:01:42 2013
@@ -169,17 +169,19 @@ public class AsyncContextImpl implements
 public void dispatch() {
 check();
 String path;
-String cpath;
+String pathInfo;
 ServletRequest servletRequest = getRequest();
 if (servletRequest instanceof HttpServletRequest) {
 HttpServletRequest sr = (HttpServletRequest) servletRequest;
-path = sr.getRequestURI();
-cpath = sr.getContextPath();
+path = sr.getServletPath();
+pathInfo = sr.getPathInfo();
 } else {
-path = request.getRequestURI();
-cpath = request.getContextPath();
+path = request.getServletPath();
+pathInfo = request.getPathInfo();
+}
+if (pathInfo != null) {
+path += pathInfo;
 }
-if (cpath.length()1) path = path.substring(cpath.length());
 dispatch(path);
 }
 

Modified: 
tomcat/tc7.0.x/trunk/test/org/apache/catalina/core/TestAsyncContextImpl.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/catalina/core/TestAsyncContextImpl.java?rev=1497741r1=1497740r2=1497741view=diff
==
--- 
tomcat/tc7.0.x/trunk/test/org/apache/catalina/core/TestAsyncContextImpl.java 
(original)
+++ 
tomcat/tc7.0.x/trunk/test/org/apache/catalina/core/TestAsyncContextImpl.java 
Fri Jun 28 12:01:42 2013
@@ -1809,42 +1809,18 @@ public class TestAsyncContextImpl extend
 
 @Test
 public void testDispatchWithCustomRequestResponse() throws Exception {
-// Setup Tomcat instance
-Tomcat tomcat = getTomcatInstance();
-
-// Must have a real docBase - just use temp
-File docBase = new File(System.getProperty(java.io.tmpdir));
-
-Context ctx = tomcat.addContext(, docBase.getAbsolutePath());
-
-DispatchingGenericServlet dispatch = new DispatchingGenericServlet();
-Wrapper wrapper = Tomcat.addServlet(ctx, dispatch, dispatch);
-wrapper.setAsyncSupported(true);
-ctx.addServletMapping(/dispatch, dispatch);
-
-CustomGenericServlet customGeneric = new CustomGenericServlet();
-Wrapper wrapper2 = Tomcat.addServlet(ctx, customGeneric,
-customGeneric);
-wrapper2.setAsyncSupported(true);
-ctx.addServletMapping(/target, customGeneric);
-
-tomcat.start();
-
-ByteChunk res = getUrl(http://localhost:; + getPort()
-+ /dispatch?crr=y);
+prepareApplicationWithGenericServlet();
 
 StringBuilder expected = new StringBuilder();
 expected.append(OK);
 expected.append(CustomGenericServletGet-);
-assertEquals(expected.toString(), res.toString());
-
-res = getUrl(http://localhost:; + getPort()
-+ /dispatch?crr=yempty=y);
+requestApplicationWithGenericServlet(/dispatch?crr=y, expected);
 
 expected = new StringBuilder();
 expected.append(OK);
 expected.append(DispatchingGenericServletGet-);
-assertEquals(expected.toString(), res.toString());
+requestApplicationWithGenericServlet(/dispatch?crr=yempty=y,
+expected);
 }
 
 private static class CustomGenericServlet extends GenericServlet {
@@ -1861,4 +1837,75 @@ public class TestAsyncContextImpl extend
 }
 
 }
+
+@Test
+public void testEmptyDispatch() throws Exception {
+

Re: WebSocket: to flip or not the ByteBuffer during sendBinary in RemoteEndpoint(s)

2013-06-28 Thread Mark Thomas
On 28/06/2013 12:47, Niki Dokovski wrote:
 Hi folks,
 while playing around with tyrus and tomcat implementation of websocket I
 spotted a difference in the way sendBinary is actually implemented. In
 short: tyrus uses bytebuffer.array(), hence there is no change in buffer's
 position while we end with channel write operation that does this. Neither
 the spec nor the javadoc detail that but the result is that one application
 can run perfectly on one of the implementations and could cause problem on
 the other. Shall we contact the EG for clarification on this matter?

No need. The EG has already stated its view (well, the EG lead did and
no-one disagreed)

quote
Since the spec does not say anything about re-using ByteBuffers and they
are mutable objects, I would expect the conventional developer practice
to be to use a new one each time.
/quote

 Opinions?

I agree with the EG lead. Client's should not be making any assumptions
about what the implementation will or won't do with a ByteBuffer.

If you want to argue for a specific behaviour, open an issue against the
spec.

Mark


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



svn commit: r1497754 - /tomcat/trunk/modules/jdbc-pool/resources/MANIFEST.MF

2013-06-28 Thread violetagg
Author: violetagg
Date: Fri Jun 28 12:54:52 2013
New Revision: 1497754

URL: http://svn.apache.org/r1497754
Log:
Fixed Export-Package header and the uses directives. 
Import org.apache.juli.logging package with no version so that any version of a 
bundle that provides it can be used.

Modified:
tomcat/trunk/modules/jdbc-pool/resources/MANIFEST.MF

Modified: tomcat/trunk/modules/jdbc-pool/resources/MANIFEST.MF
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/resources/MANIFEST.MF?rev=1497754r1=1497753r2=1497754view=diff
==
--- tomcat/trunk/modules/jdbc-pool/resources/MANIFEST.MF (original)
+++ tomcat/trunk/modules/jdbc-pool/resources/MANIFEST.MF Fri Jun 28 12:54:52 
2013
@@ -1,12 +1,13 @@
 Manifest-Version: 1.0
-Export-Package: 
-  org.apache.tomcat.jdbc.pool;version=@VERSION@;
-  uses:=javax.management,javax.naming,javax.naming.spi,javax.sql,
-  org.apache.tomcat.jdbc.pool.jmx,
-  org.apache.tomcat.jdbc.pool.interceptor;version=@VERSION@;
-  uses:=javax.management.openmbean,org.apache.tomcat.jdbc.pool,
-  org.apache.tomcat.jdbc.pool.jmx;version=@VERSION@;
-  uses:=javax.management,org.apache.tomcat.jdbc.pool
+Export-Package: org.apache.tomcat.jdbc.naming;uses:=javax.naming,org.ap
+ ache.juli.logging,javax.naming.spi;version=@VERSION@,org.apache.tomc
+ at.jdbc.pool;uses:=org.apache.juli.logging,javax.sql,org.apache.tomcat
+ .jdbc.pool.jmx,javax.management,javax.naming,javax.naming.spi,org.apach
+ e.tomcat.jdbc.pool.interceptor;version=@VERSION@,org.apache.tomcat.j
+ dbc.pool.interceptor;uses:=org.apache.tomcat.jdbc.pool,org.apache.juli
+ .logging,javax.management.openmbean,javax.management;version=@VERSION@
+ ,org.apache.tomcat.jdbc.pool.jmx;uses:=org.apache.tomcat.jdbc.pool,or
+ g.apache.juli.logging,javax.management;version=@VERSION@
 Ant-Version: Apache Ant 1.7.0
 Bundle-Vendor: Apache Software Foundation
 Bundle-Version: @VERSION@
@@ -20,4 +21,4 @@ Import-Package: 
   javax.naming;version=0,
   javax.naming.spi;version=0,
   javax.sql;version=0,
-  org.apache.juli.logging;version=[6.0.18, 7.1.0)
+  org.apache.juli.logging;version=0



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



svn commit: r1497756 - in /tomcat/trunk/java/org/apache/tomcat/websocket: WsSession.java WsWebSocketContainer.java server/WsHttpUpgradeHandler.java

2013-06-28 Thread markt
Author: markt
Date: Fri Jun 28 12:55:21 2013
New Revision: 1497756

URL: http://svn.apache.org/r1497756
Log:
Add some plumbing to make the HTTP session ID available to the WeBSocket 
session. This will be required to implement WebSocket 1.0, section 7.2.

Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java
tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java

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

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java?rev=1497756r1=1497755r2=1497756view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java Fri Jun 28 
12:55:21 2013
@@ -69,6 +69,7 @@ public class WsSession implements Sessio
 private final String subProtocol;
 private final MapString,String pathParameters;
 private final boolean secure;
+private final String httpSessionId;
 private final String id;
 
 // Expected to handle message types of String only
@@ -100,8 +101,8 @@ public class WsSession implements Sessio
 WsRemoteEndpointImplBase wsRemoteEndpoint,
 WsWebSocketContainer wsWebSocketContainer,
 URI requestUri, MapString,ListString requestParameterMap,
-String queryString, Principal userPrincipal, String subProtocol,
-MapString,String pathParameters,
+String queryString, Principal userPrincipal, String httpSessionId,
+String subProtocol, MapString,String pathParameters,
 boolean secure, EndpointConfig endpointConfig)
 throws DeploymentException {
 this.localEndpoint = localEndpoint;
@@ -127,6 +128,7 @@ public class WsSession implements Sessio
 }
 this.queryString = queryString;
 this.userPrincipal = userPrincipal;
+this.httpSessionId = httpSessionId;
 if (subProtocol == null) {
 this.subProtocol = ;
 } else {
@@ -522,6 +524,11 @@ public class WsSession implements Sessio
 }
 
 
+protected String getHttpSessionId() {
+return httpSessionId;
+}
+
+
 protected MessageHandler getTextMessageHandler() {
 return textMessageHandler;
 }

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java?rev=1497756r1=1497755r2=1497756view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java Fri 
Jun 28 12:55:21 2013
@@ -330,7 +330,7 @@ public class WsWebSocketContainer
 
 
 WsSession wsSession = new WsSession(endpoint, wsRemoteEndpointClient,
-this, null, null, null, null, subProtocol,
+this, null, null, null, null, null, subProtocol,
 Collections.EMPTY_MAP, false,
 clientEndpointConfiguration);
 endpoint.onOpen(wsSession, clientEndpointConfiguration);

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java?rev=1497756r1=1497755r2=1497756view=diff
==
--- 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java 
(original)
+++ 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java 
Fri Jun 28 12:55:21 2013
@@ -24,6 +24,7 @@ import javax.servlet.ReadListener;
 import javax.servlet.ServletInputStream;
 import javax.servlet.ServletOutputStream;
 import javax.servlet.WriteListener;
+import javax.servlet.http.HttpSession;
 import javax.servlet.http.HttpUpgradeHandler;
 import javax.servlet.http.WebConnection;
 import javax.websocket.CloseReason;
@@ -99,6 +100,12 @@ public class WsHttpUpgradeHandler implem
 throw new IllegalStateException(e);
 }
 
+String httpSessionId = null;
+Object session = handshakeRequest.getHttpSession();
+if (session != null ) {
+httpSessionId = ((HttpSession) session).getId();
+}
+
 // Need to call onOpen using the web application's class loader
 // Create the frame using the application's class loader so it can pick
 // up application specific config from the ServerContainerImpl
@@ -112,8 +119,8 @@ public class WsHttpUpgradeHandler implem
 webSocketContainer, handshakeRequest.getRequestURI(),
 

Re: WebSocket: to flip or not the ByteBuffer during sendBinary in RemoteEndpoint(s)

2013-06-28 Thread Niki Dokovski
On Fri, Jun 28, 2013 at 3:44 PM, Mark Thomas ma...@apache.org wrote:

 On 28/06/2013 12:47, Niki Dokovski wrote:
  Hi folks,
  while playing around with tyrus and tomcat implementation of websocket I
  spotted a difference in the way sendBinary is actually implemented. In
  short: tyrus uses bytebuffer.array(), hence there is no change in
 buffer's
  position while we end with channel write operation that does this.
 Neither
  the spec nor the javadoc detail that but the result is that one
 application
  can run perfectly on one of the implementations and could cause problem
 on
  the other. Shall we contact the EG for clarification on this matter?

 No need. The EG has already stated its view (well, the EG lead did and
 no-one disagreed)

 quote
 Since the spec does not say anything about re-using ByteBuffers and they
 are mutable objects, I would expect the conventional developer practice
 to be to use a new one each time.
 /quote


Thanks for sharing. This is an assumption about what is conventional
developer practice :)


  Opinions?

 I agree with the EG lead. Client's should not be making any assumptions
 about what the implementation will or won't do with a ByteBuffer.

 If you want to argue for a specific behaviour, open an issue against the
 spec.

 I'll ask for a clarification and let's see. The effect is that because of
this we can lose portability.



 Mark


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




Re: WebSocket: to flip or not the ByteBuffer during sendBinary in RemoteEndpoint(s)

2013-06-28 Thread Niki Dokovski
On Fri, Jun 28, 2013 at 3:57 PM, Niki Dokovski nick...@gmail.com wrote:




 On Fri, Jun 28, 2013 at 3:44 PM, Mark Thomas ma...@apache.org wrote:

 On 28/06/2013 12:47, Niki Dokovski wrote:
  Hi folks,
  while playing around with tyrus and tomcat implementation of websocket I
  spotted a difference in the way sendBinary is actually implemented. In
  short: tyrus uses bytebuffer.array(), hence there is no change in
 buffer's
  position while we end with channel write operation that does this.
 Neither
  the spec nor the javadoc detail that but the result is that one
 application
  can run perfectly on one of the implementations and could cause problem
 on
  the other. Shall we contact the EG for clarification on this matter?

 No need. The EG has already stated its view (well, the EG lead did and
 no-one disagreed)

 quote
 Since the spec does not say anything about re-using ByteBuffers and they
 are mutable objects, I would expect the conventional developer practice
 to be to use a new one each time.
 /quote


 Thanks for sharing. This is an assumption about what is conventional
 developer practice :)


  Opinions?

 I agree with the EG lead. Client's should not be making any assumptions
 about what the implementation will or won't do with a ByteBuffer.

 If you want to argue for a specific behaviour, open an issue against the
 spec.

 I'll ask for a clarification and let's see. The effect is that because of
 this we can lose portability.

https://java.net/jira/browse/WEBSOCKET_SPEC-209




 Mark


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





svn commit: r1497763 - in /tomcat/trunk/java/org/apache/tomcat/websocket: WsSession.java WsWebSocketContainer.java server/WsHttpUpgradeHandler.java server/WsServerContainer.java

2013-06-28 Thread markt
Author: markt
Date: Fri Jun 28 13:15:45 2013
New Revision: 1497763

URL: http://svn.apache.org/r1497763
Log:
Refactor to register and unregister endpoint instances and session instances 
rather than endpoint classes and session instances.
This is required to support implementation of WebSocket 1.0, section 7.2

Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java
tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java

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

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java?rev=1497763r1=1497762r2=1497763view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java Fri Jun 28 
13:15:45 2013
@@ -464,8 +464,7 @@ public class WsSession implements Sessio
 wsRemoteEndpoint.close();
 localEndpoint.onError(this, ioe);
 } finally {
-webSocketContainer.unregisterSession(
-localEndpoint.getClass(), this);
+webSocketContainer.unregisterSession(localEndpoint, this);
 }
 
 }

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java?rev=1497763r1=1497762r2=1497763view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java Fri 
Jun 28 13:15:45 2013
@@ -334,7 +334,7 @@ public class WsWebSocketContainer
 Collections.EMPTY_MAP, false,
 clientEndpointConfiguration);
 endpoint.onOpen(wsSession, clientEndpointConfiguration);
-registerSession(endpoint.getClass(), wsSession);
+registerSession(endpoint, wsSession);
 
 // Object creation will trigger input processing
 @SuppressWarnings(unused)
@@ -345,7 +345,11 @@ public class WsWebSocketContainer
 }
 
 
-protected void registerSession(Class? endpoint, WsSession wsSession) {
+protected void registerSession(Object endpointInstance,
+WsSession wsSession) {
+
+Class? endpointClazz = endpointInstance.getClass();
+
 if (!wsSession.isOpen()) {
 // The session was closed during onOpen. No need to register it.
 return;
@@ -354,10 +358,10 @@ public class WsWebSocketContainer
 if (endpointSessionMap.size() == 0) {
 BackgroundProcessManager.getInstance().register(this);
 }
-SetWsSession wsSessions = endpointSessionMap.get(endpoint);
+SetWsSession wsSessions = endpointSessionMap.get(endpointClazz);
 if (wsSessions == null) {
 wsSessions = new HashSet();
-endpointSessionMap.put(endpoint, wsSessions);
+endpointSessionMap.put(endpointClazz, wsSessions);
 }
 wsSessions.add(wsSession);
 }
@@ -365,13 +369,17 @@ public class WsWebSocketContainer
 }
 
 
-protected void unregisterSession(Class? endpoint, WsSession wsSession) {
+protected void unregisterSession(Object endpointInstance,
+WsSession wsSession) {
+
+Class? endpointClazz = endpointInstance.getClass();
+
 synchronized (endPointSessionMapLock) {
-SetWsSession wsSessions = endpointSessionMap.get(endpoint);
+SetWsSession wsSessions = endpointSessionMap.get(endpointClazz);
 if (wsSessions != null) {
 wsSessions.remove(wsSession);
 if (wsSessions.size() == 0) {
-endpointSessionMap.remove(endpoint);
+endpointSessionMap.remove(endpointClazz);
 }
 }
 if (endpointSessionMap.size() == 0) {

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java?rev=1497763r1=1497762r2=1497763view=diff
==
--- 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java 
(original)
+++ 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java 
Fri Jun 28 13:15:45 2013
@@ -128,7 +128,7 @@ public class WsHttpUpgradeHandler implem
 sos.setWriteListener(
 new WsWriteListener(this, wsRemoteEndpointServer));
 

svn commit: r1497764 - /tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java

2013-06-28 Thread markt
Author: markt
Date: Fri Jun 28 13:16:37 2013
New Revision: 1497764

URL: http://svn.apache.org/r1497764
Log:
Trivial whitespace

Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java?rev=1497764r1=1497763r2=1497764view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java Fri Jun 28 
13:16:37 2013
@@ -445,6 +445,7 @@ public class WsSession implements Sessio
 }
 }
 
+
 private void sendCloseMessage(CloseReason closeReason) {
 // 125 is maximum size for the payload of a control message
 ByteBuffer msg = ByteBuffer.allocate(125);
@@ -466,7 +467,6 @@ public class WsSession implements Sessio
 } finally {
 webSocketContainer.unregisterSession(localEndpoint, this);
 }
-
 }
 
 



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



svn commit: r1497765 - in /tomcat/tc7.0.x/trunk: ./ modules/jdbc-pool/resources/MANIFEST.MF webapps/docs/changelog.xml

2013-06-28 Thread violetagg
Author: violetagg
Date: Fri Jun 28 13:20:58 2013
New Revision: 1497765

URL: http://svn.apache.org/r1497765
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=55031
Merged revision 1497754 from tomcat/trunk:
Fixed Export-Package header and the uses directives. 
Import org.apache.juli.logging package with no version so that any version of a 
bundle that provides it can be used.
Patch provided by Martin Lichtin.

Modified:
tomcat/tc7.0.x/trunk/   (props changed)
tomcat/tc7.0.x/trunk/modules/jdbc-pool/resources/MANIFEST.MF
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc7.0.x/trunk/
--
  Merged /tomcat/trunk:r1497754

Modified: tomcat/tc7.0.x/trunk/modules/jdbc-pool/resources/MANIFEST.MF
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/jdbc-pool/resources/MANIFEST.MF?rev=1497765r1=1497764r2=1497765view=diff
==
--- tomcat/tc7.0.x/trunk/modules/jdbc-pool/resources/MANIFEST.MF (original)
+++ tomcat/tc7.0.x/trunk/modules/jdbc-pool/resources/MANIFEST.MF Fri Jun 28 
13:20:58 2013
@@ -1,12 +1,13 @@
 Manifest-Version: 1.0
-Export-Package: 
-  org.apache.tomcat.jdbc.pool;version=@VERSION@;
-  uses:=javax.management,javax.naming,javax.naming.spi,javax.sql,
-  org.apache.tomcat.jdbc.pool.jmx,
-  org.apache.tomcat.jdbc.pool.interceptor;version=@VERSION@;
-  uses:=javax.management.openmbean,org.apache.tomcat.jdbc.pool,
-  org.apache.tomcat.jdbc.pool.jmx;version=@VERSION@;
-  uses:=javax.management,org.apache.tomcat.jdbc.pool
+Export-Package: org.apache.tomcat.jdbc.naming;uses:=javax.naming,org.ap
+ ache.juli.logging,javax.naming.spi;version=@VERSION@,org.apache.tomc
+ at.jdbc.pool;uses:=org.apache.juli.logging,javax.sql,org.apache.tomcat
+ .jdbc.pool.jmx,javax.management,javax.naming,javax.naming.spi,org.apach
+ e.tomcat.jdbc.pool.interceptor;version=@VERSION@,org.apache.tomcat.j
+ dbc.pool.interceptor;uses:=org.apache.tomcat.jdbc.pool,org.apache.juli
+ .logging,javax.management.openmbean,javax.management;version=@VERSION@
+ ,org.apache.tomcat.jdbc.pool.jmx;uses:=org.apache.tomcat.jdbc.pool,or
+ g.apache.juli.logging,javax.management;version=@VERSION@
 Ant-Version: Apache Ant 1.7.0
 Bundle-Vendor: Apache Software Foundation
 Bundle-Version: @VERSION@
@@ -20,4 +21,4 @@ Import-Package: 
   javax.naming;version=0,
   javax.naming.spi;version=0,
   javax.sql;version=0,
-  org.apache.juli.logging;version=[6.0.18, 7.1.0)
+  org.apache.juli.logging;version=0

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=1497765r1=1497764r2=1497765view=diff
==
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Fri Jun 28 13:20:58 2013
@@ -156,6 +156,17 @@
   /add
 /changelog
   /subsection
+  subsection name=jdbc-pool
+changelog
+  fix
+bug55031/bug: Fixed codeExport-Package/code header and
+codeuses/code directives in MANIFEST.MF. Change the version for
+package codeorg.apache.juli.logging/code to 0 in
+codeImport-Package/code header. Thus any version of that package
+can be used. Patch provided by Martin Lichtin. (violetagg)
+  /fix
+/changelog
+  /subsection
   subsection name=Other
 changelog
   update



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



[Bug 55031] Update MANIFEST.MF for OSGi headers

2013-06-28 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=55031

Violeta Georgieva violet...@apache.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #3 from Violeta Georgieva violet...@apache.org ---
Fixed in trunk and 7.0.x and will be included in 7.0.42 onwards.

-- 
You are receiving this mail because:
You are the assignee for the bug.

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



[Bug 55155] running tomcat tests cause terminal to repeatedly grab focus (on os x)

2013-06-28 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=55155

--- Comment #1 from Mark Thomas ma...@apache.org ---
Try again with 7.0.x HEAD please

-- 
You are receiving this mail because:
You are the assignee for the bug.

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



[Bug 55155] running tomcat tests cause terminal to repeatedly grab focus (on os x)

2013-06-28 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=55155

--- Comment #2 from Casey Lucas clu...@e-miles.com ---
Created attachment 30494
  -- https://issues.apache.org/bugzilla/attachment.cgi?id=30494action=edit
against head?

is this what you wanted?  if not, please provide a tip or link.

-- 
You are receiving this mail because:
You are the assignee for the bug.

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



[Bug 55155] running tomcat tests cause terminal to repeatedly grab focus (on os x)

2013-06-28 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=55155

--- Comment #3 from Mark Thomas ma...@apache.org ---
No, that isn't what I meant.

Please re-test with the latest source code for 7.0.x/trunk from subversion.

-- 
You are receiving this mail because:
You are the assignee for the bug.

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



Re: svn commit: r1497670 - /tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java

2013-06-28 Thread Nick Williams

On Jun 28, 2013, at 2:35 AM, ma...@apache.org wrote:

 Author: markt
 Date: Fri Jun 28 07:35:49 2013
 New Revision: 1497670
 
 URL: http://svn.apache.org/r1497670
 Log:
 WebSocket 1.0, section 8.2
 There is an implied restriction that any initial upgrade request must use 
 HTTP GET.
 
 +!GET.equals(((HttpServletRequest) request).getMethod())) {
 // Not an HTTP request that includes a valid upgrade request to
 // web socket
 +// Note: RFC 2616 does not limit HTTP upgrade to GET requests but
 +//   the the Java WebSocket spec 1.0, section 8.2 implies 
 such a
 +//   limitation

Unfortunate that the Java WebSocket spec is in direct contradiction with the 
RFC spec. IMO, the RFC spec is the authority and it seems like it should take 
precedence over the Java WebSocket spec. That would be like the RFC HTTP spec 
saying you must do X when header Y is present and the Java Servlet spec 
saying you must not do X when header Y is present. The Java WebSocket spec is 
clearly wrong here.

How clear is the Java WebSocket spec? Does it just /seem/ to indicate this or 
does it /insist/ upon it?

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



Re: svn commit: r1497670 - /tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java

2013-06-28 Thread Mark Thomas
On 28/06/2013 17:00, Nick Williams wrote:
 
 On Jun 28, 2013, at 2:35 AM, ma...@apache.org wrote:
 
 Author: markt Date: Fri Jun 28 07:35:49 2013 New Revision: 1497670
 
 URL: http://svn.apache.org/r1497670 Log: WebSocket 1.0, section
 8.2 There is an implied restriction that any initial upgrade
 request must use HTTP GET.
 
 +!GET.equals(((HttpServletRequest)
 request).getMethod())) { // Not an HTTP request that includes a
 valid upgrade request to // web socket +// Note: RFC
 2616 does not limit HTTP upgrade to GET requests but +
 //   the the Java WebSocket spec 1.0, section 8.2 implies such
 a +//   limitation
 
 Unfortunate that the Java WebSocket spec is in direct contradiction
 with the RFC spec.

Please provide a reference for the part of RFC 6455 you believe this
change violates.

 IMO, the RFC spec is the authority and it seems
 like it should take precedence over the Java WebSocket spec. That
 would be like the RFC HTTP spec saying you must do X when header Y
 is present and the Java Servlet spec saying you must not do X when
 header Y is present. The Java WebSocket spec is clearly wrong here.

I disagree with your view in precedence.

 How clear is the Java WebSocket spec? Does it just /seem/ to indicate
 this or does it /insist/ upon it?

It implies only GET requests are permitted. The RFC is more specific.

Mark

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



svn commit: r1497832 - /tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java

2013-06-28 Thread markt
Author: markt
Date: Fri Jun 28 16:28:13 2013
New Revision: 1497832

URL: http://svn.apache.org/r1497832
Log:
Clarify comment

Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java?rev=1497832r1=1497831r2=1497832view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java Fri Jun 
28 16:28:13 2013
@@ -83,7 +83,8 @@ public class WsFilter implements Filter 
 // web socket
 // Note: RFC 2616 does not limit HTTP upgrade to GET requests but
 //   the the Java WebSocket spec 1.0, section 8.2 implies such 
a
-//   limitation
+//   limitation and RFC 6455 section 4.1 requires that a
+//   WebSocket Upgrade uses GET.
 chain.doFilter(request, response);
 return;
 }



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



svn commit: r1497851 - in /tomcat/trunk/java/org/apache/tomcat/websocket: WsSession.java WsWebSocketContainer.java server/WsSci.java server/WsServerContainer.java server/WsSessionListener.java

2013-06-28 Thread markt
Author: markt
Date: Fri Jun 28 17:10:27 2013
New Revision: 1497851

URL: http://svn.apache.org/r1497851
Log:
WebSocket 1.0, section 7.2
Connections created under an authenticated HTTP session must be closed when the 
HTTP session ends.

Added:
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsSessionListener.java 
  (with props)
Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java
tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsSci.java
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java?rev=1497851r1=1497850r2=1497851view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/WsSession.java Fri Jun 28 
17:10:27 2013
@@ -523,7 +523,7 @@ public class WsSession implements Sessio
 }
 
 
-protected String getHttpSessionId() {
+public String getHttpSessionId() {
 return httpSessionId;
 }
 

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java?rev=1497851r1=1497850r2=1497851view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java Fri 
Jun 28 17:10:27 2013
@@ -345,10 +345,9 @@ public class WsWebSocketContainer
 }
 
 
-protected void registerSession(Object endpointInstance,
-WsSession wsSession) {
+protected void registerSession(Endpoint endpoint, WsSession wsSession) {
 
-Class? endpointClazz = endpointInstance.getClass();
+Class? endpointClazz = endpoint.getClass();
 
 if (!wsSession.isOpen()) {
 // The session was closed during onOpen. No need to register it.
@@ -369,10 +368,9 @@ public class WsWebSocketContainer
 }
 
 
-protected void unregisterSession(Object endpointInstance,
-WsSession wsSession) {
+protected void unregisterSession(Endpoint endpoint, WsSession wsSession) {
 
-Class? endpointClazz = endpointInstance.getClass();
+Class? endpointClazz = endpoint.getClass();
 
 synchronized (endPointSessionMapLock) {
 SetWsSession wsSessions = endpointSessionMap.get(endpointClazz);

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsSci.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsSci.java?rev=1497851r1=1497850r2=1497851view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsSci.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsSci.java Fri Jun 28 
17:10:27 2013
@@ -126,12 +126,15 @@ public class WsSci implements ServletCon
 
 
 static WsServerContainer init(ServletContext servletContext) {
+
 WsServerContainer sc = WsServerContainer.getServerContainer();
 sc.setServletContext(servletContext);
 
 servletContext.setAttribute(
 Constants.SERVER_CONTAINER_SERVLET_CONTEXT_ATTRIBUTE, sc);
 
+servletContext.addListener(new WsSessionListener(sc));
+
 return sc;
 }
 }

Modified: 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java?rev=1497851r1=1497850r2=1497851view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServerContainer.java 
Fri Jun 28 17:10:27 2013
@@ -16,11 +16,13 @@
  */
 package org.apache.tomcat.websocket.server;
 
+import java.io.IOException;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.EnumSet;
 import java.util.Map;
+import java.util.Set;
 import java.util.SortedSet;
 import java.util.TreeSet;
 import java.util.WeakHashMap;
@@ -29,8 +31,11 @@ import java.util.concurrent.ConcurrentHa
 import javax.servlet.DispatcherType;
 import javax.servlet.FilterRegistration;
 import javax.servlet.ServletContext;
+import javax.websocket.CloseReason;
+import javax.websocket.CloseReason.CloseCodes;
 import javax.websocket.DeploymentException;
 import javax.websocket.Encoder;
+import javax.websocket.Endpoint;
 import javax.websocket.server.ServerContainer;
 import 

Re: svn commit: r1497670 - /tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFilter.java

2013-06-28 Thread Nick Williams

On Jun 28, 2013, at 11:27 AM, Mark Thomas wrote:

 On 28/06/2013 17:00, Nick Williams wrote:
 
 On Jun 28, 2013, at 2:35 AM, ma...@apache.org wrote:
 
 Author: markt Date: Fri Jun 28 07:35:49 2013 New Revision: 1497670
 
 URL: http://svn.apache.org/r1497670 Log: WebSocket 1.0, section
 8.2 There is an implied restriction that any initial upgrade
 request must use HTTP GET.
 
 +!GET.equals(((HttpServletRequest)
 request).getMethod())) { // Not an HTTP request that includes a
 valid upgrade request to // web socket +// Note: RFC
 2616 does not limit HTTP upgrade to GET requests but +
 //   the the Java WebSocket spec 1.0, section 8.2 implies such
 a +//   limitation
 
 Unfortunate that the Java WebSocket spec is in direct contradiction
 with the RFC spec.
 
 Please provide a reference for the part of RFC 6455 you believe this
 change violates.

I was going off your comment, which originally suggested this was the case. 
However, now that you have clarified your comment, my comments are no longer 
applicable.

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



[jira] [Commented] (MTOMCAT-195) Plugin uploads WAR file twice

2013-06-28 Thread Quintin Siebers (JIRA)

[ 
https://issues.apache.org/jira/browse/MTOMCAT-195?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13695606#comment-13695606
 ] 

Quintin Siebers commented on MTOMCAT-195:
-

Same issue here, except it happens 3 times:

[INFO] --- tomcat6-maven-plugin:2.0:deploy (default) @ kamala-cloud ---
[INFO] Deploying war to http://kamala.mssm.nl/  
Uploading: http://kamala.mssm.nl/manager/deploy?path=%2Fupdate=true
Uploaded: http://kamala.mssm.nl/manager/deploy?path=%2Fupdate=true (50544 KB 
at 698.3 KB/sec)

Uploading: 
https://kamala.mssm.nl/manager/deploy?path=%2Fupdate=true/deploy?path=%2Fupdate=true
Uploaded: 
https://kamala.mssm.nl/manager/deploy?path=%2Fupdate=true/deploy?path=%2Fupdate=true
 (50544 KB at 687.8 KB/sec)

Uploading: 
https://kamala.mssm.nl/manager/deploy?path=%2Fupdate=true/deploy?path=%2Fupdate=true
Uploaded: 
https://kamala.mssm.nl/manager/deploy?path=%2Fupdate=true/deploy?path=%2Fupdate=true
 (50544 KB at 686.9 KB/sec)

[INFO] FAIL - Application already exists at path /

It fails to upload because the path already exists, but my pom specifies it 
should update the current deployed webapp:
updatetrue/update

 Plugin uploads WAR file twice
 -

 Key: MTOMCAT-195
 URL: https://issues.apache.org/jira/browse/MTOMCAT-195
 Project: Apache Tomcat Maven Plugin
  Issue Type: Bug
  Components: tomcat6
Affects Versions: 2.0
 Environment: Win7/64, Maven 3.0.4
Reporter: George Smith
Assignee: Olivier Lamy (*$^¨%`£)

 When I deploy my WAR using maven, the target war (exact the same one) is 
 being uploaded to the server twice. Can someone explain that?
 I am using this on my module:
 {code}clean install org.apache.tomcat.maven:tomcat6-maven-plugin:2.0:redeploy 
 {code}
 From the Log file
 {code =xml}
 [INFO] --- maven-war-plugin:2.1.1:war (default-war) @ mobile-server ---
 [INFO] Packaging webapp
 [INFO] Assembling webapp [mobile-server] in 
 [C:\develope\mobile\mobile-server\target\mobile-server]
 [INFO] Processing war project
 [INFO] Copying webapp resources 
 [C:\develope\mobile\mobile-server\src\main\webapp]
 [INFO] Webapp assembled in [241 msecs]
 [INFO] Building war: C:\develope\mobile\mobile-server\target\mobile-server.war
 [INFO] 
 [INFO]  tomcat6-maven-plugin:2.0:redeploy (default-cli) @ mobile-server 
 [INFO] 
 [INFO] --- tomcat6-maven-plugin:2.0:redeploy (default-cli) @ mobile-server 
 ---
 [INFO] Deploying war to http://myserver.eu/pra-mobile-server  
 Uploading: 
 http://myserver.eu/manager-test/deploy?path=%2Fmobile-serverupdate=true
 Uploaded: 
 http://myserver.eu/manager-test/deploy?path=%2Fmobile-serverupdate=true 
 (12678 KB at 49.3 KB/sec)
 Uploading: 
 http://myserver.eu/manager-test/deploy?path=%2Fmobile-serverupdate=true
 Uploaded: 
 http://myserver.eu/manager-test/deploy?path=%2Fmobile-serverupdate=true
 {code}
 project xmlns=http://maven.apache.org/POM/4.0.0; 
 xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
 xsi:schemaLocation=http://maven.apache.org/POM/4.0.0 
 http://maven.apache.org/maven-v4_0_0.xsd;
 modelVersion4.0.0/modelVersion
 parent
 groupIdeu.company.prj.pramobile/groupId
 artifactIdmobile-parent/artifactId
 relativePath../mobile-parent/pom.xml/relativePath
 version1.0-SNAPSHOT/version
 /parent
 artifactIdmobile-server/artifactId
 packagingwar/packaging
 namemobile server/name
 properties
 version.standard.taglibs1.1.2/version.standard.taglibs
 /properties
 repositories
 repository
 idcom.springsource.repository.libs-milestone/id
 nameSpringSource Enterprise Bundle Repository - libs/name
 urlhttp://repo.springsource.org/libs-milestone//url
 /repository
  /repositories
 dependencies
 dependency
 groupId${project.groupId}/groupId
 artifactIdmobile-test/artifactId
 version${project.version}/version
 scopetest/scope
 /dependency
 dependency
 groupId${project.groupId}/groupId
 artifactIdmobile-common/artifactId
 version${project.version}/version
 /dependency
 !-- Import Spring dependencies, these are either from community or 
 versions
 certified in WFK2 --
 dependency
 groupIdorg.springframework/groupId
 artifactIdspring-asm/artifactId
 version${version.spring}/version
 /dependency
 dependency
 groupIdorg.springframework/groupId
 artifactIdspring-aop/artifactId
 version${version.spring}/version
 /dependency
 dependency
 groupIdorg.springframework.security/groupId
 artifactIdspring-security-config/artifactId
 version${version.spring}/version
 /dependency
 dependency
 groupIdorg.springframework/groupId
 artifactIdspring-web/artifactId
 version${version.spring}/version
 

[Bug 55155] running tomcat tests cause terminal to repeatedly grab focus (on os x)

2013-06-28 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=55155

Mark Thomas ma...@apache.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |WORKSFORME

--- Comment #4 from Mark Thomas ma...@apache.org ---
I don;t see the described behaviour on OSX. This sounds like the AWT issue that
has already been fixed in trunk. (change log entry: Update the
JreMemoryLeakPreventionListener to take account of changes in the behaviour of
java.beans.Introspector.flushCaches() and sun.awt.AppContext.getAppContext() in
Java 7.)

-- 
You are receiving this mail because:
You are the assignee for the bug.

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



svn commit: r1497876 - in /tomcat/trunk/java/org/apache/jasper/el: ELContextImpl.java JasperELResolver.java

2013-06-28 Thread markt
Author: markt
Date: Fri Jun 28 18:53:13 2013
New Revision: 1497876

URL: http://svn.apache.org/r1497876
Log:
Add TODOs for the EL 3.0 related changes in JSP 2.3

Modified:
tomcat/trunk/java/org/apache/jasper/el/ELContextImpl.java
tomcat/trunk/java/org/apache/jasper/el/JasperELResolver.java

Modified: tomcat/trunk/java/org/apache/jasper/el/ELContextImpl.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/el/ELContextImpl.java?rev=1497876r1=1497875r2=1497876view=diff
==
--- tomcat/trunk/java/org/apache/jasper/el/ELContextImpl.java (original)
+++ tomcat/trunk/java/org/apache/jasper/el/ELContextImpl.java Fri Jun 28 
18:53:13 2013
@@ -128,6 +128,8 @@ public final class ELContextImpl extends
 public static ELResolver getDefaultResolver() {
 if (Constants.IS_SECURITY_ENABLED) {
 CompositeELResolver defaultResolver = new CompositeELResolver();
+// TODO ExpressionFactory.getStreamELResolver()
+// TODO javax.el.StaticFieldResolver
 defaultResolver.add(new MapELResolver());
 defaultResolver.add(new ResourceBundleELResolver());
 defaultResolver.add(new ListELResolver());

Modified: tomcat/trunk/java/org/apache/jasper/el/JasperELResolver.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/el/JasperELResolver.java?rev=1497876r1=1497875r2=1497876view=diff
==
--- tomcat/trunk/java/org/apache/jasper/el/JasperELResolver.java (original)
+++ tomcat/trunk/java/org/apache/jasper/el/JasperELResolver.java Fri Jun 28 
18:53:13 2013
@@ -51,6 +51,8 @@ public class JasperELResolver extends Co
 for (ELResolver appResolver : appResolvers) {
 add(appResolver);
 }
+// TODO ExpressionFactory.getStreamELResolver()
+// TODO javax.el.StaticFieldResolver
 add(new MapELResolver());
 add(new ResourceBundleELResolver());
 add(new ListELResolver());
@@ -80,6 +82,7 @@ public class JasperELResolver extends Co
 throws NullPointerException, PropertyNotFoundException, ELException {
 context.setPropertyResolved(false);
 
+// TODO Review this once the additional resolvers have been implemented
 int start;
 Object result = null;
 



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



svn commit: r1497878 - in /tomcat/trunk/java/org/apache/jasper: resources/LocalStrings.properties servlet/JspServlet.java

2013-06-28 Thread markt
Author: markt
Date: Fri Jun 28 18:53:47 2013
New Revision: 1497878

URL: http://svn.apache.org/r1497878
Log:
JSP 2.3, section JSP.11.1
Reduce supported verbs to GET, POST and HEAD

Modified:
tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties
tomcat/trunk/java/org/apache/jasper/servlet/JspServlet.java

Modified: tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties?rev=1497878r1=1497877r2=1497878view=diff
==
--- tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties Fri 
Jun 28 18:53:47 2013
@@ -367,6 +367,9 @@ jsp.error.tag.invalid.trimdirectivewhite
 jsp.error.page.conflict.trimdirectivewhitespaces=Page directive: illegal to 
have multiple occurrences of 'trimDirectiveWhitespaces' with different values 
(old: {0}, new: {1})
 jsp.error.tag.conflict.trimdirectivewhitespaces=Tag directive: illegal to have 
multiple occurrences of 'trimDirectiveWhitespaces' with different values (old: 
{0}, new: {1})
 
+# JSP Servlet
+jsp.error.servlet.invalid.method=JSPs only permit GET POST or HEAD
+
 # JarScanner
 jsp.warning.noJarScanner=Warning: No org.apache.tomcat.JarScanner set in 
ServletContext. Falling back to default JarScanner implementation.
 

Modified: tomcat/trunk/java/org/apache/jasper/servlet/JspServlet.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/servlet/JspServlet.java?rev=1497878r1=1497877r2=1497878view=diff
==
--- tomcat/trunk/java/org/apache/jasper/servlet/JspServlet.java (original)
+++ tomcat/trunk/java/org/apache/jasper/servlet/JspServlet.java Fri Jun 28 
18:53:47 2013
@@ -280,6 +280,19 @@ public class JspServlet extends HttpServ
 public void service (HttpServletRequest request,
  HttpServletResponse response)
 throws ServletException, IOException {
+
+String method = request.getMethod();
+
+if (!GET.equals(method)  !POST.equals(method) 
+!HEAD.equals(method)) {
+// Specification states behaviour is undefined
+// Jasper opts to reject any other verbs, partly as they are
+// unlikely to make sense in a JSP context and partly to protect
+// against verb tampering
+response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED,
+Localizer.getMessage(jsp.error.servlet.invalid.method));
+}
+
 //jspFile may be configured as an init-param for this servlet instance
 String jspUri = jspFile;
 



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



[Bug 55155] running tomcat tests cause terminal to repeatedly grab focus (on os x)

2013-06-28 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=55155

--- Comment #5 from Casey Lucas clu...@e-miles.com ---
I ran the tests (again) after updating trunk. Same results (lots of window
focus change). Are you trying the osx built-in Terminal app?  Maybe that has
something to do with it.  I'm running tests under jdk6.  I'll try some more
variations.

-- 
You are receiving this mail because:
You are the assignee for the bug.

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



svn commit: r1497894 - /tomcat/trunk/java/javax/el/ArrayELResolver.java

2013-06-28 Thread markt
Author: markt
Date: Fri Jun 28 19:10:42 2013
New Revision: 1497894

URL: http://svn.apache.org/r1497894
Log:
Re-order to make checking against EL Spec RI easier

Modified:
tomcat/trunk/java/javax/el/ArrayELResolver.java

Modified: tomcat/trunk/java/javax/el/ArrayELResolver.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/el/ArrayELResolver.java?rev=1497894r1=1497893r2=1497894view=diff
==
--- tomcat/trunk/java/javax/el/ArrayELResolver.java (original)
+++ tomcat/trunk/java/javax/el/ArrayELResolver.java Fri Jun 28 19:10:42 2013
@@ -35,7 +35,7 @@ public class ArrayELResolver extends ELR
 }
 
 @Override
-public Object getValue(ELContext context, Object base, Object property)
+public Class? getType(ELContext context, Object base, Object property)
 throws NullPointerException, PropertyNotFoundException, 
ELException {
 if (context == null) {
 throw new NullPointerException();
@@ -44,17 +44,15 @@ public class ArrayELResolver extends ELR
 if (base != null  base.getClass().isArray()) {
 context.setPropertyResolved(true);
 int idx = coerce(property);
-if (idx  0 || idx = Array.getLength(base)) {
-return null;
-}
-return Array.get(base, idx);
+checkBounds(base, idx);
+return base.getClass().getComponentType();
 }
 
 return null;
 }
 
 @Override
-public Class? getType(ELContext context, Object base, Object property)
+public Object getValue(ELContext context, Object base, Object property)
 throws NullPointerException, PropertyNotFoundException, 
ELException {
 if (context == null) {
 throw new NullPointerException();
@@ -63,8 +61,10 @@ public class ArrayELResolver extends ELR
 if (base != null  base.getClass().isArray()) {
 context.setPropertyResolved(true);
 int idx = coerce(property);
-checkBounds(base, idx);
-return base.getClass().getComponentType();
+if (idx  0 || idx = Array.getLength(base)) {
+return null;
+}
+return Array.get(base, idx);
 }
 
 return null;



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



svn commit: r1497895 - /tomcat/trunk/java/javax/el/BeanELResolver.java

2013-06-28 Thread markt
Author: markt
Date: Fri Jun 28 19:13:07 2013
New Revision: 1497895

URL: http://svn.apache.org/r1497895
Log:
Reduce visibility

Modified:
tomcat/trunk/java/javax/el/BeanELResolver.java

Modified: tomcat/trunk/java/javax/el/BeanELResolver.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/el/BeanELResolver.java?rev=1497895r1=1497894r2=1497895view=diff
==
--- tomcat/trunk/java/javax/el/BeanELResolver.java (original)
+++ tomcat/trunk/java/javax/el/BeanELResolver.java Fri Jun 28 19:13:07 2013
@@ -211,7 +211,7 @@ public class BeanELResolver extends ELRe
 return null;
 }
 
-protected static final class BeanProperties {
+static final class BeanProperties {
 private final MapString, BeanProperty properties;
 
 private final Class? type;
@@ -250,7 +250,7 @@ public class BeanELResolver extends ELRe
 }
 }
 
-protected static final class BeanProperty {
+static final class BeanProperty {
 private final Class? type;
 
 private final Class? owner;



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



svn commit: r1497896 - /tomcat/trunk/java/javax/el/BeanELResolver.java

2013-06-28 Thread markt
Author: markt
Date: Fri Jun 28 19:16:24 2013
New Revision: 1497896

URL: http://svn.apache.org/r1497896
Log:
Re-order to make checking against EL Spec RI easier

Modified:
tomcat/trunk/java/javax/el/BeanELResolver.java

Modified: tomcat/trunk/java/javax/el/BeanELResolver.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/el/BeanELResolver.java?rev=1497896r1=1497895r2=1497896view=diff
==
--- tomcat/trunk/java/javax/el/BeanELResolver.java (original)
+++ tomcat/trunk/java/javax/el/BeanELResolver.java Fri Jun 28 19:16:24 2013
@@ -72,6 +72,20 @@ public class BeanELResolver extends ELRe
 }
 
 @Override
+public Class? getType(ELContext context, Object base, Object property)
+throws NullPointerException, PropertyNotFoundException, 
ELException {
+if (context == null) {
+throw new NullPointerException();
+}
+if (base == null || property == null) {
+return null;
+}
+
+context.setPropertyResolved(true);
+return this.property(context, base, property).getPropertyType();
+}
+
+@Override
 public Object getValue(ELContext context, Object base, Object property)
 throws NullPointerException, PropertyNotFoundException, 
ELException {
 if (context == null) {
@@ -104,20 +118,6 @@ public class BeanELResolver extends ELRe
 }
 
 @Override
-public Class? getType(ELContext context, Object base, Object property)
-throws NullPointerException, PropertyNotFoundException, 
ELException {
-if (context == null) {
-throw new NullPointerException();
-}
-if (base == null || property == null) {
-return null;
-}
-
-context.setPropertyResolved(true);
-return this.property(context, base, property).getPropertyType();
-}
-
-@Override
 public void setValue(ELContext context, Object base, Object property,
 Object value) throws NullPointerException,
 PropertyNotFoundException, PropertyNotWritableException,
@@ -158,6 +158,113 @@ public class BeanELResolver extends ELRe
 }
 }
 
+/**
+ * @since EL 2.2
+ */
+@Override
+public Object invoke(ELContext context, Object base, Object method,
+Class?[] paramTypes, Object[] params) {
+if (context == null) {
+throw new NullPointerException();
+}
+if (base == null || method == null) {
+return null;
+}
+
+ExpressionFactory factory = ExpressionFactory.newInstance();
+
+String methodName = (String) factory.coerceToType(method, 
String.class);
+
+// Find the matching method
+Method matchingMethod = null;
+Class? clazz = base.getClass();
+if (paramTypes != null) {
+try {
+matchingMethod =
+getMethod(clazz, clazz.getMethod(methodName, paramTypes));
+} catch (NoSuchMethodException e) {
+throw new MethodNotFoundException(e);
+}
+} else {
+int paramCount = 0;
+if (params != null) {
+paramCount = params.length;
+}
+Method[] methods = clazz.getMethods();
+for (Method m : methods) {
+if (methodName.equals(m.getName())) {
+if (m.getParameterTypes().length == paramCount) {
+// Same number of parameters - use the first match
+matchingMethod = getMethod(clazz, m);
+break;
+}
+if (m.isVarArgs()
+ paramCount  m.getParameterTypes().length - 2) {
+matchingMethod = getMethod(clazz, m);
+}
+}
+}
+if (matchingMethod == null) {
+throw new MethodNotFoundException(
+Unable to find method [ + methodName + ] with [
++ paramCount + ] parameters);
+}
+}
+
+Class?[] parameterTypes = matchingMethod.getParameterTypes();
+Object[] parameters = null;
+if (parameterTypes.length  0) {
+parameters = new Object[parameterTypes.length];
+@SuppressWarnings(null)  // params.length = 
parameterTypes.length
+int paramCount = params.length;
+if (matchingMethod.isVarArgs()) {
+int varArgIndex = parameterTypes.length - 1;
+// First argCount-1 parameters are standard
+for (int i = 0; (i  varArgIndex); i++) {
+parameters[i] = factory.coerceToType(params[i],
+parameterTypes[i]);
+}
+// Last parameter is the varargs
+Class? varArgClass =
+  

[Bug 55155] running tomcat tests cause terminal to repeatedly grab focus (on os x)

2013-06-28 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=55155

Mark Thomas ma...@apache.org changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|WORKSFORME  |---

--- Comment #6 from Mark Thomas ma...@apache.org ---
OK, I do see it with Java 6. It would have helped if you mentioned that in your
original report.

-- 
You are receiving this mail because:
You are the assignee for the bug.

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



[Bug 55155] running tomcat tests cause terminal to repeatedly grab focus (on os x)

2013-06-28 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=55155

--- Comment #7 from Casey Lucas clu...@e-miles.com ---
Sorry for not mentioning the jdk version originally.  More digging revealed
what I believe to be a better fix for the problem:

https://developer.apple.com/library/mac/#documentation/Java/Reference/Java_PropertiesRef/Articles/JavaSystemProperties.html
 (See apple.awt.UIElement property.)

Setting it to true allows awt calls but does not steal focus. I'll add a new
patch.

-- 
You are receiving this mail because:
You are the assignee for the bug.

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



[Bug 55155] running tomcat tests cause terminal to repeatedly grab focus (on os x)

2013-06-28 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=55155

--- Comment #8 from Casey Lucas clu...@e-miles.com ---
Created attachment 30497
  -- https://issues.apache.org/bugzilla/attachment.cgi?id=30497action=edit
set apple.awt.UIElement=true

-- 
You are receiving this mail because:
You are the assignee for the bug.

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




[Tomcat Wiki] Update of TomcatVersions by markt

2013-06-28 Thread Apache Wiki
Dear Wiki user,

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

The TomcatVersions page has been changed by markt:
https://wiki.apache.org/tomcat/TomcatVersions?action=diffrev1=20rev2=21

Comment:
Add Tomcat 8 (mainly to test the wiki after an OS upgrade)

  It is anticipated that releases will be provided for a maximum of 3 major 
versions at any one time.
  
  The Process field in the following tables documents what development model 
is accepted by that project, either 
[[http://www.apache.org/foundation/glossary.html#ReviewThenCommit|Review-Then-Commit]]
 or 
[[http://www.apache.org/foundation/glossary.html#CommitThenReview|Commit-Then-Review]].
 For RTC model the changes are first proposed in the `STATUS.txt` file in the 
root of the project and have to gain at least 3 `+1` votes before being 
applied. The project members have agreed on several 
[[#RTC_Exceptions|exceptions]] from the RTC rule (documented below).
+ 
+ = Tomcat 8.0.x =
+ ||Spec versions: ||Servlet 3.1, JSP 2.3, EL 3.0, WebSocket 1.0 ||
+ ||Stable: ||No ||
+ ||Enhancements: ||Yes ||
+ ||Bug Fixes: ||Yes ||
+ ||Security Fixes: ||Yes ||
+ ||Releases: ||Not yet ||
+ ||Release Manager: ||TBD ||
+ ||Process: ||CTR ||
+ ||Listed on download pages: ||No ||
  
  = Tomcat 7.0.x =
  ||Spec versions: ||Servlet 3.0, JSP 2.2, EL 2.2 ||

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