summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--source3/locking/leases_db.c2
-rw-r--r--source3/locking/leases_db.h1
-rw-r--r--source3/smbd/open.c7
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__,