X-Git-Url: https://git.distorted.org.uk/~mdw/tripe/blobdiff_plain/a62f8e8a94bf56194539f7140a1215bc74309b36..refs/tags/1.0.0pre12.2:/svc/connect.in diff --git a/svc/connect.in b/svc/connect.in index dae11620..0031d36f 100644 --- a/svc/connect.in +++ b/svc/connect.in @@ -87,10 +87,14 @@ def addpeer(peer, addr): if peer.name in S.list(): S.kill(peer.name) try: + booltrue = ['t', 'true', 'y', 'yes', 'on'] S.add(peer.name, tunnel = peer.get('tunnel', None), keepalive = peer.get('keepalive', None), - cork = peer.get('cork', 'nil') in ['t', 'true', 'y', 'yes', 'on'], + key = peer.get('key', None), + priv = peer.get('priv', None), + mobile = peer.get('mobile', 'nil') in booltrue, + cork = peer.get('cork', 'nil') in booltrue, *addr) except T.TripeError, exc: raise T.TripeJobError(*exc.args) @@ -126,6 +130,16 @@ def cmd_info(name): for i in items: T.svcinfo('%s=%s' % (i, peer.get(i))) +def cmd_userpeer(user): + """ + userpeer USER: Report the peer name for the named user. + """ + try: + peer = CDB.init(opts.cdb)['U' + user] + except KeyError: + raise T.TripeJobError('unknown-user', user) + T.svcinfo(peer) + ## Dictionary mapping challenges to waiting passive-connection coroutines. chalmap = {} @@ -237,7 +251,8 @@ service_info = [('connect', VERSION, { 'passive': (1, None, '[OPTIONS] USER', cmd_passive), 'active': (1, 1, 'PEER', cmd_active), 'info': (1, 1, 'PEER', cmd_info), - 'list': (0, 0, '', cmd_list) + 'list': (0, 0, '', cmd_list), + 'userpeer': (1, 1, 'USER', cmd_userpeer) })] if __name__ == '__main__':