summaryrefslogtreecommitdiff
path: root/qpid/python
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2008-05-22 18:09:31 +0000
committerTed Ross <tross@apache.org>2008-05-22 18:09:31 +0000
commit7c1ba1ecf1d48993964cd86d563bf0a07e80a2f4 (patch)
tree000bdcda091454b9021d21db7fec77440060d811 /qpid/python
parent0806aca81168bbf1c64f57d15d9fd46d7b4fd56c (diff)
downloadqpid-python-7c1ba1ecf1d48993964cd86d563bf0a07e80a2f4.tar.gz
Forbid broker to route to self, default to localhost when not specified
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@659186 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/python')
-rwxr-xr-xqpid/python/commands/qpid-route27
1 files changed, 17 insertions, 10 deletions
diff --git a/qpid/python/commands/qpid-route b/qpid/python/commands/qpid-route
index 5206f5c3cb..4e8dbc3a77 100755
--- a/qpid/python/commands/qpid-route
+++ b/qpid/python/commands/qpid-route
@@ -33,12 +33,12 @@ from qpid.util import connect
def Usage ():
print "Usage: qpid-route [OPTIONS] link add <dest-broker> <src-broker>"
print " qpid-route [OPTIONS] link del <dest-broker> <src-broker>"
- print " qpid-route [OPTIONS] link list <dest-broker>"
+ print " qpid-route [OPTIONS] link list [<dest-broker>]"
print
print " qpid-route [OPTIONS] route add <dest-broker> <src-broker> <exchange> <routing-key> [id] [exclude-list]"
print " qpid-route [OPTIONS] route del <dest-broker> <src-broker> <exchange> <routing-key>"
- print " qpid-route [OPTIONS] route list <dest-broker>"
- print " qpid-route [OPTIONS] route flush <dest-broker>"
+ print " qpid-route [OPTIONS] route list [<dest-broker>]"
+ print " qpid-route [OPTIONS] route flush [<dest-broker>]"
print
print "Options:"
print " -v [ --verbose ] Verbose output"
@@ -100,6 +100,10 @@ class RouteManager:
self.src = Broker (srcBroker)
mc = self.mclient
+ if self.dest.name() == self.src.name():
+ print "Linking broker to itself is not permitted"
+ sys.exit(1)
+
brokers = mc.syncGetObjects (self.mch, "broker")
broker = brokers[0]
link = self.getLink()
@@ -154,6 +158,10 @@ class RouteManager:
self.src = Broker (srcBroker)
mc = self.mclient
+ if self.dest.name() == self.src.name():
+ print "Linking broker to itself is not permitted"
+ sys.exit(1)
+
brokers = mc.syncGetObjects (self.mch, "broker")
broker = brokers[0]
@@ -314,12 +322,16 @@ for opt in optlist:
_dellink = True
nargs = len (cargs)
-if nargs < 3:
+if nargs < 2:
Usage ()
+if nargs == 2:
+ destBroker = "localhost"
+else:
+ destBroker = cargs[2]
group = cargs[0]
cmd = cargs[1]
-rm = RouteManager (cargs[2])
+rm = RouteManager (destBroker)
rm.ConnectToBroker ()
if group == "link":
@@ -332,8 +344,6 @@ if group == "link":
Usage()
rm.DelLink (cargs[3])
elif cmd == "list":
- if nargs != 3:
- Usage()
rm.ListLinks ()
elif group == "route":
@@ -352,9 +362,6 @@ elif group == "route":
else:
rm.DelRoute (cargs[3], cargs[4], cargs[5])
else:
- if nargs != 3:
- Usage ()
-
if cmd == "list":
rm.ListRoutes ()
elif cmd == "flush":