summaryrefslogtreecommitdiff
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
commitbe33ceb0e191f8da01b12090a164b84e9077af7c (patch)
tree67a9d1d597cb478edd8fd6ca8d43470b11de2d4b
parentcdb13b59b69765aec7fdb4257ad1481b0513d061 (diff)
downloadqpid-python-be33ceb0e191f8da01b12090a164b84e9077af7c.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/qpid@659186 13f79535-47bb-0310-9956-ffa450edef68
-rwxr-xr-xpython/commands/qpid-route27
1 files changed, 17 insertions, 10 deletions
diff --git a/python/commands/qpid-route b/python/commands/qpid-route
index 5206f5c3cb..4e8dbc3a77 100755
--- a/python/commands/qpid-route
+++ b/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":