[ 
https://issues.apache.org/jira/browse/QPID-3514?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13121180#comment-13121180
 ] 

[email protected] commented on QPID-3514:
-----------------------------------------------------



bq.  On 2011-10-05 15:39:54, Andrew Stitcher wrote:
bq.  > ** We can't accept this as it stands as it will break IPv6 support if 
turned on. **
bq.  > 
bq.  > On the whole I think it is moving in the correct direction, but it is 
only partly formed:
bq.  > 
bq.  > * This works in effect by adding in *another* transport type - the muxed 
SSL transport. We are trying to reduce and simplify the number of transports 
not increase them, this will make the code harder to maintain over all.
bq.  > 
bq.  > * It's not clear to me why we wouldn't want this always turned on if we 
have the capability. In other words what is the benefit of ever turning it off. 
When we can do this switch then we should have it on for all listening sockets, 
the only option should be to allow a port to only accept encrypted connections.
bq.  > 
bq.  > * This code is tactical, not strategic in that it works for this 
particular case, but as far as I can tell won't help in the upcoming amqp 1.0 
case where we would need to switch to TLS processing sometime during the amqp 
protocol processing.
bq.  > 
bq.  > * The code that selects between encrypted and non encrypted code paths 
should be unified with the code that checks the protocol version, currently the 
accept code does this and blocks whilst reading some bytes from the connection. 
I really don't like this approach.
bq.  > 
bq.  > - Actually this code makes me wonder if we should change the 
architecture of the socket code to have an explicit piece of code which is run 
just after accepting a socket to select which bits of code get run next.
bq.  >

Is IPv6 supported for SSL at present? If not, and if you view this as adding 
the (optional) ability to serve plain sockets on the SSL enabled port, then one 
could argue its not really a regression. We would need to add IPv6 support to 
SSL anyway and it would seem to be to be largely independent of this change. If 
however we do support IPv6 on SSL and this breaks it then I would certainly 
agree with you.

While I think its fair to characterise this as tactical, I don't think it makes 
a strategic solution any harder. Though it adds an additional protocol factory 
it re-uses code very well (better indeed than what is there at present). It 
would certainly need modifications for AMQP 1.0, but compared to the rest of 
the work required there I don't think that is particularly significant, nor do 
I think it makes things any worse.

The strategic changes around this part of the code are more fundamental. Until 
there is something concrete planned there I think it would be a real shame to 
bar adding useful new features, providing they don't aggravate the situation 
(and I would argue this patch does not).

Your point around the blocking in the accept is a good one. It would be much 
nicer to avoid blocking if possible. Given the dearth of documentation in this 
area, would you be willing to flesh out your preferred approach in a bit more 
detail?


- Gordon


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2206/#review2342
-----------------------------------------------------------


On 2011-10-05 13:36:58, Gordon Sim wrote:
bq.  
bq.  -----------------------------------------------------------
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/2206/
bq.  -----------------------------------------------------------
bq.  
bq.  (Updated 2011-10-05 13:36:58)
bq.  
bq.  
bq.  Review request for Andrew Stitcher, michael goulish, Ted Ross, and Chug 
Rolke.
bq.  
bq.  
bq.  Summary
bq.  -------
bq.  
bq.  Allow SSL and non-SSL connections on the same port. Patch contributed by 
Zane Bitter for use by the Matahari Project.
bq.  
bq.  
bq.  This addresses bug QPID-3514.
bq.      https://issues.apache.org/jira/browse/QPID-3514
bq.  
bq.  
bq.  Diffs
bq.  -----
bq.  
bq.    /trunk/qpid/cpp/src/qpid/sys/ssl/SslSocket.cpp 1179157 
bq.    /trunk/qpid/cpp/src/qpid/sys/ssl/SslIo.cpp 1179157 
bq.    /trunk/qpid/cpp/src/qpid/sys/ssl/SslSocket.h 1179157 
bq.    /trunk/qpid/cpp/src/qpid/sys/ssl/SslIo.h 1179157 
bq.    /trunk/qpid/cpp/src/qpid/sys/TCPIOPlugin.cpp 1179157 
bq.    /trunk/qpid/cpp/src/qpid/sys/Socket.h 1179157 
bq.    /trunk/qpid/cpp/src/qpid/sys/SslPlugin.cpp 1179157 
bq.  
bq.  Diff: https://reviews.apache.org/r/2206/diff
bq.  
bq.  
bq.  Testing
bq.  -------
bq.  
bq.  make check passes; tested with and without the multiplexing; tested client 
authentication; tested SASL EXTERNAL (requires reverting a recent change 
unrelated to this, see QPID-3522)
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Gordon
bq.  
bq.


                
> Allow SSL and non-SSL connections on the same port
> --------------------------------------------------
>
>                 Key: QPID-3514
>                 URL: https://issues.apache.org/jira/browse/QPID-3514
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Broker
>    Affects Versions: 0.12
>            Reporter: Zane Bitter
>         Attachments: ssl-mux.patch
>
>
> The Matahari Project (http:://matahariproject.org for the uninitiated) has 
> run into an issue with our use of Qpid in that IANA policy is now to refuse 
> to assign separate TCP ports for SSL/TLS-wrapped versions of protocols, which 
> leaves us with only a single port assigned to Matahari.
> We would like to be able to accept both SSL and non-SSL connections on the 
> same port.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to