Salut,

j'utilise un plugin dans squirrelmail qui permet de changer le password des utilisateurs ie permettre aux utilisateurs de mon serveur mail de changer leur password, ce plugin utilise un executable en C pour faire le changement de password dans le fichier shadow,

mon problem est le suivant: j'ai lu le code C, l idée est simple récupérer le nom de l utilisateur, l'ancien pass et le nouveau pass puis

il récuépre l'ancien pass en crypté dans le fichier shadow et il fait ceci

WOld_pw = ancien pass crypté dans le fichier shadow
Old_pw = ancien pass tapé par l'utilisateur

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
if(strcmp(WOld_pw, (char *)crypt(Old_pw, WOld_pw)) != 0)
{
}
j'ai remarqué que le pass lu dans le fichier shadwo et celui généré pas la fonction crypt ne sont pas identiques en tout cas la moitié du pass n'est pas la meme, et du coup le changement de mot de passe ne peut s'effectuer.....

exemple:
voici le pass d'un utilisateur lu dans le fichier shadwo:
$2a$05$h1DRGs7./mpS3oRgTMlDduKISf2WopWNzFgvZdVHy61/ybLp8CTmi

et voici celui generé par la fonction crypt:
$2a$05$h1DRGs7./mpS3oRgTMlDdu6x214J/eA3lpVT0CofKnM6cl7ZNPW7i

et c toujours la meme chose pour tout les utilisateurs, une moitié identique l'autre non.............

merci