On Thu, Feb 22, 2024 at 8:11 PM Corinna Vinschen via Cygwin <cygwin@cygwin.com> wrote: > On Feb 22 18:38, Roland Mainz via Cygwin wrote: > > If I switch the current user's group with /usr/bin/newgrp, how can a > > (native) Win32 process use > > |GetTokenInformation(GetCurrentThreadToken(), ...)| to find out which > > group is the new "current group" (e.g. which |TokenInformationClass| > > should I use) ? > > PSID sidbuf = (PSID) alloca (SECURITY_MAX_SID_SIZE); > NTSTATUS status; > ULONG size; > > status = NtQueryInformationToken (hProcToken, TokenPrimaryGroup, > sidbuf, SECURITY_MAX_SID_SIZE, > &size);
Well, it works in the case of an "hello world" application, but if I stuff that into the nfsd_daemon (NFSv4.1 ms-nfs41-client client daemon) it always prints the default primary group, even if the current thread should impersonate another user - or in this case even the same user, but a different primary group (e.g. see https://github.com/kofemann/ms-nfs41-client/blob/master/sys/nfs41_driver.c#L1367). Do you have any idea what is going wrong in this case ? ---- Bye, Roland -- __ . . __ (o.\ \/ /.o) roland.ma...@nrubsig.org \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer /O /==\ O\ TEL +49 641 3992797 (;O/ \/ \O;) -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple