|
From: <he...@us...> - 2013-05-11 08:25:09
|
Revision: 183
http://sourceforge.net/p/pdbsql/code/183
Author: herwinw
Date: 2013-05-11 08:25:03 +0000 (Sat, 11 May 2013)
Log Message:
-----------
Enabled a number of methods
Code courtesy of Gary Mills. This should prevent some segfaults, see bugreport 11.
Modified Paths:
--------------
branches/pdbsql_36/pdb_multi.c
Modified: branches/pdbsql_36/pdb_multi.c
===================================================================
--- branches/pdbsql_36/pdb_multi.c 2013-05-11 07:57:17 UTC (rev 182)
+++ branches/pdbsql_36/pdb_multi.c 2013-05-11 08:25:03 UTC (rev 183)
@@ -164,10 +164,10 @@
return true;
}
-#if 0
static bool multisam_search_groups(struct pdb_methods *methods,
struct pdb_search *search)
{
+ talloc_set_destructor(search, NULL);
return false;
}
@@ -175,16 +175,17 @@
struct pdb_search *search,
const struct dom_sid *sid)
{
+ talloc_set_destructor(search, NULL);
return false;
}
-static NTSTATUS multisam_get_account_policy(struct pdb_methods *methods, int policy_index, uint32 *value)
+static NTSTATUS multisam_get_account_policy(struct pdb_methods *methods, enum pdb_policy_type type, uint32 *value)
{
DEBUG(1, ("This function is not implemented yet\n"));
return NT_STATUS_NOT_IMPLEMENTED;
}
-static NTSTATUS multisam_set_account_policy(struct pdb_methods *methods, int policy_index, uint32 value)
+static NTSTATUS multisam_set_account_policy(struct pdb_methods *methods, enum pdb_policy_type type, uint32 value)
{
DEBUG(1, ("This function is not implemented yet\n"));
return NT_STATUS_NOT_IMPLEMENTED;
@@ -195,7 +196,6 @@
DEBUG(1, ("This function is not implemented yet\n"));
return NT_STATUS_NOT_IMPLEMENTED;
}
-#endif
/* Tries gid_to_sid on every backend until one succeeds, returns true on success */
static bool multisam_gid_to_sid(struct pdb_methods *methods, gid_t gid,
@@ -242,16 +242,6 @@
return false;
}
-#if 0
-static NTSTATUS multisam_set_unix_primary_group(struct pdb_methods *methods,
- TALLOC_CTX *mem_ctx,
- struct samu *sampass)
-{
- DEBUG(1, ("This function is not implemented yet\n"));
- return NT_STATUS_NOT_IMPLEMENTED;
-}
-#endif
-
static NTSTATUS multisam_create_user(struct pdb_methods *methods,
TALLOC_CTX *tmp_ctx, const char *name,
uint32 acb_info, uint32 *rid)
@@ -291,7 +281,6 @@
return NT_STATUS_UNSUCCESSFUL;
}
-#if 0
static NTSTATUS multisam_enum_group_memberships(struct pdb_methods *methods,
TALLOC_CTX *mem_ctx,
struct samu *user,
@@ -350,7 +339,6 @@
DEBUG(1, ("This function is not implemented yet\n"));
return NT_STATUS_NOT_IMPLEMENTED;
}
-#endif
static NTSTATUS multisam_add_group_mapping_entry(struct pdb_methods *methods,
GROUP_MAP *map)
@@ -410,9 +398,8 @@
return NT_STATUS_UNSUCCESSFUL;
}
-#if 0
static NTSTATUS multisam_enum_group_mapping(struct pdb_methods *methods,
- const struct dom_sid *sid, enum SID_NAME_USE sid_name_use,
+ const struct dom_sid *sid, enum lsa_SidType sid_name_use,
GROUP_MAP **pp_rmap, size_t *p_num_entries,
bool unix_only)
{
@@ -420,12 +407,14 @@
return NT_STATUS_NOT_IMPLEMENTED;
}
+#if 0
static NTSTATUS multisam_find_alias(struct pdb_methods *methods,
const char *name, struct dom_sid *sid)
{
DEBUG(1, ("This function is not implemented yet\n"));
return NT_STATUS_NOT_IMPLEMENTED;
}
+#endif
static NTSTATUS multisam_create_alias(struct pdb_methods *methods,
const char *name, uint32 *rid)
@@ -472,8 +461,8 @@
}
NTSTATUS multisam_enum_aliasmem(struct pdb_methods *methods,
- const struct dom_sid *alias, struct dom_sid **pp_members,
- size_t *p_num_members)
+ const struct dom_sid *alias, TALLOC_CTX *mem_ctx,
+ struct dom_sid **pp_members, size_t *p_num_members)
{
DEBUG(1, ("This function is not implemented yet\n"));
return NT_STATUS_NOT_IMPLEMENTED;
@@ -490,10 +479,9 @@
DEBUG(1, ("This function is not implemented yet\n"));
return NT_STATUS_NOT_IMPLEMENTED;
}
-#endif
+/* Creates user list in every backend */
#if 0
-/* Creates user list in every backend */
static NTSTATUS multisam_setsampwent(struct pdb_methods *methods, bool update, uint32 acb_mask)
{
short i;
@@ -672,7 +660,6 @@
}
-#if 0
static NTSTATUS multisam_lookup_rids(struct pdb_methods *methods,
const struct dom_sid *domain_sid,
int num_rids,
@@ -709,7 +696,6 @@
DEBUG(1, ("This function is not implemented yet\n"));
return NT_STATUS_NOT_IMPLEMENTED;
}
-#endif
/* The capabilities of the first backend is used. */
/* FIXME This should combine the capabilities from all the backends */
@@ -773,8 +759,6 @@
(*pdb_method)->sid_to_id = multisam_sid_to_id;
- /* Not yet implemented here */
-#if 0
(*pdb_method)->update_login_attempts = multisam_update_login_attempts;
(*pdb_method)->getgrsid = multisam_getgrsid;
(*pdb_method)->getgrgid = multisam_getgrgid;
@@ -786,7 +770,6 @@
(*pdb_method)->enum_group_memberships = multisam_enum_group_memberships;
(*pdb_method)->add_groupmem = multisam_add_groupmem;
(*pdb_method)->del_groupmem = multisam_del_groupmem;
- (*pdb_method)->find_alias = multisam_find_alias;
(*pdb_method)->create_alias = multisam_create_alias;
(*pdb_method)->delete_alias = multisam_delete_alias;
(*pdb_method)->get_aliasinfo = multisam_get_aliasinfo;
@@ -802,6 +785,9 @@
(*pdb_method)->search_users = multisam_search_users;
(*pdb_method)->search_groups = multisam_search_groups;
(*pdb_method)->search_aliases = multisam_search_aliases;
+ /* Not yet implemented here */
+#if 0
+ (*pdb_method)->find_alias = multisam_find_alias;
#endif
if (!location) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|