diff --git a/chatmaild/src/chatmaild/config.py b/chatmaild/src/chatmaild/config.py index 332c1029..68d11f75 100644 --- a/chatmaild/src/chatmaild/config.py +++ b/chatmaild/src/chatmaild/config.py @@ -31,7 +31,7 @@ class Config: self.username_min_length = int(params["username_min_length"]) self.username_max_length = int(params["username_max_length"]) self.password_min_length = int(params["password_min_length"]) - self.invite_token = params["invite_token"] + self.invite_token = params.get("invite_token", "") self.passthrough_senders = params["passthrough_senders"].split() self.passthrough_recipients = params["passthrough_recipients"].split() self.www_folder = params.get("www_folder", "") diff --git a/chatmaild/src/chatmaild/doveauth.py b/chatmaild/src/chatmaild/doveauth.py index 70589214..f1cc38fe 100644 --- a/chatmaild/src/chatmaild/doveauth.py +++ b/chatmaild/src/chatmaild/doveauth.py @@ -25,10 +25,15 @@ def is_allowed_to_create(config: Config, user, cleartext_password) -> bool: """Return True if user and password are admissable.""" if os.path.exists(NOCREATE_FILE): if config.invite_token and config.invite_token not in cleartext_password: - logging.warning(f"blocked account creation because {NOCREATE_FILE!r} exists.") + logging.warning( + f"blocked account creation because {NOCREATE_FILE!r} exists." + ) return False - if len(cleartext_password.replace(config.invite_token, "")) < config.password_min_length: + if ( + len(cleartext_password.replace(config.invite_token, "")) + < config.password_min_length + ): logging.warning( "Password needs to be at least %s characters long", config.password_min_length, diff --git a/chatmaild/src/chatmaild/newemail.py b/chatmaild/src/chatmaild/newemail.py index cf483ff2..6ca39cba 100644 --- a/chatmaild/src/chatmaild/newemail.py +++ b/chatmaild/src/chatmaild/newemail.py @@ -21,9 +21,11 @@ def create_newemail_dict(config: Config): secrets.choice(ALPHANUMERIC_PUNCT) for _ in range(config.password_min_length + 3) ) - redirect_uri = os.getenv("REQUEST_URI") - invite_token = redirect_uri[5:] if redirect_uri != "/new" else "" - return dict(email=f"{user}@{config.mail_domain}", password=f"{invite_token}{password}") + redirect_uri = os.getenv("REQUEST_URI", "/new") + invite_token = "" if redirect_uri == "/new" else redirect_uri[5:] + return dict( + email=f"{user}@{config.mail_domain}", password=f"{invite_token}{password}" + ) def print_new_account():