summaryrefslogtreecommitdiff
path: root/source4/torture/raw
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2004-12-17 04:51:23 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:07:28 -0500
commit3b8e83a8c8f32ca658841f1fae344399a48d66a4 (patch)
treefebc6b07ebea32366b3ecc8f7b4862f7294e6798 /source4/torture/raw
parent50005129ab0a5c5f2422460e6d7c19616e5e1124 (diff)
downloadsamba-3b8e83a8c8f32ca658841f1fae344399a48d66a4.tar.gz
samba-3b8e83a8c8f32ca658841f1fae344399a48d66a4.tar.bz2
samba-3b8e83a8c8f32ca658841f1fae344399a48d66a4.zip
r4243: a sniff from kukks showed that the ea_set interface in trans2 setfileinfo allows
for multiple EAs to be set at once. This fixes all the ea code to allow for that. (This used to be commit b26828bef5d55e5eef0e34a164e76292df45e207)
Diffstat (limited to 'source4/torture/raw')
-rw-r--r--source4/torture/raw/eas.c42
1 files changed, 20 insertions, 22 deletions
diff --git a/source4/torture/raw/eas.c b/source4/torture/raw/eas.c
index 00c2fac74a..572a551d17 100644
--- a/source4/torture/raw/eas.c
+++ b/source4/torture/raw/eas.c
@@ -80,30 +80,28 @@ static BOOL test_eas(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
ret &= check_ea(cli, fname, "EAONE", NULL);
- printf("Adding first EA\n");
+ printf("Adding first two EAs\n");
setfile.generic.level = RAW_SFILEINFO_EA_SET;
setfile.generic.file.fnum = fnum;
- setfile.ea_set.in.ea.flags = 0;
- setfile.ea_set.in.ea.name.s = "EAONE";
- setfile.ea_set.in.ea.value = data_blob_string_const("VALUE1");
+ setfile.ea_set.in.num_eas = 2;
+ setfile.ea_set.in.eas = talloc_array_p(mem_ctx, struct ea_struct, 2);
+ setfile.ea_set.in.eas[0].flags = 0;
+ setfile.ea_set.in.eas[0].name.s = "EAONE";
+ setfile.ea_set.in.eas[0].value = data_blob_string_const("VALUE1");
+ setfile.ea_set.in.eas[1].flags = 0;
+ setfile.ea_set.in.eas[1].name.s = "SECONDEA";
+ setfile.ea_set.in.eas[1].value = data_blob_string_const("ValueTwo");
status = smb_raw_setfileinfo(cli->tree, &setfile);
CHECK_STATUS(status, NT_STATUS_OK);
ret &= check_ea(cli, fname, "EAONE", "VALUE1");
-
- setfile.ea_set.in.ea.name.s = "SECONDEA";
- setfile.ea_set.in.ea.value = data_blob_string_const("ValueTwo");
-
- printf("Adding second EA\n");
- status = smb_raw_setfileinfo(cli->tree, &setfile);
- CHECK_STATUS(status, NT_STATUS_OK);
-
- ret &= check_ea(cli, fname, "EAONE", "VALUE1");
ret &= check_ea(cli, fname, "SECONDEA", "ValueTwo");
printf("Modifying 2nd EA\n");
- setfile.ea_set.in.ea.value = data_blob_string_const(" Changed Value");
+ setfile.ea_set.in.num_eas = 1;
+ setfile.ea_set.in.eas[0].name.s = "SECONDEA";
+ setfile.ea_set.in.eas[0].value = data_blob_string_const(" Changed Value");
status = smb_raw_setfileinfo(cli->tree, &setfile);
CHECK_STATUS(status, NT_STATUS_OK);
@@ -111,8 +109,8 @@ static BOOL test_eas(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
ret &= check_ea(cli, fname, "SECONDEA", " Changed Value");
printf("Setting a NULL EA\n");
- setfile.ea_set.in.ea.value = data_blob(NULL, 0);
- setfile.ea_set.in.ea.name.s = "NULLEA";
+ setfile.ea_set.in.eas[0].value = data_blob(NULL, 0);
+ setfile.ea_set.in.eas[0].name.s = "NULLEA";
status = smb_raw_setfileinfo(cli->tree, &setfile);
CHECK_STATUS(status, NT_STATUS_OK);
@@ -121,9 +119,9 @@ static BOOL test_eas(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
ret &= check_ea(cli, fname, "NULLEA", NULL);
printf("Deleting first EA\n");
- setfile.ea_set.in.ea.flags = 0;
- setfile.ea_set.in.ea.name.s = "EAONE";
- setfile.ea_set.in.ea.value = data_blob(NULL, 0);
+ setfile.ea_set.in.eas[0].flags = 0;
+ setfile.ea_set.in.eas[0].name.s = "EAONE";
+ setfile.ea_set.in.eas[0].value = data_blob(NULL, 0);
status = smb_raw_setfileinfo(cli->tree, &setfile);
CHECK_STATUS(status, NT_STATUS_OK);
@@ -131,9 +129,9 @@ static BOOL test_eas(struct smbcli_state *cli, TALLOC_CTX *mem_ctx)
ret &= check_ea(cli, fname, "SECONDEA", " Changed Value");
printf("Deleting second EA\n");
- setfile.ea_set.in.ea.flags = 0;
- setfile.ea_set.in.ea.name.s = "SECONDEA";
- setfile.ea_set.in.ea.value = data_blob(NULL, 0);
+ setfile.ea_set.in.eas[0].flags = 0;
+ setfile.ea_set.in.eas[0].name.s = "SECONDEA";
+ setfile.ea_set.in.eas[0].value = data_blob(NULL, 0);
status = smb_raw_setfileinfo(cli->tree, &setfile);
CHECK_STATUS(status, NT_STATUS_OK);