mirror of
https://github.com/samba-team/samba.git
synced 2025-01-08 21:18:16 +03:00
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
This commit is contained in:
parent
547a260a28
commit
a0588fdea8
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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)));
|
||||
|
Loading…
Reference in New Issue
Block a user