diff options
-rw-r--r-- | source3/locking/leases_db.c | 2 | ||||
-rw-r--r-- | source3/locking/leases_db.h | 1 | ||||
-rw-r--r-- | source3/smbd/open.c | 7 |
3 files changed, 8 insertions, 2 deletions
diff --git a/source3/locking/leases_db.c b/source3/locking/leases_db.c index ed4f09a0ff..a9e2566652 100644 --- a/source3/locking/leases_db.c +++ b/source3/locking/leases_db.c @@ -85,6 +85,7 @@ static bool leases_db_key(TALLOC_CTX *mem_ctx, NTSTATUS leases_db_add(const struct GUID *client_guid, const struct smb2_lease_key *lease_key, const struct file_id *id, + const char *servicepath, const char *filename, const char *stream_name) { @@ -405,6 +406,7 @@ NTSTATUS leases_db_rename(const struct GUID *client_guid, return leases_db_add(client_guid, lease_key, id, + servicename_new, filename_new, stream_name_new); } diff --git a/source3/locking/leases_db.h b/source3/locking/leases_db.h index 0daa0ecade..20ec522920 100644 --- a/source3/locking/leases_db.h +++ b/source3/locking/leases_db.h @@ -30,6 +30,7 @@ bool leases_db_init(bool read_only); NTSTATUS leases_db_add(const struct GUID *client_guid, const struct smb2_lease_key *lease_key, const struct file_id *id, + const char *servicepath, const char *filename, const char *stream_name); NTSTATUS leases_db_del(const struct GUID *client_guid, diff --git a/source3/smbd/open.c b/source3/smbd/open.c index 8f19a36cb6..c1a8ee0f32 100644 --- a/source3/smbd/open.c +++ b/source3/smbd/open.c @@ -1677,8 +1677,11 @@ static NTSTATUS grant_fsp_lease(struct files_struct *fsp, .epoch = fsp->lease->lease.lease_epoch, }; - status = leases_db_add(client_guid, &lease->lease_key, - &fsp->file_id, fsp->fsp_name->base_name, + status = leases_db_add(client_guid, + &lease->lease_key, + &fsp->file_id, + fsp->conn->connectpath, + fsp->fsp_name->base_name, fsp->fsp_name->stream_name); if (!NT_STATUS_IS_OK(status)) { DEBUG(10, ("%s: leases_db_add failed: %s\n", __func__, |