^samba3.smbtorture_s3.crypt_server # expected to give ACCESS_DENIED as SMB1 encryption isn't used
^samba3.smbtorture_s3.*.LOCK12.*\(fileserver\)
^samba3.smbtorture_s3.*.LOCK12.*\(nt4_dc\)
-^samba3.smbtorture_s3.*.OPLOCK5.*\(fileserver\)
^samba3.nbt.dgram.*netlogon2\(nt4_dc\)
^samba3.*rap.sam.*.useradd # Not provided by Samba 3
^samba3.*rap.sam.*.userdelete # Not provided by Samba 3
extern const struct generic_mapping file_generic_mapping;
struct deferred_open_record {
+ struct smbXsrv_connection *xconn;
+ uint64_t mid;
+
bool delayed_for_oplocks;
bool async_open;
struct file_id id;
struct timeval current_time,
void *private_data)
{
+ struct deferred_open_record *open_rec = talloc_get_type_abort(
+ private_data, struct deferred_open_record);
bool ok;
- struct smb_request *req = (struct smb_request *)private_data;
- ok = schedule_deferred_open_message_smb(req->xconn, req->mid);
+ ok = schedule_deferred_open_message_smb(
+ open_rec->xconn, open_rec->mid);
if (!ok) {
exit_server("schedule_deferred_open_message_smb failed");
}
if (open_rec == NULL) {
exit_server("talloc failed");
}
+ open_rec->xconn = req->xconn;
+ open_rec->mid = req->mid;
ok = push_deferred_open_message_smb(req,
request_time,
exit_server("push_deferred_open_message_smb failed");
}
- /*
- * As this timer event is owned by req, it will
- * disappear if req it talloc_freed.
- */
open_rec->te = tevent_add_timer(req->sconn->ev_ctx,
- req,
+ open_rec,
timeval_current_ofs(1, 0),
kernel_oplock_poll_open_timer,
- req);
+ open_rec);
if (open_rec->te == NULL) {
exit_server("tevent_add_timer failed");
}