Bonjour à tous,
J'ai installé tel que c'est écrit dans cet doc ( http://www.gentoo.org/doc/fr/virt-mail-howto.xml ) postfix - courier-imap - mysql - sasl - etc...
Tout fonctionne très bien, mais il y'a un petit détail qui me chagrine, les mots de passe sont en clair dans la base mysql.
J'ai trouvé d'autres docs qui sont casiment identiques à la première et qui semblent pouvoir intégrer le cryptage des mots de passe (ex: http://kirb.insanegenius.net/postfix.html )
Cependant, dans chaque doc, il est écrit qu'il ne faut pas confondre le cryptage de mot de passe MySql (password()) et le cryptage au niveau de l'OS (encrypt()) et que courier-imap lui utilise le cryptage de l'OS.
Soit ! Puisqu'il est écrit d'utiliser la fonction encrypt() voici la requete que j'utilise pour mettre à jour un enregistrement de la table utilisateurs :
UPDATE 'utilisateurs' set 'crypt' = encrypt("password" ) WHERE id = '1';
Le champ crypt devient donc : TS6SQtQUA5m3Q
Tout peut paraitre normal jusque là, mais si je réexcute la MEME requete, il devrait me donner le meme résultat !?
et bien le champ crypt devient : ScRpgNPWh3biw
Et à chaque fois le cryptage change...
Après avoir fouillé un peu sur le net, sur cette page ( http://dev.mysql.com/doc/mysql/fr/ [...] tions.html ) explique que encrypt est basé sur crypt() de l'OS. Or crypt() de l'OS lui a besoin de 2 arguments passwd et salt (dixit man crypt) ...
Bref, en gros, si le cryptage du mot de passe change tout le temps, il est fatal que l'authentification ne marche pas.
Mes questions en vrac sont :
Quelqu'un a t il déjà réussi à mettre les mots de passes en crypté dans une base mysql pour courier-imap ?
Pourquoi ma fonction encrypt() me renvoie t elle toujours un cryptage différent ?
Est ce que je me tire une balle maintenant ou plus tard ???
Cela va faire 24h non-stop que je suis dessus et je n'en peux plus, aidez moi