files_struct *fsp = NULL;
NTSTATUS status;
+DEBUG(0, ("OBNOX - durable_reconnect enter: (%s:%s)\n", __location__, __FUNCTION__));
+
/* 1. check entry in locking.tdb */
/*
return status;
}
+DEBUG(0, ("OBNOX - durable_reconnect: new fsp created (%s:%s)\n", __location__, __FUNCTION__));
+
fsp->fh->fd = SMB_VFS_OPEN(conn,
smb_fname,
fsp,
if (dhnc) {
uint64_t persistent_id;
+DEBUG(0, ("OBNOX - dhnc found (%s:%s)\n", __location__, __FUNCTION__));
+
if (dhnc->data.length != 16) {
tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER);
return tevent_req_post(req, ev);
smb1req->conn,
smb1req->flags2 & FLAGS2_DFS_PATHNAMES,
fname,
- 0,
- NULL,
+ 0, /* unix_convert flags */
+ NULL, /* ppath_contains_wcards */
&smb_fname);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
mem_ctx,
&result);
+DEBUG(0, ("OBNOX - durable_reconnect result: %s (%s:%s)\n", nt_errstr(status), __location__, __FUNCTION__));
+
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
return tevent_req_post(req, ev);
}
-
- // TODO: response construction
-
- tevent_req_done(req);
- return tevent_req_post(req, ev);
} else {
status = SMB_VFS_CREATE_FILE(smb1req->conn,
smb1req,
}
}
- if (dhnq && BATCH_OPLOCK_TYPE(result->oplock_type)) {
+ /*
+ * windows createst a dhnc response blob upon dbnc request.
+ * this seems to contradict the documentation, though
+ * --> TODO:dochelp
+ */
+ if (dhnc || (dhnq && BATCH_OPLOCK_TYPE(result->oplock_type))) {
uint8_t p[8];
DATA_BLOB blob = data_blob_const(p, sizeof(p));