diff options
author | Erik Johnston <erik@matrix.org> | 2016-07-05 17:30:22 +0100 |
---|---|---|
committer | Erik Johnston <erik@matrix.org> | 2016-07-05 17:30:22 +0100 |
commit | 651faee698d5ff4806d1e0e7f5cd4c438bf434f1 (patch) | |
tree | e78a06f28f9a907f74a2e5d2e954eb5e8e33cfaf /scripts | |
parent | Protect password when registering using shared secret (diff) | |
download | synapse-651faee698d5ff4806d1e0e7f5cd4c438bf434f1.tar.xz |
Add an admin option to shared secret registration
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/register_new_matrix_user | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/scripts/register_new_matrix_user b/scripts/register_new_matrix_user index 6d055fd012..987bf32d1c 100755 --- a/scripts/register_new_matrix_user +++ b/scripts/register_new_matrix_user @@ -42,6 +42,7 @@ def request_registration(user, password, server_location, shared_secret, admin=F "password": password, "mac": mac, "type": "org.matrix.login.shared_secret", + "admin": admin, } server_location = server_location.rstrip("/") @@ -73,7 +74,7 @@ def request_registration(user, password, server_location, shared_secret, admin=F sys.exit(1) -def register_new_user(user, password, server_location, shared_secret): +def register_new_user(user, password, server_location, shared_secret, admin): if not user: try: default_user = getpass.getuser() @@ -104,7 +105,14 @@ def register_new_user(user, password, server_location, shared_secret): print "Passwords do not match" sys.exit(1) - request_registration(user, password, server_location, shared_secret) + if not admin: + admin = raw_input("Make admin [no]: ") + if admin in ("y", "yes", "true"): + admin = True + else: + admin = False + + request_registration(user, password, server_location, shared_secret, bool(admin)) if __name__ == "__main__": @@ -124,6 +132,11 @@ if __name__ == "__main__": default=None, help="New password for user. Will prompt if omitted.", ) + parser.add_argument( + "-a", "--admin", + action="store_true", + help="Register new user as an admin. Will prompt if omitted.", + ) group = parser.add_mutually_exclusive_group(required=True) group.add_argument( @@ -156,4 +169,4 @@ if __name__ == "__main__": else: secret = args.shared_secret - register_new_user(args.user, args.password, args.server_url, secret) + register_new_user(args.user, args.password, args.server_url, secret, args.admin) |