diff --git a/gestion/chgpass.py b/gestion/chgpass.py index d5a109e9..fbc739a4 100755 --- a/gestion/chgpass.py +++ b/gestion/chgpass.py @@ -125,10 +125,17 @@ def change_password(ldap, login=None, verbose=False, no_cracklib=False, **args): """ if login is None: login = current_user + if type(login) == str: login = login.decode(config.in_encoding) + + if no_cracklib: + if not lc_ldap.attributs.nounou in ldap.droits: + no_cracklib = False + login = lc_ldap.crans_utils.escape(login) query = ldap.search(u"(uid=%s)" % login, mode="w") + if not query: affich_tools.cprint('Utilisateur introuvable dans la base de données, modification de l\'utilisateur local.', "rouge") sys.exit(2) @@ -249,7 +256,4 @@ if __name__ == "__main__": if args.help: parser.print_help() sys.exit(0) - if args.no_cracklib: - if not lc_ldap.attributs.nounou in ldap.droits: - args.no_cracklib = False change_password(**vars(args))