[spip-dev] gestion d'erreur dans spip et ldaps

Y a-t-il un mécanisme de gestion d'erreurs dans spip de façon à
pouvoir faire remonter les erreurs proprement.

Le cas qui m'intéresse présentement et un cas de connexion à
l'annuaire ldap qui ne marcherais pas. Spip répond à tort
"Erreur de mot de passe" alors qu'il est possible de tester si
la connexion à l'annuaire ne fonctionne pas.
J'ai bien patché "function spip_connect_ldap()" dans inc_connect
mais je ne trouve pas de moyen de faire remonter l'erreur.

A noter que, comme la documentation ldap dit que ldaphost et ldapport
sont deprecated en faveur de l'URI, on pourrait aussi passer à
cette nouvelle écriture (indispensable pour ldaps).

Ce serait pourtant vachement précieux de savoir qu'une connexion
basée sur ldap ne marche pas, non parce que le mot de passe est faux
mais parce que pour un motif ou pour un autre l'annuaire ldap
ne répond pas.

Par contre, j'ai un patch qui fait que la connexion à l'annuaire
ldap est vraiment testée lors de l'installation. La version
actuelle dit que la connexion a réussi même quand ce n'est pas le cas.

A ce stade, j'ai d'ailleurs une question. Pourquoi ce test:?
- if ($ldap_link && ($r || !$login_ldap)) {
Je suis obligée d'ôter !$login_ldap sinon le test est toujours
vrai. Mais il a sans doute été mis pour une raison?
Quelqu'un sait?

Ci-joint mes embryons de patch. Ceci paraît anecdotique mais
je ne peux que conseiller de ne pas accéder à un annuaire
ldap sans encryption lors du passage de mot de passe.
Je souhaiterais d'ailleur que la doc de spip qui parle de
ldap soit modifiée dans ce sens.

          Anne

P.S. Je ne trouve pas de document qui dit comment il faut
fabriquer son patch (quelle commande unix précise?).

inc_connect.php3 (658 Bytes)

install.php3.patch (1.51 KB)