s4-dsdb Return ACL errors as ldb_errstring()
[amitay/samba.git] / source4 / dsdb / samdb / ldb_modules / acl_util.c
index a7bc331f8edf533ca18dab84b1a3df1d2e59c0f7..50bf88869158e5a1ff9eb649956c2c7edd1f5c23 100644 (file)
@@ -77,7 +77,9 @@ int dsdb_module_check_access_on_dn(struct ldb_module *module,
                                    DSDB_SEARCH_SHOW_RECYCLED,
                                    parent);
        if (ret != LDB_SUCCESS) {
-               DEBUG(0,("access_check: failed to find object %s\n", ldb_dn_get_linearized(dn)));
+               ldb_asprintf_errstring(ldb_module_get_ctx(module),
+                                      "access_check: failed to find object %s\n",
+                                      ldb_dn_get_linearized(dn));
                return ret;
        }
        return dsdb_check_access_on_dn_internal(ldb, acl_res,
@@ -88,45 +90,6 @@ int dsdb_module_check_access_on_dn(struct ldb_module *module,
                                                guid);
 }
 
-int dsdb_module_check_access_on_guid(struct ldb_module *module,
-                                    TALLOC_CTX *mem_ctx,
-                                    struct GUID *guid,
-                                    uint32_t access_mask,
-                                    const struct GUID *oc_guid,
-                                    struct ldb_request *parent)
-{
-       int ret;
-       struct ldb_result *acl_res;
-       static const char *acl_attrs[] = {
-               "nTSecurityDescriptor",
-               "objectSid",
-               NULL
-       };
-       struct ldb_context *ldb = ldb_module_get_ctx(module);
-       struct auth_session_info *session_info
-               = (struct auth_session_info *)ldb_get_opaque(ldb, "sessionInfo");
-       if(!session_info) {
-               return ldb_operr(ldb);
-       }
-       ret = dsdb_module_search(module, mem_ctx, &acl_res, NULL, LDB_SCOPE_SUBTREE,
-                                acl_attrs,
-                                DSDB_FLAG_NEXT_MODULE |
-                                DSDB_SEARCH_SHOW_RECYCLED,
-                                parent,
-                                "objectGUID=%s", GUID_string(mem_ctx, guid));
-
-       if (ret != LDB_SUCCESS || acl_res->count == 0) {
-               DEBUG(0,("access_check: failed to find object %s\n", GUID_string(mem_ctx, guid)));
-               return ret;
-       }
-       return dsdb_check_access_on_dn_internal(ldb, acl_res,
-                                               mem_ctx,
-                                               session_info->security_token,
-                                               acl_res->msgs[0]->dn,
-                                               access_mask,
-                                               oc_guid);
-}
-
 int acl_check_access_on_attribute(struct ldb_module *module,
                                  TALLOC_CTX *mem_ctx,
                                  struct security_descriptor *sd,
@@ -235,6 +198,6 @@ const char *acl_user_name(TALLOC_CTX *mem_ctx, struct ldb_module *module)
        }
 
        return talloc_asprintf(mem_ctx, "%s\\%s",
-                              session_info->server_info->domain_name,
-                              session_info->server_info->account_name);
+                              session_info->info->domain_name,
+                              session_info->info->account_name);
 }