[
http://jira.jboss.com/jira/browse/JBREM-585?page=comments#action_12341619 ]
Tom Elrod commented on JBREM-585:
----------------------------------
Issue here is really in the org.jboss.remoting.stream.StreamHandler class because creates
a remoting Client internally to call back on the stream server created on the client side.
However, the creation of this Client is only based on the invoker locator url, so if the
stream server on the client side supports ssl, the Client is unaware of the ssl config it
needs to use.
Need to make StreamHandler behave similar to
org.jboss.remoting.callback.ServerInvokerCallbackHandler (see configureSocketFactory()),
where will use the ssl config from the server invoker if available.
there is the need to add a callback listener for ssl stream
invocation
----------------------------------------------------------------------
Key: JBREM-585
URL:
http://jira.jboss.com/jira/browse/JBREM-585
Project: JBoss Remoting
Issue Type: Task
Security Level: Public(Everyone can see)
Components: stream
Affects Versions: 2.0.0.CR1 (Boon)
Reporter: Michael Voss
Assigned To: Tom Elrod
Fix For: 2.2.0.Beta1 (Bluto)
If want to use existing ssl connector for stream invocation (using
Client.invoke(InputStream,Object,Connector) ) the client has to add a callback listener to
run the the invocation properly
I think stream invocation should also work without the need to add a callback listener
if no listener is added the following exception is thrown:
by stream sender:
org.jboss.remoting.ConnectionFailedException: Connection has been shutdown:
javax.net.ssl.SSLProtocolException: Illegal client handshake msg, 1
at
org.jboss.remoting.transport.multiplex.MultiplexClientInvoker.handleConnect(MultiplexClientInvoker.java:111)
at
org.jboss.remoting.MicroRemoteClientInvoker.connect(MicroRemoteClientInvoker.java:252)
at org.jboss.remoting.Client.connect(Client.java:391)
at org.jboss.remoting.Client.connect(Client.java:383)
at org.jboss.remoting.stream.StreamHandler.<init>(StreamHandler.java:77)
at org.jboss.remoting.ServerInvoker.getStreamHandler(ServerInvoker.java:1253)
at org.jboss.remoting.ServerInvoker.handleInternalInvocation(ServerInvoker.java:1225)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:983)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:848)
at
org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:447)
at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:520)
at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:257)
at
org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:163)
at org.jboss.remoting.Client.invoke(Client.java:612)
at org.jboss.remoting.Client.invoke(Client.java:604)
at org.jboss.remoting.Client.invoke(Client.java:1211)
by stream receiver:
javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLProto
colException: Illegal client handshake msg, 1
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkEOF(Unknown Source)
at com.sun.net.ssl.internal.ssl.AppInputStream.read(Unknown Source)
at java.io.BufferedInputStream.fill(Unknown Source)
at java.io.BufferedInputStream.read1(Unknown Source)
at java.io.BufferedInputStream.read(Unknown Source)
at org.jboss.remoting.transport.multiplex.InputMultiplexor$SingleGroupIn
putThread.completeHeader(InputMultiplexor.java:608)
at org.jboss.remoting.transport.multiplex.InputMultiplexor$SingleGroupIn
putThread.doRun(InputMultiplexor.java:540)
at org.jboss.remoting.transport.multiplex.utility.StoppableThread.run(St
oppableThread.java:54)
Caused by: javax.net.ssl.SSLProtocolException: Illegal client handshake msg, 1
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(Unknown
Source)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Unknown Source
)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Un
known Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(Unknown Source
)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(Unknown Source)
at java.io.OutputStream.write(Unknown Source)
at org.jboss.remoting.transport.multiplex.OutputMultiplexor$OutputThread
.encode(OutputMultiplexor.java:580)
at org.jboss.remoting.transport.multiplex.OutputMultiplexor$OutputThread
.doRun(OutputMultiplexor.java:452)
... 1 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira