Bonjour les amis.
J'ai un petit souci aujourd'hui, en effet, comme à l'acoutumé, je suis en train de faire le bind entre un service A et un serveur de base de données MySQL, jusque là, tout vas bien.
Le hic, c'est que pour une fois, je ne bosse pas sur un debian squeeze mais sur un RHEL 5.3 et les sources du DVD de cette distrib.
Pas de connexion au net.
Le service en question est Pure-ftpd compilé avec --with-mysql
Mon soucis, est très simple vous allez voir.
Apres analyse du pourquoi du comment, je me suis aperçue que mon service PureFtpd ne parvenait pas à se binder au MySQL car ce dit MySQL est en version: 5.0.45-log (Source distribution).
Hors, par défaut dans cette version, c'est la fonction PASSWORD() qui est utilisé pour insérer les mots de passes en base.
Personnellement je souhaiterais que ce soit la fonction SHA1() qui soit utilisé, mais malheureusement quand je modifie la base pour que les mots de passes soit de type SHA1, je me retrouve avec un beau:
[Warning] Found invalid password for user: 'root@localhost'; Ignoring user
Là dessus, pas de soucis, redémarrage en skip-grant-tables, et hop, on reviens a une valeur générée par PASSWORD().
Vue que la version de pureftpd que j'utilise ne prend plus en charge PASSWORD() je suis un peu embêté
Maintenant, après avoir essayer quelques tricks, j'ai comme l'impression que je dois dire à MySQL d'utiliser la fonction SHA1 et non PASSWORD pour traiter ces champs password.
Or, je ne sais pas comment procéder pour donner cette indication à MySQL, et la doc MySQL n'aide pas.
Donc, si une âme charitable sait comment je peux faire pour demander à MySQL d'utiliser SHA1() par défaut, ça serait cool.
PS: C'est un moteur INNODB, et mon fichier My.cnf est présent et identique à une plateforme qui fonctionne ;-)
Partager