From eea4e4820871fcc7c39392606e8ac07620ebe49b Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Fri, 20 Jul 2007 14:29:43 +0000 Subject: * fhandler.cc (fhandler_base::fhaccess): Accommodate interface changes of access control functions throughout. * fhandler_disk_file.cc: Ditto. * fhandler_registry.cc: Ditto. * sec_acl.cc: Drop unnecessary includes. (setacl): Take path_conv instead of file name as parameter. Accommodate interface changes of access control functions. (getacl): Ditto. * sec_auth.cc: New file, taking over all authentication related functions from security.cc. * sec_helper.cc: Drop unnecessary includes. * security.cc: Ditto. Move all authentication related functions to sec_auth.cc. (ALL_SECURITY_INFORMATION): New define. Use throughout. (set_file_sd): New function, replacing read_sd and the file related part of get_nt_object_security. (get_reg_sd): Rename from get_reg_security. Drop type parameter. (get_reg_attribute): New function, replacing the registry related part of get_nt_object_security. (get_file_attribute): Take path_conv instead of file name as parameter. Use new get_file_sd call. (set_file_attribute): Ditto plus new set_file_sd. Drop unnecessary implementation without uid/gid parameters. (check_file_access): Take path_conv instead of file name as parameter. Use new get_file_sd call. (check_registry_access): Use new get_reg_sd call. * security.h: Accommodate above interface changes. --- winsup/cygwin/security.h | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) (limited to 'winsup/cygwin/security.h') diff --git a/winsup/cygwin/security.h b/winsup/cygwin/security.h index 9aaaadb7d..c69785563 100644 --- a/winsup/cygwin/security.h +++ b/winsup/cygwin/security.h @@ -335,19 +335,16 @@ extern bool allow_ntsec; extern bool allow_smbntsec; /* File manipulation */ -int __stdcall get_file_attribute (int, HANDLE, const char *, mode_t *, - __uid32_t * = NULL, __gid32_t * = NULL); -int __stdcall set_file_attribute (bool, HANDLE, const char *, int); -int __stdcall set_file_attribute (bool, HANDLE, const char *, __uid32_t, __gid32_t, int); -int __stdcall get_nt_object_security (HANDLE, SE_OBJECT_TYPE, - security_descriptor &); -int __stdcall get_object_attribute (HANDLE handle, SE_OBJECT_TYPE object_type, mode_t *, - __uid32_t * = NULL, __gid32_t * = NULL); -LONG __stdcall read_sd (const char *file, security_descriptor &sd); -LONG __stdcall write_sd (HANDLE fh, const char *file, security_descriptor &sd); +int __stdcall get_file_attribute (HANDLE, path_conv &, mode_t *, + __uid32_t *, __gid32_t *); +int __stdcall set_file_attribute (HANDLE, path_conv &, + __uid32_t, __gid32_t, int); +int __stdcall get_reg_attribute (HKEY hkey, mode_t *, __uid32_t *, __gid32_t *); +LONG __stdcall get_file_sd (HANDLE fh, path_conv &, security_descriptor &sd); +LONG __stdcall set_file_sd (HANDLE fh, path_conv &, security_descriptor &sd); bool __stdcall add_access_allowed_ace (PACL acl, int offset, DWORD attributes, PSID sid, size_t &len_add, DWORD inherit); bool __stdcall add_access_denied_ace (PACL acl, int offset, DWORD attributes, PSID sid, size_t &len_add, DWORD inherit); -int __stdcall check_file_access (const char *, int); +int __stdcall check_file_access (path_conv &, int); int __stdcall check_registry_access (HANDLE, int); void set_security_attribute (int attribute, PSECURITY_ATTRIBUTES psa, @@ -359,8 +356,8 @@ bool get_sids_info (cygpsid, cygpsid, __uid32_t * , __gid32_t *); struct __acl32; extern "C" int aclsort32 (int, int, __acl32 *); extern "C" int acl32 (const char *, int, int, __acl32 *); -int getacl (HANDLE, const char *, DWORD, int, __acl32 *); -int setacl (HANDLE, const char *, int, __acl32 *, bool &); +int getacl (HANDLE, path_conv &, int, __acl32 *); +int setacl (HANDLE, path_conv &, int, __acl32 *, bool &); struct _UNICODE_STRING; void __stdcall str2buf2uni (_UNICODE_STRING &, WCHAR *, const char *) __attribute__ ((regparm (3))); -- cgit v1.2.3