All other "samdb_search_*" calls do have one - why "samdb_search_count" doesn't?
Autobuild-User: Matthias Dieter Wallnöfer <mdw@samba.org>
Autobuild-Date: Mon Oct 25 17:42:33 UTC 2010 on sn-devel-104
return the count of the number of records in the sam matching the query
*/
int samdb_search_count(struct ldb_context *sam_ldb,
+ TALLOC_CTX *mem_ctx,
struct ldb_dn *basedn,
- const char *format, ...) _PRINTF_ATTRIBUTE(3,4)
+ const char *format, ...) _PRINTF_ATTRIBUTE(4,5)
{
va_list ap;
const char *attrs[] = { NULL };
int ret;
- TALLOC_CTX *tmp_ctx = talloc_new(sam_ldb);
va_start(ap, format);
- ret = gendb_search_v(sam_ldb, tmp_ctx, basedn, NULL, attrs, format, ap);
+ ret = gendb_search_v(sam_ldb, mem_ctx, basedn, NULL, attrs, format, ap);
va_end(ap);
- talloc_free(tmp_ctx);
return ret;
}
* is for sure the same as our server site). If more sites do
* exist then we don't know which one to use and set the site
* name to "". */
- cnt = samdb_search_count(ldb, sites_container_dn,
+ cnt = samdb_search_count(ldb, mem_ctx, sites_container_dn,
"(objectClass=site)");
if (cnt == 1) {
site_name = samdb_server_site_name(ldb, mem_ctx);
return ldb_operr(ldb);
}
- ret = samdb_search_count(ldb, NULL, "(sAMAccountName=%s)",
+ ret = samdb_search_count(ldb, ac, NULL, "(sAMAccountName=%s)",
ldb_binary_encode_string(ac, name));
if ((ret < 0) || (ret > 1)) {
return ldb_operr(ldb);
}
/* Deny delete requests from groups which are primary ones */
- count = samdb_search_count(ldb, NULL,
+ count = samdb_search_count(ldb, ac, NULL,
"(&(primaryGroupID=%u)(objectClass=user))",
rid);
if (count < 0) {
}
/* No users in BUILTIN, and the LOCAL group types are only in builtin, and the global group type is never in BUILTIN */
- info->num_users = samdb_search_count(state->sam_ctx, state->domain_dn,
+ info->num_users = samdb_search_count(state->sam_ctx, mem_ctx,
+ state->domain_dn,
"(objectClass=user)");
- info->num_groups = samdb_search_count(state->sam_ctx, state->domain_dn,
+ info->num_groups = samdb_search_count(state->sam_ctx, mem_ctx,
+ state->domain_dn,
"(&(objectClass=group)(groupType=%u))",
GTYPE_SECURITY_GLOBAL_GROUP);
- info->num_aliases = samdb_search_count(state->sam_ctx, state->domain_dn,
+ info->num_aliases = samdb_search_count(state->sam_ctx, mem_ctx,
+ state->domain_dn,
"(&(objectClass=group)(groupType=%u))",
GTYPE_SECURITY_DOMAIN_LOCAL_GROUP);