* autoload.cc (CreateProfile): Import.
(LoadUserProfileW): Import. * registry.cc (get_registry_hive_path): Move to sec_auth.cc. (load_registry_hive): Remove. * registry.h (get_registry_hive_path): Drop declaration. (load_registry_hive): Ditto. * sec_auth.cc (get_user_profile_directory): Moved from registry.cc and renamed. Take third parameter with buffer length. (load_user_profile): New function taking over for load_registry_hive. Use official functions to load profile. If profile is missing, create it on Vista and later. * security.h (get_user_profile_directory): Declare. (load_user_profile): Declare. * syscalls.cc (seteuid32): Replace call to load_registry_hive with call to load_user_profile. * uinfo.cc (cygheap_user::env_userprofile): Replace call to get_registry_hive_path with call to get_user_profile_directory.
This commit is contained in:
@ -472,6 +472,12 @@ void extract_nt_dom_user (const struct passwd *pw, PWCHAR domain, PWCHAR user);
|
||||
/* Get default logonserver for a domain. */
|
||||
bool get_logon_server (PWCHAR domain, PWCHAR wserver, ULONG flags);
|
||||
|
||||
/* Fetch user profile path from registry, if it already exists. */
|
||||
PWCHAR get_user_profile_directory (PCWSTR sidstr, PWCHAR path, SIZE_T path_len);
|
||||
|
||||
/* Load user profile if it's not already loaded. */
|
||||
HANDLE load_user_profile (HANDLE token, struct passwd *pw, cygpsid &sid);
|
||||
|
||||
HANDLE lsa_open_policy (PWCHAR server, ACCESS_MASK access);
|
||||
void lsa_close_policy (HANDLE lsa);
|
||||
|
||||
|
Reference in New Issue
Block a user