GET_STRING_LDB_VAL(msg, attr, mem_ctx, p, elem, strict, get_string_val); \
} while (0)
+#define GET_STRING_RDN_VAL(msg, mem_ctx, p, elem, strict) do { \
+ const struct ldb_val *get_string_val = ldb_dn_get_rdn_val(msg->dn); \
+ GET_STRING_LDB_VAL(msg, "rdn_val", mem_ctx, p, elem, strict, get_string_val); \
+} while (0)
+
#define GET_STRING_LIST_LDB(msg, attr, mem_ctx, p, elem) do { \
int get_string_list_counter; \
struct ldb_message_element *get_string_list_el = ldb_msg_find_element(msg, attr); \
* 'name'.
*/
if (obj->cn == NULL) {
- GET_STRING_LDB(msg, "name", obj, obj, cn, true);
+ GET_STRING_LDB(msg, "name", obj, obj, cn, false);
+ }
+ if (obj->cn == NULL) {
+ GET_STRING_RDN_VAL(msg, obj, obj, cn, true);
}
GET_STRING_LDB(msg, "lDAPDisplayName", obj, obj, lDAPDisplayName, true);