Klaus: LDAP_Search funktioniert nur eingeschränkt?

Hallo,

ich versuche über PHP und ldap_search nach Person in einem Novell eDirectory zu suchen:

Solange ich nur nach Vornamen/Nachname suche, erhalte ich Ergebnisse, allerdings kann ich auch hier nicht "cn" und "st" auslesen:
$erg = ldap_get_entries($ds, $sr);
$firma = $erg[$i]["cn"][1];
$land = $erg[$i]["st"][0];

$sr=ldap_search($ds,"ou=Persons,o=PORTAL", "(|(givenname=$suche*)(sn=$suche*))");

Ich möchte aber auch gerne nach dem Login-Namen und nach weiteren Attributen suchen können.
Die Suche nach "cn" findet nun gar keine Einträge mehr und die Suche nach "dn"
erzeugt sogar eine Fehlermeldung:
"Inappropriate matching..."

Wenn ich nach bekanntem loginname suche:
$sr=ldap_search($ds,"ou=Persons,o=PORTAL", "(&(objectClass=Person)(cn=$loginname))");
bekomme ich alle Felder sauber zurück, inklusive "cn" und auch "st".

Hat jemand eine Idee?