[ https://issues.apache.org/jira/browse/CASSANDRA-9309?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15075103#comment-15075103 ]
Robert Stupp commented on CASSANDRA-9309: ----------------------------------------- Ping - +1'd > 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)