From 8f9c2c00913986f4730a577029c59f96f882be1a Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 6 Mar 2017 11:53:09 +0000 Subject: [PATCH] idmap_autorid: allocate new domain range if the callers knows the sid is valid BUG: https://bugzilla.samba.org/show_bug.cgi?id=12613 Signed-off-by: Stefan Metzmacher --- source3/winbindd/idmap_autorid.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/source3/winbindd/idmap_autorid.c b/source3/winbindd/idmap_autorid.c index 786f839..ab89d35 100644 --- a/source3/winbindd/idmap_autorid.c +++ b/source3/winbindd/idmap_autorid.c @@ -636,6 +636,19 @@ static NTSTATUS idmap_autorid_sid_to_id(struct idmap_tdb_common_context *common, } /* + * If the caller already did a lookup sid and made sure the + * domain sid is valid, we can allocate a new range. + * + * Currently the winbindd parent already does a lookup sids + * first, but hopefully changes in future. If the + * caller knows the domain sid, ID_TYPE_BOTH should be + * passed instead of ID_TYPE_NOT_SPECIFIED. + */ + if (map->xid.type != ID_TYPE_NOT_SPECIFIED) { + goto allocate; + } + + /* * Check of last resort: A domain is valid if a user from that * domain has recently logged in. The samlogon_cache these * days also stores the domain sid. -- 1.9.1