From db727c93292450ca30b129ab596a5beea044f0dc Mon Sep 17 00:00:00 2001 From: moneromooo Date: Sat, 7 Feb 2015 10:01:13 +0000 Subject: [PATCH] Catch invalid network names in IdentityFromString/LinkAccounts --- tipbot.py | 6 +++++- tipbot/utils.py | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/tipbot.py b/tipbot.py index 60bb3f8..fdd8f55 100644 --- a/tipbot.py +++ b/tipbot.py @@ -163,7 +163,11 @@ def LinkAccount(link,cmd): if linked_identity == None: link.send('usage: !link_account [:]') return - linked_identity=IdentityFromString(link,linked_identity) + try: + linked_identity=IdentityFromString(link,linked_identity) + except Exception,e: + link.send('%s is invalid' % linked_identity) + return ok,reason=LinkCore(link,linked_identity) if not ok: link.send('An error occured') diff --git a/tipbot/utils.py b/tipbot/utils.py index cd7adee..5a70a4a 100644 --- a/tipbot/utils.py +++ b/tipbot/utils.py @@ -381,6 +381,9 @@ def IdentityFromString(link,s): parts=s.split(':') network_name=parts[0] network=GetNetworkByName(network_name) + if not network: + log_error('unknown network: %s' % network_name) + raise RuntimeError('Unknown network: %s' % network_name) nick=parts[1] return network.name+':'+network.canonicalize(nick)