mirror of
https://github.com/samba-team/samba.git
synced 2024-12-24 21:34:56 +03:00
Add pdb_get_domain_info
This commit is contained in:
parent
1c778aa19a
commit
b8322ec2b2
@ -197,6 +197,14 @@ struct pdb_search {
|
||||
void (*search_end)(struct pdb_search *search);
|
||||
};
|
||||
|
||||
struct pdb_domain_info {
|
||||
char *name;
|
||||
char *dns_domain;
|
||||
char *dns_forest;
|
||||
struct dom_sid sid;
|
||||
struct GUID guid;
|
||||
};
|
||||
|
||||
#define PDB_CAP_STORE_RIDS 0x0001
|
||||
#define PDB_CAP_ADS 0x0002
|
||||
|
||||
@ -224,6 +232,9 @@ struct pdb_methods
|
||||
{
|
||||
const char *name; /* What name got this module */
|
||||
|
||||
struct pdb_domain_info *(*get_domain_info)(struct pdb_methods *,
|
||||
TALLOC_CTX *mem_ctx);
|
||||
|
||||
NTSTATUS (*getsampwnam)(struct pdb_methods *, struct samu *sam_acct, const char *username);
|
||||
|
||||
NTSTATUS (*getsampwsid)(struct pdb_methods *, struct samu *sam_acct, const DOM_SID *sid);
|
||||
|
@ -4531,6 +4531,7 @@ NTSTATUS smb_register_passdb(int version, const char *name, pdb_init_function in
|
||||
struct pdb_init_function_entry *pdb_find_backend_entry(const char *name);
|
||||
struct event_context *pdb_get_event_context(void);
|
||||
NTSTATUS make_pdb_method_name(struct pdb_methods **methods, const char *selected);
|
||||
struct pdb_domain_info *pdb_get_domain_info(TALLOC_CTX *mem_ctx);
|
||||
bool pdb_getsampwnam(struct samu *sam_acct, const char *username) ;
|
||||
bool guest_user_info( struct samu *user );
|
||||
bool pdb_getsampwsid(struct samu *sam_acct, const DOM_SID *sid) ;
|
||||
|
@ -69,6 +69,12 @@ struct pdb_ads_samu_private {
|
||||
struct tldap_message *ldapmsg;
|
||||
};
|
||||
|
||||
static struct pdb_domain_info *pdb_ads_get_domain_info(
|
||||
struct pdb_methods *m, TALLOC_CTX *mem_ctx)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static struct samu *pdb_ads_init_guest(TALLOC_CTX *mem_ctx,
|
||||
struct pdb_methods *m)
|
||||
{
|
||||
@ -1962,6 +1968,7 @@ static NTSTATUS pdb_ads_enum_trusteddoms(struct pdb_methods *m,
|
||||
static void pdb_ads_init_methods(struct pdb_methods *m)
|
||||
{
|
||||
m->name = "ads";
|
||||
m->get_domain_info = pdb_ads_get_domain_info;
|
||||
m->getsampwnam = pdb_ads_getsampwnam;
|
||||
m->getsampwsid = pdb_ads_getsampwsid;
|
||||
m->create_user = pdb_ads_create_user;
|
||||
|
@ -210,6 +210,12 @@ static struct pdb_methods *pdb_get_methods(void)
|
||||
return pdb_get_methods_reload(False);
|
||||
}
|
||||
|
||||
struct pdb_domain_info *pdb_get_domain_info(TALLOC_CTX *mem_ctx)
|
||||
{
|
||||
struct pdb_methods *pdb = pdb_get_methods();
|
||||
return pdb->get_domain_info(pdb, mem_ctx);
|
||||
}
|
||||
|
||||
bool pdb_getsampwnam(struct samu *sam_acct, const char *username)
|
||||
{
|
||||
struct pdb_methods *pdb = pdb_get_methods();
|
||||
@ -1992,6 +1998,12 @@ static NTSTATUS pdb_default_enum_trusteddoms(struct pdb_methods *methods,
|
||||
return secrets_trusted_domains(mem_ctx, num_domains, domains);
|
||||
}
|
||||
|
||||
static struct pdb_domain_info *pdb_default_get_domain_info(
|
||||
struct pdb_methods *m, TALLOC_CTX *mem_ctx)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*******************************************************************
|
||||
Create a pdb_methods structure and initialize it with the default
|
||||
operations. In this way a passdb module can simply implement
|
||||
@ -2008,6 +2020,7 @@ NTSTATUS make_pdb_method( struct pdb_methods **methods )
|
||||
return NT_STATUS_NO_MEMORY;
|
||||
}
|
||||
|
||||
(*methods)->get_domain_info = pdb_default_get_domain_info;
|
||||
(*methods)->getsampwnam = pdb_default_getsampwnam;
|
||||
(*methods)->getsampwsid = pdb_default_getsampwsid;
|
||||
(*methods)->create_user = pdb_default_create_user;
|
||||
|
Loading…
Reference in New Issue
Block a user