From 613ba6004130259c701bdab76e5587acfa49461a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Lebleu?= Date: Thu, 4 Sep 2014 11:06:26 +0200 Subject: [PATCH] [fix] Check password pattern in the actions map (fix #20) --- actionsmap/yunohost.yml | 13 +++++++++++++ locales/en.json | 2 +- locales/fr.json | 2 +- tools.py | 4 ---- user.py | 4 ---- 5 files changed, 15 insertions(+), 10 deletions(-) diff --git a/actionsmap/yunohost.yml b/actionsmap/yunohost.yml index cfd51caf7..a3012d582 100644 --- a/actionsmap/yunohost.yml +++ b/actionsmap/yunohost.yml @@ -132,6 +132,9 @@ user: extra: password: ask_password required: True + pattern: + - '^.{3,}$' + - pattern_password ### user_delete() delete: @@ -180,6 +183,10 @@ user: full: --change-password help: New password to set metavar: PASSWORD + extra: + pattern: + - '^.{3,}$' + - pattern_password --add-mailforward: help: Mailforward addresses to add nargs: "*" @@ -968,6 +975,9 @@ tools: extra: password: ask_new_admin_password required: True + pattern: + - '^.{3,}$' + - pattern_password ### tools_maindomain() maindomain: @@ -1012,6 +1022,9 @@ tools: extra: password: ask_new_admin_password required: True + pattern: + - '^.{3,}$' + - pattern_password --dyndns: help: Subscribe domain to a DynDNS service action: store_true diff --git a/locales/en.json b/locales/en.json index 43a8e05f4..be8c4c752 100644 --- a/locales/en.json +++ b/locales/en.json @@ -110,7 +110,6 @@ "service_cmd_exec_failed" : "Unable to execute command '{:s}'", "ldap_initialized" : "LDAP successfully initialized", - "password_too_short" : "Password is too short", "admin_password_change_failed" : "Unable to change password", "admin_password_changed" : "Administration password successfully changed", "new_domain_required" : "You must provide the new main domain", @@ -154,6 +153,7 @@ "pattern_firstname" : "Must be a valid first name", "pattern_lastname" : "Must be a valid last name", "pattern_email" : "Must be a valid email address (e.g. someone@domain.org)", + "pattern_password" : "Must be at least 3 characters long", "pattern_domain" : "Must be a valid domain name (e.g. my-domain.org)", "pattern_listname" : "Must be alphanumeric and underscore characters only", "pattern_port" : "Must be a valid port number (i.e. 0-65535)" diff --git a/locales/fr.json b/locales/fr.json index 063279a57..d4c092e54 100644 --- a/locales/fr.json +++ b/locales/fr.json @@ -110,7 +110,6 @@ "service_cmd_exec_failed" : "Impossible d'exécuter la commande '{:s}'", "ldap_initialized" : "Répertoire LDAP initialisé avec succès", - "password_too_short" : "Le mot de passe est trop court", "admin_password_change_failed" : "Impossible de modifier le mot de passe d'administration", "admin_password_changed" : "Mot de passe d'administration modifié avec succès", "new_domain_required" : "Vous devez spécifier le nouveau domaine principal", @@ -154,6 +153,7 @@ "pattern_firstname" : "Doit être un prénom valide", "pattern_lastname" : "Doit être un nom valide", "pattern_email" : "Doit être une adresse mail valide (ex. : someone@domain.org)", + "pattern_password" : "Doit être composé d'au moins 3 caractères", "pattern_domain" : "Doit être un nom de domaine valide (ex : mon-domaine.org)", "pattern_listname" : "Doit être composé uniquement de caractères alphanumérique et de tiret bas", "pattern_port" : "Doit être un numéro de port valide (0-65535)" diff --git a/tools.py b/tools.py index 7728f74e6..f057c371e 100644 --- a/tools.py +++ b/tools.py @@ -81,10 +81,6 @@ def tools_adminpw(old_password, new_password): old_password """ - # Validate password length - if len(new_password) < 4: - raise MoulinetteError(errno.EINVAL, m18n.n('password_too_short')) - old_password.replace('"', '\\"') old_password.replace('&', '\\&') new_password.replace('"', '\\"') diff --git a/user.py b/user.py index 67c81b03c..0d6a46f48 100644 --- a/user.py +++ b/user.py @@ -100,10 +100,6 @@ def user_create(auth, username, firstname, lastname, mail, password): from yunohost.hook import hook_callback from yunohost.app import app_ssowatconf - # Validate password length - if len(password) < 4: - raise MoulinetteError(errno.EINVAL, m18n.n('password_too_short')) - auth.validate_uniqueness({ 'uid' : username, 'mail' : mail