def add_key(username, key_input, comment): if username == config.ADMIN: raise Unauthorized("Cannot set admin's key over xmlrpc!") # Cannot use stdin from xmlprc if key_input == '-': raise PubKeyException("Invalid public key") db = AuthorizedKeysDB() try: key = get_key_from_input(key_input) db.add_key_from_str(username, key, comment) except (PubKeyException, urllib2.HTTPError), e: db.close() logger.warning("%s failed to add key. comment: %s key: %s" % (username, comment, key_input)) raise e
return 1 try: key = get_key_from_input(" ".join(args)) except (urllib2.HTTPError, IOError, OSError), e: if len(e.args) > 1: subssh.errln(e.args[1]) else: subssh.errln(e.args[0]) return 1 exit_status = 0 db = AuthorizedKeysDB() try: db.add_key_from_str(username, key, comment) except (PubKeyException, AuthorizedKeysException), e: subssh.errln(e.args[0]) exit_status = 1 else: db.commit() db.close() return exit_status def list_keys(username): db = AuthorizedKeysDB(disable_lock=True) try: subuser = db.subusers[username] except KeyError: