Commit Graph

1505 Commits

Author SHA1 Message Date
Simone Bordet 51e8b83954 427699 - WebSocket upgrade response sends Sec-WebSocket-Protocol twice.
The problem was that UpgradeResponse was setting the subProtocol as a
header, and HandshakeRFC6455 was extracting it and *adding* it again.

Fixed by removing the code in HandshakeRFC6455.
2014-02-10 14:43:22 +01:00
Simone Bordet b37c68db3b 427690 - Remove Mux Extension and related support. 2014-02-10 13:10:58 +01:00
Simone Bordet 66a19bd646 Avoided to copy the frame payload if we happen to have it all
available.
2014-02-10 12:56:54 +01:00
Simone Bordet 18d2180cdc 427588 - WebSocket Parser leaks ByteBuffers.
Fixed by having the Parser release the payload ByteBuffer.
Also reworked WebSocketFrame.reset() method, and made sure
that outgoing frames also don't leak ByteBuffers.
2014-02-10 12:21:50 +01:00
Simone Bordet 21d938f12d 427587 - MessageInputStream must copy the payload.
Forgot to flip the buffer.
2014-02-06 22:39:02 +01:00
Simone Bordet cf37533d87 427587 - MessageInputStream must copy the payload. 2014-02-06 21:18:21 +01:00
Simone Bordet 5d9360e343 427254 - Cookies are not sent to the client.
Introduced ServletUpgradeResponse.complete(), called when the response
is about to be sent to the client, to transfer the headers stored in
the superclass (UpgradeResponse.headers) into the HttpServletResponse.
2014-02-03 15:31:51 +01:00
Simone Bordet cfe248c67b 427128 - Cookies are not sent to the server.
Implemented/fixed handling of cookies sent by client to server.
2014-02-03 12:49:58 +01:00
Simone Bordet 5e3c8821bb If ClientContainer is being stopped, then we can unregister it from
the ShutdownThread.

This happens when ClientContainer is added as a managed bean to a
ContainerLifeCycle and the container is stopped.
2014-02-03 12:09:27 +01:00
Joakim Erdfelt 1ff01f36eb Fixing SessionTest failures on windows due to file locking 2014-01-14 15:09:57 -07:00
Jesse McConnell 91429ea123 Merge branch 'release-9' 2014-01-10 09:11:25 -06:00
Jesse McConnell b82ec6e668 [maven-release-plugin] prepare for next development iteration 2014-01-08 16:47:09 -06:00
Jesse McConnell b99623a21d [maven-release-plugin] prepare release jetty-9.1.1.v20140108 2014-01-08 16:47:01 -06:00
Joakim Erdfelt 29dec203ba Turning on some leak detection in websocket testing 2014-01-08 14:54:57 -07:00
Joakim Erdfelt 9df519c40f 423948 - Cleanup and consolidate testing utilities in WebSocket
+ Created websocket-common-tests.jar artifact
+ Consolidated duplicate code from other websocket-* modules
  into the websocket-common test artifact
2014-01-08 10:47:45 -07:00
Joakim Erdfelt fb8d55e46e 424735 - WebSocket / Make ServletUpgradeRequest expose its HttpServletRequest
+ Added ServletUpgradeRequest.getHttpServletRequest() to access the
  underlying HttpServletRequest.
+ Wrapping underlying post-upgraded HttpServletRequest object with
  many disabled methods that are no longer relevant at this
  post-upgraded state of the connection.
2014-01-07 14:50:59 -07:00
Joakim Erdfelt 259c624558 425038 - WebSocketClient leaks file handles when exceptions are thrown from open()
+ Close connection on open() exception
2014-01-07 13:19:01 -07:00
Joakim Erdfelt 44a7d23516 423646 - WebSocket / JSR / WebSocketContainer (Client) should have its LifeCycle stop on standalone use
+ Set Daemon on Executor and Scheduler threads to allow them to shutdown
  with the JVM
2014-01-07 13:08:10 -07:00
Joakim Erdfelt f0eeb27921 424847 - Deadlock in deflate-frame (webkit binary)
+ Moving notification flows to outside of the synchronization blocks
2014-01-07 11:47:19 -07:00
Joakim Erdfelt b59057c184 424863 - IllegalStateException "Unable to find decoder for type <javax.websocket.PongMessage>"
+ Expanding testing of PongMessage
+ Ensuring that .addMessage(MessageHandler.Whole<PongMessage>) works
+ Ensuring that ping or pong messages all goto assigned message
  handler for PongMessage, for both extends Endpoint and
  annotated @OnMessage
2014-01-06 17:54:57 -07:00
Joakim Erdfelt 8016065823 424706 - The setMaxIdleTimeout of javax.websocket.Session does not take any affect
+ Making sure that JsrSession updates Connection on use of
  setMaxIdleTimeout after a connection has been opened.
2014-01-06 15:07:02 -07:00
Joakim Erdfelt a12fd9ea03 Happy New Year - 2014! 2014-01-02 14:50:14 -07:00
Joakim Erdfelt 118fc97fe1 424734 - WebSocket / Expose Locale information from ServletUpgradeRequest 2013-12-29 17:05:41 -07:00
Joakim Erdfelt 5380430b75 Tweaking idle timeout 2013-12-20 13:22:01 -07:00
Joakim Erdfelt 5cf9640cfa 423724 - WebSocket / Rename MessageAppender.appendMessage to .appendFrame 2013-12-20 13:22:01 -07:00
Greg Wilkins ab9040bb63 424497 - Allow concurrent async sends 2013-12-20 11:49:33 +11:00
Joakim Erdfelt 9a20a534b5 423646 - WebSocket / JSR / WebSocketContainer (Client) should have its LifeCycle stop on standalone use
+ Not working (yet), but narrowed down the problem.
2013-12-18 05:51:24 -07:00
Simone Bordet 8d621a9331 424043 - IteratingCallback Idle race.
A few renamings and fixes to avoid IllegalStateExceptions.
2013-12-15 23:51:04 +01:00
Simone Bordet 41fc2b8f87 424043 - IteratingCallback Idle race.
Renamed Next enum to Action, and renamed some constant of the State
enum to avoid confusion with the Action enum.

Simplified succeeded() and failed(Throwable) code,
covering also cases not covered before.

Fixed case SCHEDULED in succeeded() that was returning in case the
compareAndSet failed.

Fixed race in perform(), where 2 threads may execute concurrently
after having returned from process().

Vastly improved javadocs and comments.
2013-12-15 00:47:55 +01:00
Greg Wilkins 7141483356 424043 - IteratingCallback Idle race 2013-12-14 09:14:12 +11:00
Joakim Erdfelt 46ef022cf4 421314 - Websocket / Connect attempt with Chrome 32+ fails with "Some extension already uses the compress bit"
+ Reworked extension negotiation to be more consistent with the changes
  to the spec that Chrome 32 are introducing.  Namely that first
  extension to claim RSV bit wins, all other conflicting extensions are
  ignored.
2013-12-13 12:30:26 -07:00
Joakim Erdfelt 5c296c99d8 Cleaning up tests 2013-12-13 12:30:25 -07:00
Greg Wilkins 0104374adb 423048 - Receiving a PING while sending a message kills the connection
Optimised to remove msgLock and just have a concurrent state machine on msgType
2013-12-13 11:51:05 +11:00
Joakim Erdfelt 0a30b4934b 423915 - WebSocket / Active connection from IOS that goes into airplane mode not disconnected on server side
+ Adding testcase verifying Native WebSocket API behavior
2013-12-12 17:04:35 -07:00
Joakim Erdfelt 6d70aab61d 423915 - WebSocket / Active connection from IOS that goes into airplane mode not disconnected on server side
+ Working testcase for JSR-356
2013-12-12 16:58:42 -07:00
Joakim Erdfelt 7af074bafb 423048 - Receiving a PING while sending a message kills the connection
+ Removed msgLock on control frames.
+ Moved sendPing() and sendPong() to async frame handling
+ Squelched a mess of stacktraces in the testing output
2013-12-12 16:08:53 -07:00
Joakim Erdfelt 5941e9db83 Fixing various warnings / imports 2013-12-12 14:46:40 -07:00
Joakim Erdfelt ecf3b8a68f 421189 - WebSocket / AbstractExtension's WebSocketPolicy is not Session-specific
+ Ensuring that the EventDriver managed policy is used by the
  ExtensionStack
2013-12-12 13:51:01 -07:00
Joakim Erdfelt bc7afdc172 423476 - WebSocket / JSR / @OnMessage(maxMessageSize=20000000) not properly supported
+ Correcting @OnMessage handling of max message size for TEXT/BINARY
  from both @ClientEndpoint and @ServerEndpoint usage
+ Testcases to prevent regression.
2013-12-12 13:20:49 -07:00
Joakim Erdfelt 120e0e59ca Cleanup (Imports / StandardCharset / Dead APIs) 2013-12-11 17:27:58 -07:00
Joakim Erdfelt eb2f3acfbd 423804 - WebSocket / JSR improper use of ServerEndpointConfig.Configurator.getNegotiatedSubprotocol()
+ Correcting BasicServerEndpointConfigurator response for no subprotocol
+ Correcting JsrCreator assumption for no subprotocol
2013-12-11 17:00:28 -07:00
Joakim Erdfelt 5bb1631c68 Removing conflicting javax.websocket:javax.websocket-client-api artifact 2013-12-11 17:00:28 -07:00
Joakim Erdfelt 85f2bebab3 formatting cleanup 2013-12-11 17:00:28 -07:00
Joakim Erdfelt 8f132a2e0c Updating clirr comparison to first released 9.1 2013-12-11 17:00:28 -07:00
Joakim Erdfelt 5b77679ecf Attempted fix for intermittent test failures around MessageInputStream 2013-12-10 13:01:12 -07:00
Joakim Erdfelt 54c22d0aca 418622 - WebSocket / When rejecting old WebSocket protocols, log client details 2013-12-09 17:00:18 -07:00
Joakim Erdfelt 48fe92d939 423185 - Update permessage-deflate for finalized spec
+ Adding support for new permessage-deflate parameters
+ Tested against pywebsocket (rev 790)
+ Tested against Chrome Canary 32
2013-12-09 16:20:14 -07:00
Joakim Erdfelt db777310b5 WebSocket / RFC-6455: Section 5.1 frame masking validation 2013-12-09 16:20:14 -07:00
Joakim Erdfelt ebd0ad90e0 423118 - ServletUpgradeRequest.getUserPrincipal() does not work
+ Deprecating ServletUpgradeRequest.getPrincipal()
 + Adding proper implementation for
   ServletUpgradeRequest.getUserPrincipal()
2013-12-04 12:29:20 -07:00
Joakim Erdfelt 1eac013485 422192 - ClientContainer.getOpenSessions() always returns null
+ Adding SessionListener and using it judiciously
2013-12-04 12:24:48 -07:00