Author: tridge
Date: 2005-10-28 07:05:32 +0000 (Fri, 28 Oct 2005)
New Revision: 11364

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=11364

Log:

added a ldb_attr_dn() function for testing if an attribute name is
"dn" or "distinguishedName". This makes us a bit more consistent


Modified:
   branches/SAMBA_4_0/source/lib/ldb/common/ldb_match.c
   branches/SAMBA_4_0/source/lib/ldb/common/ldb_utf8.c
   branches/SAMBA_4_0/source/lib/ldb/include/ldb.h
   branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_index.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/ldb/common/ldb_match.c
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/common/ldb_match.c        2005-10-28 
07:00:52 UTC (rev 11363)
+++ branches/SAMBA_4_0/source/lib/ldb/common/ldb_match.c        2005-10-28 
07:05:32 UTC (rev 11364)
@@ -87,8 +87,7 @@
                            struct ldb_parse_tree *tree,
                            enum ldb_scope scope)
 {
-
-       if (ldb_attr_cmp(tree->u.present.attr, "distinguishedName") == 0) {
+       if (ldb_attr_dn(tree->u.present.attr) == 0) {
                return 1;
        }
 
@@ -151,8 +150,7 @@
        struct ldb_dn *valuedn;
        int ret;
 
-       if (ldb_attr_cmp(tree->u.equality.attr, "dn") == 0 ||
-           ldb_attr_cmp(tree->u.equality.attr, "distinguishedName") == 0) {
+       if (ldb_attr_dn(tree->u.equality.attr) == 0) {
                valuedn = ldb_dn_explode_casefold(ldb, 
                                                  (char 
*)tree->u.equality.value.data);
                if (valuedn == NULL) {

Modified: branches/SAMBA_4_0/source/lib/ldb/common/ldb_utf8.c
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/common/ldb_utf8.c 2005-10-28 07:00:52 UTC 
(rev 11363)
+++ branches/SAMBA_4_0/source/lib/ldb/common/ldb_utf8.c 2005-10-28 07:05:32 UTC 
(rev 11364)
@@ -80,3 +80,15 @@
 {
        return ldb_caseless_cmp(attr1, attr2);
 }
+
+/*
+  we accept either 'dn' or 'distinguishedName' for a distinguishedName
+*/
+int ldb_attr_dn(const char *attr)
+{
+       if (ldb_attr_cmp(attr, "dn") == 0 ||
+           ldb_attr_cmp(attr, "distinguishedName") == 0) {
+               return 0;
+       }
+       return -1;
+}

Modified: branches/SAMBA_4_0/source/lib/ldb/include/ldb.h
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/include/ldb.h     2005-10-28 07:00:52 UTC 
(rev 11363)
+++ branches/SAMBA_4_0/source/lib/ldb/include/ldb.h     2005-10-28 07:05:32 UTC 
(rev 11364)
@@ -391,7 +391,8 @@
 
 /* useful functions for ldb_message structure manipulation */
 int ldb_dn_cmp(struct ldb_context *ldb, const char *dn1, const char *dn2);
-int ldb_attr_cmp(const char *dn1, const char *dn2);
+int ldb_attr_cmp(const char *attr1, const char *attr2);
+int ldb_attr_dn(const char *attr);
 char *ldb_dn_escape_value(void *mem_ctx, struct ldb_val value);
 
 /* create an empty message */

Modified: branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_index.c
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_index.c       2005-10-28 
07:00:52 UTC (rev 11363)
+++ branches/SAMBA_4_0/source/lib/ldb/ldb_tdb/ldb_index.c       2005-10-28 
07:05:32 UTC (rev 11364)
@@ -321,8 +321,7 @@
        if (ldb_attr_cmp(tree->u.equality.attr, LTDB_OBJECTCLASS) == 0) {
                return ltdb_index_dn_objectclass(module, tree, index_list, 
list);
        }
-       if (ldb_attr_cmp(tree->u.equality.attr, "distinguishedName") == 0 ||
-           ldb_attr_cmp(tree->u.equality.attr, "dn") == 0) {
+       if (ldb_attr_dn(tree->u.equality.attr) == 0) {
                list->dn = talloc_array(list, char *, 1);
                if (list->dn == NULL) {
                        ldb_oom(module->ldb);

Reply via email to