From b22c0449d1f4943944b8a4dd037f97a69192c6ca Mon Sep 17 00:00:00 2001 From: Alexander Gordeev Date: Jun 28 2010 13:26:03 +0000 Subject: Add explicit requests for several operational attrs Operational attributes are not returned in searched requests unless explicitly requested according to RFC 4512 section 5.1. Therefore to get several standard attributes of root DSE we have to request for them. The requested attrs are: - altServer - namingContexts - supportedControl - supportedExtension - supportedFeatures - supportedLDAPVersion - supportedSASLMechanisms Signed-off-by: Alexander Gordeev --- diff --git a/src/providers/ldap/sdap_async.c b/src/providers/ldap/sdap_async.c index 20828d2..25f8bcf 100644 --- a/src/providers/ldap/sdap_async.c +++ b/src/providers/ldap/sdap_async.c @@ -637,6 +637,17 @@ struct tevent_req *sdap_get_rootdse_send(TALLOC_CTX *memctx, { struct tevent_req *req, *subreq; struct sdap_get_rootdse_state *state; + const char *attrs[] = { + "*", + "altServer", + "namingContexts", + "supportedControl", + "supportedExtension", + "supportedFeatures", + "supportedLDAPVersion", + "supportedSASLMechanisms", + NULL + }; DEBUG(9, ("Getting rootdse\n")); @@ -650,7 +661,7 @@ struct tevent_req *sdap_get_rootdse_send(TALLOC_CTX *memctx, subreq = sdap_get_generic_send(state, ev, opts, sh, "", LDAP_SCOPE_BASE, - "(objectclass=*)", NULL, NULL, 0); + "(objectclass=*)", attrs, NULL, 0); if (!subreq) { talloc_zfree(req); return NULL;