You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Robert Stupp (JIRA)" <ji...@apache.org> on 2015/11/19 11:28:11 UTC

[jira] [Commented] (CASSANDRA-9309) Wrong interpretation of Config.getOutboundBindAny depending on using SSL or not

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

Robert Stupp commented on CASSANDRA-9309:
-----------------------------------------

Code change is simple and LGTM - +1 to commit against 2.1...trunk.

> Wrong interpretation of Config.getOutboundBindAny depending on using SSL or not
> -------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-9309
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9309
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Streaming and Messaging
>            Reporter: Casey Marshall
>            Assignee: Yuki Morishita
>             Fix For: 2.1.x, 2.2.x, 3.x
>
>
> In function OutboundTcpConnectionPool.newSocket(), it appears the binding behavior of client sockets is different depending on the encryption setting.
> If encryption is enabled, and Config.getOutboundBindAny() is true, then no address is passed to SSLFactory.getSocket (so I assume it binds to any address).
> If encryption is enabled, and Config.getOutboundBindAny() is false, then FBUtilities.getLocalAddress() is passed to SSLFactory.getSocket (so I assume the new socket will be bound to that address).
> If encryption is disabled, and Config.getOutboundBindAny() is true (and socket.isBound() returns false) then the socket is bound to FBUtilities.getLocalAddress().
> If encryption is disabled, and Config.getOutboundBindAny() is false, the socket is not bound.
> The case of encryption disabled appears to be wrong, and the Config.getOutboundBindAny() flag gets inverted depending on the encryption setting. Shouldn't
> {code}
> if (Config.getOutboundBindAny() && !socket.isBound())
> {code}
> be this:
> {code}
> if (!Config.getOutboundBindAny() && !socket.isBound())
> {code}
> This is in my copy of the 2.0.11 tag, and appears to be the same in trunk.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)