1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-24 13:57:43 +03:00

Mark module experimental, fix crash bugs.

Jeremy.
This commit is contained in:
Jeremy Allison 2008-09-17 12:34:09 -07:00
parent 507050ab55
commit 21ca0c31b9

View File

@ -18,6 +18,8 @@
* along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
/* NOTE: This is an experimental module, not yet finished. JRA. */
#include "includes.h"
#include "librpc/gen_ndr/xattr.h"
#include "librpc/gen_ndr/ndr_xattr.h"
@ -77,8 +79,8 @@ static NTSTATUS parse_acl_blob(const DATA_BLOB *pblob,
return (*ppdesc != NULL) ? NT_STATUS_OK : NT_STATUS_NO_MEMORY;
}
static NTSTATUS get_acl_blob(vfs_handle_struct *handle,
TALLOC_CTX *ctx,
static NTSTATUS get_acl_blob(TALLOC_CTX *ctx,
vfs_handle_struct *handle,
files_struct *fsp,
const char *name,
DATA_BLOB *pblob)
@ -223,10 +225,14 @@ static NTSTATUS get_nt_acl_xattr(vfs_handle_struct *handle,
static NTSTATUS create_acl_blob(SEC_DESC *psd, DATA_BLOB *pblob)
{
struct xattr_NTACL xacl;
struct security_descriptor_timestamp sd_ts;
enum ndr_err_code ndr_err;
TALLOC_CTX *ctx = talloc_tos();
struct timespec curr = timespec_current();
ZERO_STRUCT(xacl);
ZERO_STRUCT(sd_ts);
/* Horrid hack as setting an xattr changes the ctime
* on Linux. This gives a race of 1 second during
* which we would not see a POSIX ACL set.
@ -234,6 +240,7 @@ static NTSTATUS create_acl_blob(SEC_DESC *psd, DATA_BLOB *pblob)
curr.tv_sec += 1;
xacl.version = 2;
xacl.info.sd_ts = &sd_ts;
xacl.info.sd_ts->sd = psd;
unix_timespec_to_nt_time(&xacl.info.sd_ts->last_changed, curr);