return map_nt_error_from_unix(errno);
}
- /* Special behaviours */
- if (smbacl4_get_vfs_params(fsp->conn, ¶ms)) {
- return NT_STATUS_NO_MEMORY;
+ if (pparams == NULL) {
+ /* Special behaviours */
+ if (smbacl4_get_vfs_params(fsp->conn, ¶ms)) {
+ return NT_STATUS_NO_MEMORY;
+ }
+ pparams = ¶ms;
}
- return smb_get_nt_acl_nfs4_common(&sbuf, ¶ms, security_info,
+ return smb_get_nt_acl_nfs4_common(&sbuf, pparams, security_info,
mem_ctx, ppdesc, theacl);
}
return map_nt_error_from_unix(errno);
}
- /* Special behaviours */
- if (smbacl4_get_vfs_params(conn, ¶ms)) {
- return NT_STATUS_NO_MEMORY;
+ if (pparams == NULL) {
+ /* Special behaviours */
+ if (smbacl4_get_vfs_params(conn, ¶ms)) {
+ return NT_STATUS_NO_MEMORY;
+ }
+ pparams = ¶ms;
}
- return smb_get_nt_acl_nfs4_common(&sbuf, ¶ms, security_info,
+ return smb_get_nt_acl_nfs4_common(&sbuf, pparams, security_info,
mem_ctx, ppdesc, theacl);
}
* refined... */
}
- /* Special behaviours */
- if (smbacl4_get_vfs_params(fsp->conn, ¶ms)) {
- TALLOC_FREE(frame);
- return NT_STATUS_NO_MEMORY;
+ if (pparams == NULL) {
+ /* Special behaviours */
+ if (smbacl4_get_vfs_params(fsp->conn, ¶ms)) {
+ TALLOC_FREE(frame);
+ return NT_STATUS_NO_MEMORY;
+ }
+ pparams = ¶ms;
}
if (smbacl4_fGetFileOwner(fsp, &sbuf)) {
return map_nt_error_from_unix(errno);
}
- if (params.do_chown) {
+ if (pparams->do_chown) {
/* chown logic is a copy/paste from posix_acl.c:set_nt_acl */
NTSTATUS status = unpack_nt_owners(fsp->conn, &newUID, &newGID,
security_info_sent, psd);
return NT_STATUS_OK;
}
- theacl = smbacl4_win2nfs4(frame, fsp, psd->dacl, ¶ms,
+ theacl = smbacl4_win2nfs4(frame, fsp, psd->dacl, pparams,
sbuf.st_ex_uid, sbuf.st_ex_gid);
if (!theacl) {
TALLOC_FREE(frame);