diff --git a/src/ui/main.py b/src/ui/main.py index 00749a78d..c081bd790 100755 --- a/src/ui/main.py +++ b/src/ui/main.py @@ -362,7 +362,7 @@ def setup(): flash("Missing form data.", "error") return redirect(url_for("setup")) - if not any(key in request.form for key in ("admin_username", "admin_password", "server_name", "hostname")): + if not any(key in request.form for key in ("admin_username", "admin_password", "admin_password_check", "server_name", "hostname")): flash("Missing either admin_username, admin_password, server_name or hostname parameter.", "error") return redirect(url_for("setup")) @@ -372,6 +372,10 @@ def setup(): flash("The admin username is too long. It must be less than 256 characters.", "error") error = True + if request.form["admin_password"] != request.form["admin_password_check"]: + flash("The passwords do not match.", "error") + error = True + if not USER_PASSWORD_RX.match(request.form["admin_password"]): flash("The admin password is not strong enough. It must contain at least 8 characters, including at least 1 uppercase letter, 1 lowercase letter, 1 number and 1 special character (#@?!$%^&*-).", "error") error = True diff --git a/src/ui/templates/setup.html b/src/ui/templates/setup.html index 4c3937a51..3f14b8c76 100644 --- a/src/ui/templates/setup.html +++ b/src/ui/templates/setup.html @@ -97,11 +97,11 @@ > Username - + Password - + Confirm Password - Hostname - + server name - -