[chgpass] ldap_crans dépend aussi de chgpass, et cracklib n'est pas partout.
* On fait donc un import plus lazy et sécurisé
This commit is contained in:
parent
1dc52d6fa0
commit
47166fc404
2 changed files with 20 additions and 13 deletions
|
@ -19,7 +19,6 @@ import gestion.config as config
|
|||
import config.password
|
||||
import getpass
|
||||
import argparse
|
||||
import cracklib
|
||||
import gestion.affich_tools as affich_tools
|
||||
import lc_ldap.shortcuts
|
||||
import lc_ldap.attributs
|
||||
|
@ -103,16 +102,24 @@ def check_password(password, no_cracklib=False, dialog=False):
|
|||
|
||||
if not problem:
|
||||
try:
|
||||
# Le mot vient-il du dico (à améliorer, on voudrait pouvoir préciser
|
||||
# la rigueur du test) ?
|
||||
password = cracklib.VeryFascistCheck(password)
|
||||
return True, ""
|
||||
except ValueError as e:
|
||||
if not dialog:
|
||||
affich_tools.cprint(str(e).decode(), "rouge")
|
||||
else:
|
||||
msg += affich_tools.coul(str(e).decode(), "rouge", dialog=dialog)
|
||||
return False, msg
|
||||
import cracklib
|
||||
except ImportError:
|
||||
affichtools.cprint("Attention : la librairie python cracklib n'est pas accessible sur ce serveur.", "rouge")
|
||||
|
||||
if sys.modules.get('cracklib', ''):
|
||||
try:
|
||||
# Le mot vient-il du dico (à améliorer, on voudrait pouvoir préciser
|
||||
# la rigueur du test) ?
|
||||
password = cracklib.VeryFascistCheck(password)
|
||||
return True, msg
|
||||
except ValueError as e:
|
||||
if not dialog:
|
||||
affich_tools.cprint(str(e).decode(), "rouge")
|
||||
else:
|
||||
msg += affich_tools.coul(str(e).decode(), "rouge", dialog=dialog)
|
||||
return False, msg
|
||||
else:
|
||||
return True, msg
|
||||
else:
|
||||
return False, msg
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ import netaddr
|
|||
import time
|
||||
import annuaires_pg as annuaires
|
||||
import config, config.impression, iptools, ip6tools, cPickle, config_mail
|
||||
from chgpass import chgpass
|
||||
from chgpass import change_password
|
||||
from affich_tools import coul, prompt, cprint
|
||||
from email_tools import send_email
|
||||
from syslog import openlog, closelog, syslog
|
||||
|
@ -1951,7 +1951,7 @@ class BaseProprietaire(BaseClasseCrans):
|
|||
args+= self._data['uid'][0]
|
||||
r = prompt(u"Attribuer tout de suite un mot de passe ? [O/N]", "O")
|
||||
if r == 'O' or r == 'o':
|
||||
chgpass(self.dn)
|
||||
change_password(self.dn)
|
||||
else:
|
||||
ret += coul(u' Il faudra penser à attribuer un mot de passe\n', 'jaune')
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue