diff --git a/gestion/chgpass.py b/gestion/chgpass.py index ed9389f4..ccfc77e0 100755 --- a/gestion/chgpass.py +++ b/gestion/chgpass.py @@ -33,7 +33,10 @@ syslog.openlog('chgpass',syslog.LOG_PID,syslog.LOG_AUTH) def decode64(chaine): """ Décode une chaine de caratère utf8/64 et retourne un unicode """ - return base64.decodestring(chaine).decode('utf8') + try: + return base64.decodestring(chaine).decode('utf8','ignore') + except: + return chaine.decode('utf8','ignore') def chgpass(dn) : cprint("""Le nouveau mot de passe doit comporter au minimum 6 caractères. @@ -155,8 +158,8 @@ if __name__ == '__main__' : s = s.split('\n') try : dn = s[0].split()[1] - if len(s) == 2 or not s[2] : - cprint("Changement du mot de passe du club %s "%decode64(s[1].split()[1]),'vert') + if len(s) == 2 : + cprint("Changement du mot de passe du club %s "%decode64(' '.join(s[1].split()[1:])),'vert') else : cprint("Changement du mot de passe de %s %s " % ( s[2].split()[1], s[1].split()[1] ),'vert') except :