setuid: Create token from scratch without credentials of caller
* sec_auth.cc (get_token_group_sidlist): Drop auth_luid and auth_pos parameter. Remove code adding a logon SID. (get_initgroups_sidlist): Drop auth_luid and auth_pos parameter. Drop in call to get_token_group_sidlist. Accommodate in callers. (get_setgroups_sidlist): Ditto. (create_token): Explicitely set auth_luid to ANONYMOUS_LOGON_LUID or LOCALSERVICE_LUID depending on OS. Explain why. Remove handling of logon SID since we don't generate one anymore. (lsaauth): Drop now unused local variable auth_luid and auth_pos. * wincap.h (wincaps::has_broken_whoami): New element. * wincap.cc: Implement above element throughout. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
@@ -45,6 +45,7 @@ struct wincaps
|
||||
unsigned has_processor_groups : 1;
|
||||
unsigned has_broken_prefetchvm : 1;
|
||||
unsigned has_new_pebteb_region : 1;
|
||||
unsigned has_broken_whoami : 1;
|
||||
};
|
||||
|
||||
class wincapc
|
||||
@@ -104,6 +105,7 @@ public:
|
||||
bool IMPLEMENT (has_processor_groups)
|
||||
bool IMPLEMENT (has_broken_prefetchvm)
|
||||
bool IMPLEMENT (has_new_pebteb_region)
|
||||
bool IMPLEMENT (has_broken_whoami)
|
||||
|
||||
#undef IMPLEMENT
|
||||
};
|
||||
|
Reference in New Issue
Block a user