diff options
| author | Andrew Bartlett <abartlet@samba.org> | 2014-03-28 15:36:22 +1300 |
|---|---|---|
| committer | Andrew Bartlett <abartlet@samba.org> | 2014-06-16 00:26:26 +0200 |
| commit | b359b0c160e6c13249a6226583dec9553874b232 (patch) | |
| tree | eb1f72604c283eebee90649a05895c53f0123fab /source3/include | |
| parent | c70932827812cf3b3fc8323e11abf4c98f15ddec (diff) | |
| download | samba-b359b0c160e6c13249a6226583dec9553874b232.tar.gz samba-b359b0c160e6c13249a6226583dec9553874b232.tar.xz samba-b359b0c160e6c13249a6226583dec9553874b232.zip | |
passdb: Allow a passdb module to do idmap for everything
This patch seems odd, but the pdb_samba_dsdb module has exactly this
semantics. That is, the pdb_samba_dsdb is responsible for all IDMAP
values, due to backing on to the idmap.ldb allocator. This option is
added so we can continue to support the mappings written into that
database even when switching winbindd implementations - the source4/
winbind code would only ask the idmap_ldb code, no matter what the
SID.
Almost all of the behaviour for this is already in winbindd, but we
need this extra flag function so as to avoid (currently intentional)
errors at startup due to not having a per-domain allocation
configured in the smb.conf.
Andrew Bartlett
Change-Id: I6b0d7a1463fe28dfd36715af0285911ecc07585c
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Kamen Mazdrashki <kamenim@samba.org>
Diffstat (limited to 'source3/include')
| -rw-r--r-- | source3/include/passdb.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/source3/include/passdb.h b/source3/include/passdb.h index 637c55a840..f9918085da 100644 --- a/source3/include/passdb.h +++ b/source3/include/passdb.h @@ -414,9 +414,10 @@ enum pdb_policy_type { * Changed to 20, pdb_secret calls * Changed to 21, set/enum_upn_suffixes. AB. * Changed to 22, idmap control functions + * Changed to 23, new idmap control functions */ -#define PASSDB_INTERFACE_VERSION 22 +#define PASSDB_INTERFACE_VERSION 23 struct pdb_methods { @@ -630,6 +631,7 @@ struct pdb_methods bool (*is_responsible_for_wellknown)(struct pdb_methods *methods); bool (*is_responsible_for_unix_users)(struct pdb_methods *methods); bool (*is_responsible_for_unix_groups)(struct pdb_methods *methods); + bool (*is_responsible_for_everything_else)(struct pdb_methods *methods); void *private_data; /* Private data of some kind */ @@ -939,6 +941,7 @@ bool pdb_is_responsible_for_builtin(void); bool pdb_is_responsible_for_wellknown(void); bool pdb_is_responsible_for_unix_users(void); bool pdb_is_responsible_for_unix_groups(void); +bool pdb_is_responsible_for_everything_else(void); /* The following definitions come from passdb/pdb_util.c */ |
