diff options
-rw-r--r-- | selftest/knownfail | 1 | ||||
-rw-r--r-- | source4/ntvfs/posix/pvfs_setfileinfo.c | 7 | ||||
-rw-r--r-- | source4/smb_server/blob.c | 6 |
3 files changed, 12 insertions, 2 deletions
diff --git a/selftest/knownfail b/selftest/knownfail index e4b4694db3..61a0a0ed24 100644 --- a/selftest/knownfail +++ b/selftest/knownfail @@ -162,7 +162,6 @@ ^samba4.blackbox.upgradeprovision.alpha13.ldapcmp_sd\(none\) # Due to something rewriting the NT ACL on DNS objects ^samba4.blackbox.upgradeprovision.alpha13.ldapcmp_full_sd\(none\) # Due to something rewriting the NT ACL on DNS objects ^samba4.blackbox.upgradeprovision.release-4-0-0.ldapcmp_sd\(none\) # Due to something rewriting the NT ACL on DNS objects -^samba4.smb2.setinfo.setinfo # ntvfs doesn't support FULL_EA_INFORMATION set. ^samba3.smb2.create.gentest ^samba3.smb2.create.blob ^samba3.smb2.create.open diff --git a/source4/ntvfs/posix/pvfs_setfileinfo.c b/source4/ntvfs/posix/pvfs_setfileinfo.c index 3c9b18d91c..7fd4e35d4f 100644 --- a/source4/ntvfs/posix/pvfs_setfileinfo.c +++ b/source4/ntvfs/posix/pvfs_setfileinfo.c @@ -367,7 +367,7 @@ NTSTATUS pvfs_setfileinfo(struct ntvfs_module_context *ntvfs, break; case RAW_SFILEINFO_EA_SET: - return pvfs_setfileinfo_ea_set(pvfs, h->name, h->fd, + return pvfs_setfileinfo_ea_set(pvfs, h->name, h->fd, info->ea_set.in.num_eas, info->ea_set.in.eas); @@ -420,6 +420,11 @@ NTSTATUS pvfs_setfileinfo(struct ntvfs_module_context *ntvfs, h->position = info->position_information.in.position; break; + case RAW_SFILEINFO_FULL_EA_INFORMATION: + return pvfs_setfileinfo_ea_set(pvfs, h->name, h->fd, + info->full_ea_information.in.eas.num_eas, + info->full_ea_information.in.eas.eas); + case RAW_SFILEINFO_MODE_INFORMATION: /* this one is a puzzle */ if (info->mode_information.in.mode != 0 && diff --git a/source4/smb_server/blob.c b/source4/smb_server/blob.c index c0077c01c9..a3e11239b1 100644 --- a/source4/smb_server/blob.c +++ b/source4/smb_server/blob.c @@ -625,6 +625,12 @@ NTSTATUS smbsrv_pull_passthru_sfileinfo(TALLOC_CTX *mem_ctx, return NT_STATUS_OK; + case RAW_SFILEINFO_FULL_EA_INFORMATION: + return ea_pull_list_chained(blob, + mem_ctx, + &st->full_ea_information.in.eas.num_eas, + &st->full_ea_information.in.eas.eas); + case RAW_SFILEINFO_MODE_INFORMATION: BLOB_CHECK_MIN_SIZE(blob, 4); |