r25446: Merge some changes I made on the way home from SFO:
[jelmer/samba4-debian.git] / source / dsdb / samdb / samdb.c
index 9454daceee168b14810d8a22977bf5e4d4ed56fb..2f755d6c791fb21b8678f37ba6cfd4262440add5 100644 (file)
@@ -35,6 +35,7 @@
 #include "db_wrap.h"
 #include "dsdb/samdb/samdb.h"
 #include "dsdb/common/flags.h"
+#include "param/param.h"
 
 /*
   connect to the SAM database
@@ -44,7 +45,8 @@ struct ldb_context *samdb_connect(TALLOC_CTX *mem_ctx,
                                  struct auth_session_info *session_info)
 {
        struct ldb_context *ldb;
-       ldb = ldb_wrap_connect(mem_ctx, lp_sam_url(), session_info,
+       ldb = ldb_wrap_connect(mem_ctx, global_loadparm, 
+                              lp_sam_url(global_loadparm), session_info,
                               NULL, 0, NULL);
        if (!ldb) {
                return NULL;
@@ -635,17 +637,13 @@ struct ldb_message_element *samdb_find_attribute(struct ldb_context *ldb,
 {
        int i;
        struct ldb_message_element *el = ldb_msg_find_element(msg, name);
-       struct ldb_val v;
-
-       v.data = discard_const_p(uint8_t, value);
-       v.length = strlen(value);
 
        if (!el) {
                return NULL;
        }
 
        for (i=0;i<el->num_values;i++) {
-               if (strcasecmp(value, (char *)el->values[i].data) == 0) {
+               if (ldb_attr_cmp(value, (char *)el->values[i].data) == 0) {
                        return el;
                }
        }
@@ -1070,7 +1068,7 @@ const struct dom_sid *samdb_domain_sid(struct ldb_context *ldb)
        struct dom_sid *domain_sid;
 
        /* see if we have a cached copy */
-       domain_sid = ldb_get_opaque(ldb, "cache.domain_sid");
+       domain_sid = (struct dom_sid *)ldb_get_opaque(ldb, "cache.domain_sid");
        if (domain_sid) {
                return domain_sid;
        }
@@ -1137,7 +1135,7 @@ struct ldb_dn *samdb_ntds_settings_dn(struct ldb_context *ldb)
        struct ldb_dn *settings_dn;
        
        /* see if we have a cached copy */
-       settings_dn = ldb_get_opaque(ldb, "cache.settings_dn");
+       settings_dn = (struct ldb_dn *)ldb_get_opaque(ldb, "cache.settings_dn");
        if (settings_dn) {
                return settings_dn;
        }
@@ -1190,7 +1188,7 @@ const struct GUID *samdb_ntds_invocation_id(struct ldb_context *ldb)
        struct GUID *invocation_id;
        
        /* see if we have a cached copy */
-       invocation_id = ldb_get_opaque(ldb, "cache.invocation_id");
+       invocation_id = (struct GUID *)ldb_get_opaque(ldb, "cache.invocation_id");
        if (invocation_id) {
                return invocation_id;
        }
@@ -1240,7 +1238,8 @@ bool samdb_set_ntds_invocation_id(struct ldb_context *ldb, const struct GUID *in
        struct GUID *invocation_id_old;
 
        /* see if we have a cached copy */
-       invocation_id_old = ldb_get_opaque(ldb, "cache.invocation_id");
+       invocation_id_old = (struct GUID *)ldb_get_opaque(ldb, 
+                                                        "cache.invocation_id");
 
        tmp_ctx = talloc_new(ldb);
        if (tmp_ctx == NULL) {
@@ -1283,7 +1282,7 @@ const struct GUID *samdb_ntds_objectGUID(struct ldb_context *ldb)
        struct GUID *ntds_guid;
        
        /* see if we have a cached copy */
-       ntds_guid = ldb_get_opaque(ldb, "cache.ntds_guid");
+       ntds_guid = (struct GUID *)ldb_get_opaque(ldb, "cache.ntds_guid");
        if (ntds_guid) {
                return ntds_guid;
        }
@@ -1333,7 +1332,7 @@ bool samdb_set_ntds_objectGUID(struct ldb_context *ldb, const struct GUID *ntds_
        struct GUID *ntds_guid_old;
        
        /* see if we have a cached copy */
-       ntds_guid_old = ldb_get_opaque(ldb, "cache.ntds_guid");
+       ntds_guid_old = (struct GUID *)ldb_get_opaque(ldb, "cache.ntds_guid");
 
        tmp_ctx = talloc_new(ldb);
        if (tmp_ctx == NULL) {