[
https://issues.apache.org/jira/browse/QPID-3375?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13072924#comment-13072924
]
Andrew Stitcher commented on QPID-3375:
---------------------------------------
I agree that only allowing localhost in the source when we have localhost in
the destination is a reasonable strategic heuristic to help eliminate some user
error.
But I think that we should just print a stern warning if localhost is used
rather than cause an error as we stand to stop behaviour that the admin might
be trying to set up intentionally (not that I can think of a reason for it
presently).
> qpid-route does not resolve hostname and this causes problems with localhost
> among others
> -----------------------------------------------------------------------------------------
>
> Key: QPID-3375
> URL: https://issues.apache.org/jira/browse/QPID-3375
> Project: Qpid
> Issue Type: Bug
> Components: python tools
> Affects Versions: 0.10
> Environment: All
> Reporter: William Henry
> Assignee: Gordon Sim
> Labels: qpid-route
> Attachments: qpid-route, qpid-route.diff
>
>
> All the examples for Federation and qpid-route use localhost. For a multihost
> environment this is not a good idea.
> 1. 'localhost':<port> can end up in the routing table of remote host
> erroneously.
> 2. Resolving localhost doesn't help as you'd end up with 127.0.0.1 in the
> route erroneously
> 3. Even non localhost names don't get resolved and checked.
> Here is the test I was performing.
> I was doing some playing/testing with federation and I used two machines: my
> laptop (sligo) and a remote machine (buzz). I ran three brokers: 2 on sligo
> on
> ports 5672 and 5682 and one on remote on port 5682.
> From sligo I set up some links between all the brokers.
> (The problem has already occurred on the links above. Listing the routes will
> show the problem. But we'll go on)
> From sligo I set up a topic exchange on each broker:
> $ qpid-config -a localhost:5672 add exchange topic T.Prod
> $ qpid-config -a localhost:5682 add exchange topic T.Prod
> $ qpid-config -a buzz.somedomain.com:5682 add exchange topic T.Prod
> On sligo I set up dynamic routes from source localhost:5672 to localhost:5682
> and buzz.somedomain.com:5682.
> When I list the routes from sligo I see:
> $ qpid-route route list localhost:5682
> localhost:5682 localhost:5672 T.Prod <dynamic>
> $ qpid-route route list buzz.somedomain.com:5682
> buzz.somedomain.com:5682 localhost:5672 T.Prod <dynamic>
> When I run example program drain on localhost:5682 on sligo I get the
> messages sent using the spout example program to default broker on sligo (on
> 5672).
> When I run drain on buzz I don't see anything.
> I see references to "localhost:5672" in the trace output of buzz's broker.
> This is BAD!
> We need qpid-route to resolve hostname before passing the arg to the remote
> broker.
> (In the meantime we might want to warn users of using 'localhost' with
> qpid-route across different hosts.)
> I will attach a diff and a new version of qpid-route for review.
--
This message is automatically generated by JIRA.
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]