diff options
Diffstat (limited to 'source3/passdb')
-rw-r--r-- | source3/passdb/ABI/pdb-0.sigs | 2 | ||||
-rw-r--r-- | source3/passdb/pdb_interface.c | 36 |
2 files changed, 38 insertions, 0 deletions
diff --git a/source3/passdb/ABI/pdb-0.sigs b/source3/passdb/ABI/pdb-0.sigs index 4108b9a23b..51810efeca 100644 --- a/source3/passdb/ABI/pdb-0.sigs +++ b/source3/passdb/ABI/pdb-0.sigs @@ -112,6 +112,7 @@ pdb_enum_group_members: NTSTATUS (TALLOC_CTX *, const struct dom_sid *, uint32_t pdb_enum_group_memberships: NTSTATUS (TALLOC_CTX *, struct samu *, struct dom_sid **, gid_t **, uint32_t *) pdb_enum_trusted_domains: NTSTATUS (TALLOC_CTX *, uint32_t *, struct pdb_trusted_domain ***) pdb_enum_trusteddoms: NTSTATUS (TALLOC_CTX *, uint32_t *, struct trustdom_info ***) +pdb_enum_upn_suffixes: NTSTATUS (TALLOC_CTX *, uint32_t *, char ***) pdb_find_backend_entry: struct pdb_init_function_entry *(const char *) pdb_get_account_policy: bool (enum pdb_policy_type, uint32_t *) pdb_get_acct_ctrl: uint32_t (const struct samu *) @@ -230,6 +231,7 @@ pdb_set_trusted_domain: NTSTATUS (const char *, const struct pdb_trusted_domain pdb_set_trusteddom_pw: bool (const char *, const char *, const struct dom_sid *) pdb_set_unix_primary_group: NTSTATUS (TALLOC_CTX *, struct samu *) pdb_set_unknown_6: bool (struct samu *, uint32_t, enum pdb_value_state) +pdb_set_upn_suffixes: NTSTATUS (uint32_t, const char **) pdb_set_user_sid: bool (struct samu *, const struct dom_sid *, enum pdb_value_state) pdb_set_user_sid_from_rid: bool (struct samu *, uint32_t, enum pdb_value_state) pdb_set_user_sid_from_string: bool (struct samu *, const char *, enum pdb_value_state) diff --git a/source3/passdb/pdb_interface.c b/source3/passdb/pdb_interface.c index 775f8a3e89..36dde6f8e6 100644 --- a/source3/passdb/pdb_interface.c +++ b/source3/passdb/pdb_interface.c @@ -2340,6 +2340,39 @@ static struct pdb_domain_info *pdb_default_get_domain_info( return NULL; } +/***************************************************************** + UPN suffixes + *****************************************************************/ +static NTSTATUS pdb_default_enum_upn_suffixes(struct pdb_methods *pdb, + TALLOC_CTX *mem_ctx, + uint32_t *num_suffixes, + char ***suffixes) +{ + return NT_STATUS_NOT_IMPLEMENTED; +} + +static NTSTATUS pdb_default_set_upn_suffixes(struct pdb_methods *pdb, + uint32_t num_suffixes, + const char **suffixes) +{ + return NT_STATUS_NOT_IMPLEMENTED; +} + +NTSTATUS pdb_enum_upn_suffixes(TALLOC_CTX *mem_ctx, + uint32_t *num_suffixes, + char ***suffixes) +{ + struct pdb_methods *pdb = pdb_get_methods(); + return pdb->enum_upn_suffixes(pdb, mem_ctx, num_suffixes, suffixes); +} + +NTSTATUS pdb_set_upn_suffixes(uint32_t num_suffixes, + const char **suffixes) +{ + struct pdb_methods *pdb = pdb_get_methods(); + return pdb->set_upn_suffixes(pdb, num_suffixes, suffixes); +} + /******************************************************************* secret methods *******************************************************************/ @@ -2487,5 +2520,8 @@ NTSTATUS make_pdb_method( struct pdb_methods **methods ) (*methods)->set_secret = pdb_default_set_secret; (*methods)->delete_secret = pdb_default_delete_secret; + (*methods)->enum_upn_suffixes = pdb_default_enum_upn_suffixes; + (*methods)->set_upn_suffixes = pdb_default_set_upn_suffixes; + return NT_STATUS_OK; } |