diff options
author | Andrew Bartlett <abartlet@samba.org> | 2012-10-11 14:42:39 +1100 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2012-10-11 14:45:03 +1100 |
commit | a0588fdea82ab1b5d4dbd8bf75b01b82c0879d21 (patch) | |
tree | cdb6aa82beb8c57a4dfe6966ef4ad31e2029f26a /source3 | |
parent | 547a260a2865d547a4ffc756b21fa648349654fd (diff) | |
download | samba-a0588fdea82ab1b5d4dbd8bf75b01b82c0879d21.tar.gz samba-a0588fdea82ab1b5d4dbd8bf75b01b82c0879d21.tar.bz2 samba-a0588fdea82ab1b5d4dbd8bf75b01b82c0879d21.zip |
vfs: Fix alternative posix and no-op sys acl implementations to take a mem_ctx
These were missed with the initial conversion to use a talloc context.
Andrew Bartlett
Diffstat (limited to 'source3')
-rw-r--r-- | source3/lib/sysacls.c | 59 | ||||
-rw-r--r-- | source3/modules/vfs_aixacl.c | 12 | ||||
-rw-r--r-- | source3/modules/vfs_irixacl.c | 8 | ||||
-rw-r--r-- | source3/modules/vfs_solarisacl.c | 2 |
4 files changed, 50 insertions, 31 deletions
diff --git a/source3/lib/sysacls.c b/source3/lib/sysacls.c index 2245491030..d77b2a6822 100644 --- a/source3/lib/sysacls.c +++ b/source3/lib/sysacls.c @@ -395,14 +395,16 @@ int sys_acl_delete_def_file(vfs_handle_struct *handle, #elif defined(HAVE_AIX_ACLS) SMB_ACL_T sys_acl_get_file(vfs_handle_struct *handle, - const char *path_p, SMB_ACL_TYPE_T type) + const char *path_p, SMB_ACL_TYPE_T type, + TALLOC_CTX *mem_ctx) { - return aixacl_sys_acl_get_file(handle, path_p, type); + return aixacl_sys_acl_get_file(handle, path_p, type, mem_ctx); } -SMB_ACL_T sys_acl_get_fd(vfs_handle_struct *handle, files_struct *fsp) +SMB_ACL_T sys_acl_get_fd(vfs_handle_struct *handle, files_struct *fsp, + TALLOC_CTX *mem_ctx) { - return aixacl_sys_acl_get_fd(handle, fsp); + return aixacl_sys_acl_get_fd(handle, fsp, mem_ctx); } int sys_acl_set_file(vfs_handle_struct *handle, @@ -426,14 +428,17 @@ int sys_acl_delete_def_file(vfs_handle_struct *handle, #elif defined(HAVE_TRU64_ACLS) SMB_ACL_T sys_acl_get_file(vfs_handle_struct *handle, - const char *path_p, SMB_ACL_TYPE_T type) + const char *path_p, SMB_ACL_TYPE_T type, + TALLOC_CTX *mem_ctx) { - return tru64acl_sys_acl_get_file(handle, path_p, type); + return tru64acl_sys_acl_get_file(handle, path_p, type, + mem_ctx); } -SMB_ACL_T sys_acl_get_fd(vfs_handle_struct *handle, files_struct *fsp) +SMB_ACL_T sys_acl_get_fd(vfs_handle_struct *handle, files_struct *fsp, + TALLOC_CTX *mem_ctx) { - return tru64acl_sys_acl_get_fd(handle, fsp); + return tru64acl_sys_acl_get_fd(handle, fsp, mem_ctx); } int sys_acl_set_file(vfs_handle_struct *handle, @@ -457,14 +462,18 @@ int sys_acl_delete_def_file(vfs_handle_struct *handle, #elif defined(HAVE_SOLARIS_ACLS) || defined(HAVE_UNIXWARE_ACLS) SMB_ACL_T sys_acl_get_file(vfs_handle_struct *handle, - const char *path_p, SMB_ACL_TYPE_T type) + const char *path_p, SMB_ACL_TYPE_T type, + TALLOC_CTX *mem_ctx) { - return solarisacl_sys_acl_get_file(handle, path_p, type); + return solarisacl_sys_acl_get_file(handle, path_p, type, + mem_ctx); } -SMB_ACL_T sys_acl_get_fd(vfs_handle_struct *handle, files_struct *fsp) +SMB_ACL_T sys_acl_get_fd(vfs_handle_struct *handle, files_struct *fsp, + TALLOC_CTX *mem_ctx) { - return solarisacl_sys_acl_get_fd(handle, fsp); + return solarisacl_sys_acl_get_fd(handle, fsp, + mem_ctx); } int sys_acl_set_file(vfs_handle_struct *handle, @@ -488,14 +497,16 @@ int sys_acl_delete_def_file(vfs_handle_struct *handle, #elif defined(HAVE_HPUX_ACLS) SMB_ACL_T sys_acl_get_file(vfs_handle_struct *handle, - const char *path_p, SMB_ACL_TYPE_T type) + const char *path_p, SMB_ACL_TYPE_T type, + TALLOC_CTX *mem_ctx) { - return hpuxacl_sys_acl_get_file(handle, path_p, type); + return hpuxacl_sys_acl_get_file(handle, path_p, type, mem_ctx); } -SMB_ACL_T sys_acl_get_fd(vfs_handle_struct *handle, files_struct *fsp) +SMB_ACL_T sys_acl_get_fd(vfs_handle_struct *handle, files_struct *fsp, + TALLOC_CTX *mem_ctx) { - return hpuxacl_sys_acl_get_fd(handle, fsp); + return hpuxacl_sys_acl_get_fd(handle, fsp, mem_ctx); } int sys_acl_set_file(vfs_handle_struct *handle, @@ -519,14 +530,16 @@ int sys_acl_delete_def_file(vfs_handle_struct *handle, #elif defined(HAVE_IRIX_ACLS) SMB_ACL_T sys_acl_get_file(vfs_handle_struct *handle, - const char *path_p, SMB_ACL_TYPE_T type) + const char *path_p, SMB_ACL_TYPE_T type, + TALLOC_CTX *mem_ctx) { - return irixacl_sys_acl_get_file(handle, path_p, type); + return irixacl_sys_acl_get_file(handle, path_p, type, mem_ctx); } -SMB_ACL_T sys_acl_get_fd(vfs_handle_struct *handle, files_struct *fsp) +SMB_ACL_T sys_acl_get_fd(vfs_handle_struct *handle, files_struct *fsp, + TALLOC_CTX *mem_ctx) { - return irixacl_sys_acl_get_fd(handle, fsp); + return irixacl_sys_acl_get_fd(handle, fsp, mem_ctx); } int sys_acl_set_file(vfs_handle_struct *handle, @@ -550,7 +563,8 @@ int sys_acl_delete_def_file(vfs_handle_struct *handle, #else /* No ACLs. */ SMB_ACL_T sys_acl_get_file(vfs_handle_struct *handle, - const char *path_p, SMB_ACL_TYPE_T type) + const char *path_p, SMB_ACL_TYPE_T type, + TALLOC_CTX *mem_ctx) { #ifdef ENOTSUP errno = ENOTSUP; @@ -560,7 +574,8 @@ SMB_ACL_T sys_acl_get_file(vfs_handle_struct *handle, return NULL; } -SMB_ACL_T sys_acl_get_fd(vfs_handle_struct *handle, files_struct *fsp) +SMB_ACL_T sys_acl_get_fd(vfs_handle_struct *handle, files_struct *fsp, + TALLOC_CTX *mem_ctx) { #ifdef ENOTSUP errno = ENOTSUP; diff --git a/source3/modules/vfs_aixacl.c b/source3/modules/vfs_aixacl.c index 25d9089ba5..459ea6f297 100644 --- a/source3/modules/vfs_aixacl.c +++ b/source3/modules/vfs_aixacl.c @@ -23,8 +23,9 @@ #include "vfs_aixacl_util.h" SMB_ACL_T aixacl_sys_acl_get_file(vfs_handle_struct *handle, - const char *path_p, - SMB_ACL_TYPE_T type) + const char *path_p, + SMB_ACL_TYPE_T type, + TALLOC_CTX *mem_ctx) { struct acl *file_acl = (struct acl *)NULL; struct smb_acl_t *result = (struct smb_acl_t *)NULL; @@ -71,7 +72,7 @@ SMB_ACL_T aixacl_sys_acl_get_file(vfs_handle_struct *handle, DEBUG(10,("Got facl and returned it\n")); - result = aixacl_to_smbacl(file_acl); + result = aixacl_to_smbacl(file_acl, mem_ctx); SAFE_FREE(file_acl); return result; @@ -80,7 +81,8 @@ SMB_ACL_T aixacl_sys_acl_get_file(vfs_handle_struct *handle, } SMB_ACL_T aixacl_sys_acl_get_fd(vfs_handle_struct *handle, - files_struct *fsp) + files_struct *fsp, + TALLOC_CTX *mem_ctx) { struct acl *file_acl = (struct acl *)NULL; @@ -122,7 +124,7 @@ SMB_ACL_T aixacl_sys_acl_get_fd(vfs_handle_struct *handle, DEBUG(10,("Got facl and returned it\n")); - result = aixacl_to_smbacl(file_acl); + result = aixacl_to_smbacl(file_acl, mem_ctx); SAFE_FREE(file_acl); return result; diff --git a/source3/modules/vfs_irixacl.c b/source3/modules/vfs_irixacl.c index b3972246b9..78484fc7f8 100644 --- a/source3/modules/vfs_irixacl.c +++ b/source3/modules/vfs_irixacl.c @@ -28,15 +28,17 @@ /* public functions - the api */ SMB_ACL_T irixacl_sys_acl_get_file(vfs_handle_struct *handle, - const char *path_p, - SMB_ACL_TYPE_T type) + const char *path_p, + SMB_ACL_TYPE_T type, + TALLOC_CTX *mem_ctx) { errno = ENOTSUP; return NULL; } SMB_ACL_T irixacl_sys_acl_get_fd(vfs_handle_struct *handle, - files_struct *fsp) + files_struct *fsp, + TALLOC_CTX *mem_ctx) { errno = ENOTSUP; return NULL; diff --git a/source3/modules/vfs_solarisacl.c b/source3/modules/vfs_solarisacl.c index a5f787f494..dd5fe82cfa 100644 --- a/source3/modules/vfs_solarisacl.c +++ b/source3/modules/vfs_solarisacl.c @@ -120,7 +120,7 @@ SMB_ACL_T solarisacl_sys_acl_get_fd(vfs_handle_struct *handle, * access acl. So we need to filter this out here. */ result = solaris_acl_to_smb_acl(solaris_acl, count, - SMB_ACL_TYPE_ACCESS); + SMB_ACL_TYPE_ACCESS, mem_ctx); if (result == NULL) { DEBUG(10, ("conversion solaris_acl -> smb_acl failed (%s).\n", strerror(errno))); |