2012-04-19 12 views
5

Ich ändere veraltete ldap-Funktionen in nicht veraltete Funktionen. Aber ich habe Probleme mit ldap_sasl_bind_s. It returns error code 49, was ungültige Anmeldeinformationen bedeutet. Aber ich bin sicher, dass die Anmeldeinformationen gültig sind. Ansonsten habe ichFehler bei der Migration auf nicht veraltete ldap-Funktionen

TLS_REQCERT never 

TLSVerifyClient never 

zu /etc/openldap/ldap.conf. Trotzdem bekomme ich den Fehler.

ldap_simple_bind_s(q->ld, binddn, creds.bv_val); //works well 

ldap_sasl_bind_s(q->ld, binddn, LDAP_SASL_SIMPLE , &creds, NULL, NULL, NULL); //returns ldap error code 49 but continues working 

Das Hauptproblem ist, dass: Wenn ich ldap_sasl_bind_s verwende, es tut alle attrbiutes binden, dass ich in meiner ldap Architektur bekam. Auch wenn ich ein vorhandenes Attribut suche, gibt es NOSUCH-Fehler zurück.

Jede Hilfe wäre willkommen.

Antwort

0

Grund C-Programmierung, die uber-Grundlagen abdeckt, obwohl mir etwas sagen Sie, dieses Zeug schon gelesen: (? Und ich kann nicht von der Frage sagen, ob Ihre Anwendung extern ist oder Sie sich bewegen veraltete Funktionen aus der OpenLDAP-Quellen)

Haben Sie gelesen this document, die mir zeigt, dass ldap_simple_bind und ldap_sasl_bind_s wird das gleiche funktionieren, wenn char *LDAP_SASL_SIMPLE = 0;