diff --git a/gestion/chgpass.py b/gestion/chgpass.py index cc71a7bc..e60ee92f 100755 --- a/gestion/chgpass.py +++ b/gestion/chgpass.py @@ -24,6 +24,7 @@ from user_tests import getuser, isadm from affich_tools import cprint, coul import secrets_new as secrets + try: ldap_password = secrets.get("ldap_password") ldap_auth_dn = secrets.get("ldap_auth_dn") @@ -64,7 +65,7 @@ def checkpass(mdp, dialog=False, longueur=8): except (UnicodeEncodeError, UnicodeDecodeError): return False, coul(u'Les accents ou caractères bizarres ne sont pas autorisés (mais #!@*&%{}| le sont !)', 'rouge', dialog=dialog) - + ## 2bis - On évite une attaque de type injection de code shell if "'" in mdp: @@ -87,7 +88,7 @@ def checkpass(mdp, dialog=False, longueur=8): else : autres += 4 if (not majuscules and not minuscules): - return False, coul(u'Mot de passe sans majuscules et sans miniscules. Mélangez des deux ?') + return False, coul(u'Mot de passe sans majuscules et sans miniscules. Mélangez des deux ?', dialog=dialog) if len(mdp) < 16 - minuscules - majuscules - chiffres - autres: return False, coul(u'Mot de passe trop simple. Ajoutez des chiffres ou des caractères parmis #!@*&%{}| ou mélangez des majuscules/minuscules ?', 'rouge', dialog=dialog) @@ -100,7 +101,7 @@ def checkpass(mdp, dialog=False, longueur=8): ' it is based on a dictionary word': u'Le mot de passe est basé sur un mot du dictionnaire' , ' it is too simplistic/systematic': u'Le mot de passe est trop simple/répétitif' }.get(test.split(':')[-1],test.split(':')[-1]) - return False, coul(commentaire, 'rouge') + return False, coul(commentaire.strip(), 'rouge', dialog=dialog) return True, ""