summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--selftest/knownfail1
-rw-r--r--source4/ntvfs/posix/pvfs_setfileinfo.c7
-rw-r--r--source4/smb_server/blob.c6
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);