From: Stefan Metzmacher Date: Thu, 21 Mar 2019 12:37:16 +0000 (+0100) Subject: idmap_hash: fix comments about the algorithm X-Git-Tag: talloc-2.4.1~1421 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0f96c4b419a59ea884e68a460910e5c8a45bfcec;p=thirdparty%2Fsamba.git idmap_hash: fix comments about the algorithm Only support ~ 50k users per domain. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15319 Signed-off-by: Stefan Metzmacher Reviewed-by: Ralph Boehme --- diff --git a/source3/winbindd/idmap_hash/idmap_hash.c b/source3/winbindd/idmap_hash/idmap_hash.c index ec85119b063..99341bc6fab 100644 --- a/source3/winbindd/idmap_hash/idmap_hash.c +++ b/source3/winbindd/idmap_hash/idmap_hash.c @@ -60,13 +60,16 @@ static uint32_t hash_domain_sid(const struct dom_sid *sid) } /********************************************************************* - Hash a Relative ID to a 20 bit number + Hash a Relative ID to a 19 bit number ********************************************************************/ static uint32_t hash_rid(uint32_t rid) { - /* 20 bits for the rid which allows us to support - the first 100K users/groups in a domain */ + /* + * 19 bits for the rid which allows us to support + * the first 50K users/groups in a domain + * + */ return (rid & 0x0007FFFF); } @@ -79,8 +82,13 @@ static uint32_t combine_hashes(uint32_t h_domain, { uint32_t return_id = 0; - /* shift the hash_domain 19 bits to the left and OR with the - hash_rid */ + /* + * shift the hash_domain 19 bits to the left and OR with the + * hash_rid + * + * This will generate a 31 bit number out of + * 12 bit domain and 19 bit rid. + */ return_id = ((h_domain<<19) | h_rid);