lorill | Sur mon pc linux de test, un programme avec ldap marche. Sur la machine cible (terminal leger), il marche pas. j'isole le bout qui merdoie :
Code :
- #include <ldap.h>
-
- int main(int argc, char**argv)
- {
- LDAP * ld = ldap_init(LDAP_SERVER, LDAP_PORT);
- int res = ldap_simple_bind_s(ld, BIND_DN, BIND_PWD);
- ldap_perror(ld, "simple bind" );
-
- ldap_unbind(ld);
- }
|
Simple et efficace, je me connecte, et c'est tout. Pour comparer, j'eteinds le serveur, et je strace le programme.
Sur le pc qui marche :
Citation :
open("/home/pam/ldaprc", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/home/pam/.ldaprc", O_RDONLY) = -1 ENOENT (No such file or directory)
socket(PF_NETLINK, SOCK_RAW, 0) = 3
bind(3, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0
...
write(2, "simple bind: Can\'t contact LDAP "..., 44simple bind: Can't contact LDAP server (-1)
) = 44
exit_group(0) = ?
|
Sur le terminal qui marche pas, il n'y a même pas d'appel a socket.
Le réseau marche (tests avec ping & telnet sur le port 389, serveur allumé). Les libs sont les mêmes (copie a partir du pc de test).
Quelqu'un a une idée ? possible que j'ai oublié un fichier de config ?
(strace m'indique qu'il essaye d'ouvrir /etc/openldap/ldap.conf, mais même en metant un fichier la, ca va pas mieux). |