smb2_util_unlink(tree, fname);
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
/* grab first lease */
smb2_lease_create(&io, &ls, false, fname, LEASE1, smb2_util_lease_state(t.held1));
held, smb2_util_lease_state(held), contend, smb2_util_lease_state(contend),
brokento, smb2_util_lease_state(brokento), granted, smb2_util_lease_state(granted));
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
/* Grab lease. */
smb2_lease_create(&io, &ls, false, fname, LEASE1, smb2_util_lease_state(held));
CHECK_NO_BREAK(tctx);
}
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
/*
Now verify that an attempt to upgrade LEASE1 results in no
h2 = io.out.file.handle;
CHECK_LEASE(&io, "R", true, LEASE2, 0);
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
tree->session->transport->lease.handler = torture_lease_handler;
tree->session->transport->lease.private_data = tree;
/* Now break LEASE1 via h2 */
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
status = smb2_util_write(tree, h2, &c, 0, 1);
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_BREAK_INFO("R", "", LEASE1);
/* .. and break LEASE2 via h1 */
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
status = smb2_util_write(tree, h1, &c, 0, 1);
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_BREAK_INFO("R", "", LEASE2);
h2 = io.out.file.handle;
CHECK_LEASE(&io, "RWH", true, LEASE1, 0);
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
tree->session->transport->lease.handler = torture_lease_handler;
tree->session->transport->lease.private_data = tree;
}
smb2_util_unlink(tree, fname);
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
tree->session->transport->lease.handler = torture_lease_handler;
tree->session->transport->lease.private_data = tree;
}
smb2_util_unlink(tree, fname);
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
tree->session->transport->lease.handler = torture_lease_handler;
tree->session->transport->lease.private_data = tree;
ZERO_STRUCT(h1);
for (i = 0; i < ARRAY_SIZE(tests); i++) {
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
ret = test_lease_statopen4_do(tctx,
tree,
held, smb2_util_lease_state(held), contend, smb2_util_oplock_level(contend),
brokento, smb2_util_lease_state(brokento), granted, smb2_util_oplock_level(granted));
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
/* Grab lease. */
smb2_lease_create(&io, &ls, false, fname, LEASE1, smb2_util_lease_state(held));
held, smb2_util_oplock_level(held), contend, smb2_util_lease_state(contend),
brokento, smb2_util_oplock_level(brokento), granted, smb2_util_lease_state(granted));
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
/* Grab an oplock. */
smb2_oplock_create(&io, fname, smb2_util_oplock_level(held));
smb2_util_unlink(tree, fname);
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
/* Grab lease, upgrade to RHW .. */
smb2_lease_create(&io, &ls, false, fname, LEASE1, smb2_util_lease_state("RH"));
status = smb2_util_close(tree, h3);
CHECK_STATUS(status, NT_STATUS_OK);
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
/* Grab an R lease. */
smb2_lease_create(&io, &ls, false, fname, LEASE1, smb2_util_lease_state("R"));
smb2_util_unlink(tree, fname);
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
ZERO_STRUCT(io);
smb2_lease_v2_create_share(&io, &ls, false, fname,
smb2_util_unlink(tree, fname);
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
ZERO_STRUCT(io);
smb2_lease_v2_create_share(
tree->session->transport->lease.handler = torture_lease_handler;
tree->session->transport->lease.private_data = tree;
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
smb2_lease_v2_create_share(
&io, &ls2, false, fname, smb2_util_share_access("R"),
&io, &ls2, false, fname, smb2_util_share_access("RWD"),
LEASE2, NULL, smb2_util_lease_state("RWH"), 0x22);
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
status = smb2_create(tree, mem_ctx, &io);
CHECK_STATUS(status, NT_STATUS_OK);
tree->session->transport->oplock.handler = torture_oplock_handler;
tree->session->transport->oplock.private_data = tree;
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
ZERO_STRUCT(io);
smb2_lease_v2_create_share(&io, &ls1, false, fname,
CHECK_BREAK_INFO_V2(tree->session->transport,
"RH", "", LEASE2, ls2.lease_epoch + 2);
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
ZERO_STRUCT(io);
smb2_lease_v2_create_share(&io, &ls2t, true, dname,
tree->session->transport->oplock.handler = torture_oplock_handler;
tree->session->transport->oplock.private_data = tree;
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
ZERO_STRUCT(io);
smb2_lease_v2_create_share(&io, &ls, false, fname,
tree->session->transport->oplock.handler = torture_oplock_handler;
tree->session->transport->oplock.private_data = tree;
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
ZERO_STRUCT(io);
smb2_lease_v2_create_share(&io, &ls1v2, false, fname,
tree->session->transport->oplock.handler = torture_oplock_handler;
tree->session->transport->oplock.private_data = tree;
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
ZERO_STRUCT(io);
smb2_lease_create_share(&io, &ls1v1, false, fname,
/*
* we defer acking the lease break.
*/
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
lease_break_info.lease_skip_ack = true;
smb2_lease_create_share(&io1, &ls1, false, fname,
lease_break_info.lease_break.current_lease.lease_key;
ack.in.lease.lease_state =
lease_break_info.lease_break.new_lease_state;
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
/*
* a open using the same lease key is still works,
/*
* we defer acking the lease break.
*/
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
lease_break_info.lease_skip_ack = true;
smb2_lease_create_share(&io1, &ls1, false, fname,
ack.in.lease.lease_key =
lease_break_info.lease_break.current_lease.lease_key;
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
/*
* a open using the same lease key is still works,
/*
* we defer acking the lease break.
*/
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
lease_break_info.lease_skip_ack = true;
smb2_lease_create_share(&io1, &ls1, false, fname,
* doesn't trigger an immediate lease break to none.
*/
lease_break_info_tmp = lease_break_info;
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
smb2_oplock_create(&io3, fname, SMB2_OPLOCK_LEVEL_NONE);
io3.in.create_disposition = NTCREATEX_DISP_OVERWRITE;
req3 = smb2_create_send(tree, &io3);
lease_break_info.lease_break.current_lease.lease_key;
ack.in.lease.lease_state =
lease_break_info.lease_break.new_lease_state;
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
/*
* a open using the same lease key is still works,
lease_break_info.lease_break.current_lease.lease_key;
ack.in.lease.lease_state =
lease_break_info.lease_break.new_lease_state;
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
/*
* a open using the same lease key is still works,
torture_assert(tctx, req3->cancel.can_cancel,
"req3 can_cancel");
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
status = smb2_create_recv(req2, tctx, &io2);
CHECK_STATUS(status, NT_STATUS_OK);
/*
* we defer acking the lease break.
*/
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
lease_break_info.lease_skip_ack = true;
smb2_lease_v2_create_share(&io1, &ls1, false, fname,
* doesn't trigger an immediate lease break to none.
*/
lease_break_info_tmp = lease_break_info;
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
smb2_oplock_create(&io3, fname, SMB2_OPLOCK_LEVEL_NONE);
io3.in.create_disposition = NTCREATEX_DISP_OVERWRITE;
req3 = smb2_create_send(tree, &io3);
lease_break_info.lease_break.current_lease.lease_key;
ack.in.lease.lease_state =
lease_break_info.lease_break.new_lease_state;
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
/*
* a open using the same lease key is still works,
lease_break_info.lease_break.current_lease.lease_key;
ack.in.lease.lease_state =
lease_break_info.lease_break.new_lease_state;
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
/*
* a open using the same lease key is still works,
torture_assert(tctx, req3->cancel.can_cancel,
"req3 can_cancel");
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
status = smb2_create_recv(req2, tctx, &io2);
CHECK_STATUS(status, NT_STATUS_OK);
/*
* we defer acking the lease break.
*/
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
lease_break_info.lease_skip_ack = true;
smb2_lease_create_share(&io1, &ls1, false, fname,
CHECK_BREAK_INFO("RH", "", LEASE1);
lease_break_info_tmp = lease_break_info;
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
CHECK_NO_BREAK(tctx);
torture_assert(tctx, req2->state == SMB2_REQUEST_DONE, "req2 done");
lease_break_info.lease_break.current_lease.lease_key;
ack.in.lease.lease_state =
lease_break_info.lease_break.new_lease_state;
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
lease_break_info.lease_skip_ack = true;
status = smb2_lease_break_ack(tree, &ack);
/*
* we defer acking the lease break.
*/
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
lease_break_info.lease_skip_ack = true;
smb2_lease_create_share(&io1, &ls1, false, fname,
CHECK_BREAK_INFO("R", "", LEASE1);
lease_break_info_tmp = lease_break_info;
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
CHECK_NO_BREAK(tctx);
torture_assert(tctx, req2->state == SMB2_REQUEST_DONE, "req2 done");
lease_break_info.lease_break.current_lease.lease_key;
ack.in.lease.lease_state =
lease_break_info.lease_break.new_lease_state;
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
status = smb2_lease_break_ack(tree, &ack);
CHECK_STATUS(status, NT_STATUS_UNSUCCESSFUL);
/*
* we defer acking the lease break.
*/
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
lease_break_info.lease_skip_ack = true;
smb2_lease_create_share(&io1, &ls1, false, fname,
ack.in.lease.lease_key =
lease_break_info.lease_break.current_lease.lease_key;
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
/*
* a open using the same lease key is still works,
smb2_util_unlink(tree1a, fname);
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
ZERO_STRUCT(lck);
/* Open a handle on tree1a. */
CHECK_LEASE(&io2, "RH", true, LEASE2, 0);
/* And LEASE1 got broken to RH. */
CHECK_BREAK_INFO("RWH", "RH", LEASE1);
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
/* Now open a lease on a different client guid. */
smb2_lease_create_share(&io3, &ls3, false, fname,
CHECK_LEASE(&io3, "", true, LEASE3, 0);
smb2_util_close(tree2, io3.out.file.handle);
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
/*
* Try and get get an exclusive byte
CHECK_STATUS(status, NT_STATUS_OK);
/* LEASE1 got broken to NONE. */
CHECK_BREAK_INFO("RH", "", LEASE1);
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
done:
smb2_util_close(tree1a, h1);
smb2_util_unlink(tree1a, fname);
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
/* Grab R lease over connection 1a */
smb2_lease_create(&io1, &ls1, false, fname, LEASE1, smb2_util_lease_state("R"));
status = smb2_util_close(tree1b, h2);
CHECK_STATUS(status, NT_STATUS_OK);
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
ZERO_STRUCT(w);
w.in.file.handle = h;
ls2.lease_epoch += 1;
CHECK_BREAK_INFO("R", "", LEASE2);
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
ZERO_STRUCT(w);
w.in.file.handle = h3;
smb2_util_unlink(tree1a, fname);
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
/* Grab R lease over connection 1a */
smb2_lease_v2_create(&io1, &ls1, false, fname, LEASE1, NULL,
status = smb2_util_close(tree1b, h2);
CHECK_STATUS(status, NT_STATUS_OK);
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
ZERO_STRUCT(w);
w.in.file.handle = h;
CHECK_BREAK_INFO_V2(tree1a->session->transport,
"R", "", LEASE2, ls2.lease_epoch);
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
ZERO_STRUCT(w);
w.in.file.handle = h3;
smb2_util_unlink(tree1a, fname);
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
/* Grab RWH lease over connection 1a */
smb2_lease_v2_create(&io1, &ls1, false, fname, LEASE1, NULL,
/*
* we defer acking the lease break.
*/
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
lease_break_info.lease_skip_ack = true;
/* Ask for RWH on connection 1b, different lease. */
CHECK_STATUS(status, NT_STATUS_OK);
CHECK_LEASE_BREAK_ACK(&ack, "RH", LEASE1);
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
status = smb2_create_recv(req2, tctx, &io2);
CHECK_STATUS(status, NT_STATUS_OK);
/*
* Just don't ack the lease break.
*/
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
lease_break_info.lease_skip_ack = true;
/* Break with a RWH request. */
smb2_util_close(tree, io.out.file.handle);
/* Write on the original handle and make sure it's still valid. */
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
ZERO_STRUCT(w);
w.in.file.handle = h;
w.in.offset = 0;
CHECK_BREAK_INFO("RH", "", LEASE2);
/* Write on the new handle. */
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
ZERO_STRUCT(w);
w.in.file.handle = hnew;
w.in.offset = 0;
tree->session->transport->oplock.handler = torture_oplock_handler;
tree->session->transport->oplock.private_data = tree;
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
ZERO_STRUCT(io);
smb2_lease_v2_create_share(&io, &ls1, false, fname,
CHECK_BREAK_INFO_V2(tree->session->transport,
"RWH", "RH", LEASE1, ls1.lease_epoch + 1);
ls1.lease_epoch += 1;
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
/* Now rename back. */
ZERO_STRUCT(sinfo);
smb2_util_unlink(tree_3, fname);
- ZERO_STRUCT(lease_break_info);
+ torture_reset_lease_break_info(tctx, &lease_break_info);
/* Get RWH lease over connection 2 */
smb2_lease_create(&io, &ls1, false, fname, LEASE1, smb2_util_lease_state("RWH"));