* dcrt0.cc: Add load statements for `GetSidIdentifierAuthority'
and `RegLoadKeyA'. * registry.cc (get_registry_hive_path): New function. (load_registry_hive): Ditto. * security.cc (convert_sid_to_string_sid): New function. (get_ssid): Renamed to `convert_string_sid_to_sid'. (get_pw_sid): Call `convert_string_sid_to_sid' instead of `get_ssid'. (get_gr_sid): Ditto. (get_admin_sid): Ditto. (get_system_sid): Ditto. (get_creator_owner_sid): Ditto. (get_world_sid): Ditto. * shared.h: New prototypes for `get_registry_hive_path' and `load_registry_hive'. * spawn.cc (spawn_guts): Set child->psid to NULL to force calling `internal_getlogin' from child process in case of changing user context. Call `load_registry_hive' in case of changing user context. (_spawnve): Copy user infos only if user context remains the same. * uinfo.cc: Add load statement for `NetUserGetInfo'. Remove load statement for `NetGetDCName'. (internal_getlogin): Rewrite to speed up process startup and to correct user environment in case user context changes. (uinfo_init): Call internal_getlogin only if myself->psid is NULL, that is user context changes. * winsup.h: Add prototypes for `convert_sid_to_string_sid', `convert_string_sid_to_sid' and `get_pw_sid'.
This commit is contained in:
@@ -429,7 +429,10 @@ extern BOOL allow_ntsec;
|
||||
/* `lookup_name' should be called instead of LookupAccountName.
|
||||
* logsrv may be NULL, in this case only the local system is used for lookup.
|
||||
* The buffer for ret_sid (40 Bytes) has to be allocated by the caller! */
|
||||
BOOL __stdcall lookup_name (const char *name, const char *logsrv, PSID ret_sid);
|
||||
BOOL __stdcall lookup_name (const char *, const char *, PSID);
|
||||
char *__stdcall convert_sid_to_string_sid (PSID, char *);
|
||||
PSID __stdcall convert_string_sid_to_sid (PSID, const char *);
|
||||
BOOL __stdcall get_pw_sid (PSID, struct passwd *);
|
||||
|
||||
unsigned long __stdcall hash_path_name (unsigned long hash, const char *name);
|
||||
void __stdcall nofinalslash (const char *src, char *dst);
|
||||
|
Reference in New Issue
Block a user