chiark / gitweb /
svc/connect.in (cmd_kick): Don't assume there's a `connect' command.
authorMark Wooding <mdw@distorted.org.uk>
Fri, 8 Sep 2017 08:10:25 +0000 (09:10 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Thu, 14 Jun 2018 09:34:25 +0000 (10:34 +0100)
The `malformed-peer' message reported if there isn't is rather
unpleasant.  Instead, just force a key exchange.  (This will make more
sense later.)

svc/connect.in

index 917366d15eb0b86553311c798072ede0133fee5e..3e9fa0a0b707009871b8c8e75a07b3c1f560b444 100644 (file)
@@ -720,7 +720,9 @@ def cmd_kick(name):
   except KeyError: raise T.TripeJobError('peer-not-adopted', name)
   try: peer = Peer(name)
   except KeyError: raise T.TripeJobError('unknown-peer', name)
-  T.spawn(run_connect, peer, peer.get('connect'))
+  conn = peer.get('connect', None)
+  if conn: T.spawn(run_connect, peer, peer.get('connect'))
+  else: T.spawn(lambda p: S.forcekx(p.name), peer)
 
 def cmd_adopted():
   """