On 6/28/16, 3:27 AM, "Corinna Vinschen" <cygwin-ow...@cygwin.com on behalf of corinna-cyg...@cygwin.com> wrote:
>>Ok. Please keep in mind that > >a) there can't be a bijective mapping between arbitrary length SIDs > and a 32 bit uid/gid. > >b) The mapping used in Cygwin is not self-created but (mostly, except > for a single deviation) identical to the Interix mapping. The code > basically follows how this mapping has been defined by Microsoft. Corinna, please stop explaining things to me that I already know. >> BTW, I have here a partitioning of the UID namespace that may help >>choose >> the right mapping: >> >> /* >> * UID namespace partitioning (from [IDMAP] rules): >> * >> * 0x000000 + RID S-1-5-RID,S-1-5-32-RID >> * 0x000ffe OtherSession >> * 0x000fff CurrentSession >> * 0x001000 * X + RID S-1-5-X-RID ([WKSID]: >> X=1-15,17-21,32,64,80,83) >> * 0x010000 + 0x100 * X + Y S-1-X-Y ([WKSID]: X=1,2,3,4,5,9,16) >> * 0x030000 + RID S-1-5-21-X-Y-Z-RID >> * 0x060000 + RID S-1-16-RID >> * 0x100000 + RID S-1-5-21-X-Y-Z-RID >> */ > >You're aware that I wrote the code for this mapping as well as its >documentation? :) Corinna, of course I am aware of that. I have found your original post to this list about it. Why would you think otherwise? And why would it change anything? >>With all that and to help conclude this thread I gather here all the >> proposed mappings. Corinna, I will use the one which you prefer the >>most: >> >> S-1-0-65534 <-> 65534 > >This one is still my favorite. Again, the range from 0x1000 up to >0xffff is unused. Right now any incoming uid/gid value in this range >for a reverse SID lookup is treated as invalid SID. I disagree. You are saying that it is unused, but a (perhaps erroneous) SID would map into that space. In any case I will use your mapping of S-1-0-65534 <-> 65534. Bill