diff --git a/management/mailconfig.py b/management/mailconfig.py
index d044c1ab..4cb57027 100755
--- a/management/mailconfig.py
+++ b/management/mailconfig.py
@@ -599,8 +599,8 @@ def validate_password(pw):
raise ValueError("No password provided.")
if re.search(r"[\s]", pw):
raise ValueError("Passwords cannot contain spaces.")
- if len(pw) < 4:
- raise ValueError("Passwords must be at least four characters.")
+ if len(pw) < 8:
+ raise ValueError("Passwords must be at least eight characters.")
if __name__ == "__main__":
diff --git a/management/templates/users.html b/management/templates/users.html
index 2cda327c..e0545835 100644
--- a/management/templates/users.html
+++ b/management/templates/users.html
@@ -31,7 +31,7 @@
- - Passwords must be at least four characters and may not contain spaces. For best results, generate a random password.
+ - Passwords must be at least eight characters and may not contain spaces. For best results, generate a random password.
- Use aliases to create email addresses that forward to existing accounts.
- Administrators get access to this control panel.
- User accounts cannot contain any international (non-ASCII) characters, but aliases can.
@@ -296,7 +296,7 @@ function mod_priv(elem, add_remove) {
function generate_random_password() {
var pw = "";
var charset = "ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz23456789"; // confusable characters skipped
- for (var i = 0; i < 10; i++)
+ for (var i = 0; i < 12; i++)
pw += charset.charAt(Math.floor(Math.random() * charset.length));
show_modal_error("Random Password", "Here, try this:
" + pw + "