summaryrefslogtreecommitdiff
path: root/source4/smb_server/smb
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2008-03-06 15:14:08 +0100
committerStefan Metzmacher <metze@samba.org>2008-03-06 16:31:25 +0100
commit87f2925252b910f2f403bdbb3f9158202cb7a2c5 (patch)
treef84055e41da558ce7cfee769193b1e0455fe46d4 /source4/smb_server/smb
parent3cbe47b2aef427f7f1fe8f4aa2496fbbe31a3ade (diff)
downloadsamba-87f2925252b910f2f403bdbb3f9158202cb7a2c5.tar.gz
samba-87f2925252b910f2f403bdbb3f9158202cb7a2c5.tar.bz2
samba-87f2925252b910f2f403bdbb3f9158202cb7a2c5.zip
ntvfs: pass down the client capabilities into the ntvfs layer
Note that we don't use any protocol specific values here. For now only NTVFS_CLIENT_CAP_LEVEL_II_OPLOCKS is defined others should be defined, when we find out that the ntvfs layer needs to know about it. metze (This used to be commit cc42cd5f6753ca582677fa6f403f0419eec5ab10)
Diffstat (limited to 'source4/smb_server/smb')
-rw-r--r--source4/smb_server/smb/service.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/source4/smb_server/smb/service.c b/source4/smb_server/smb/service.c
index 35b3653026..52471c09c9 100644
--- a/source4/smb_server/smb/service.c
+++ b/source4/smb_server/smb/service.c
@@ -36,6 +36,7 @@ static NTSTATUS make_connection_scfg(struct smbsrv_request *req,
{
struct smbsrv_tcon *tcon;
NTSTATUS status;
+ uint64_t ntvfs_caps = 0;
tcon = smbsrv_smb_tcon_new(req->smb_conn, scfg->name);
if (!tcon) {
@@ -44,9 +45,14 @@ static NTSTATUS make_connection_scfg(struct smbsrv_request *req,
}
req->tcon = tcon;
+ if (req->smb_conn->negotiate.client_caps & CAP_LEVEL_II_OPLOCKS) {
+ ntvfs_caps |= NTVFS_CLIENT_CAP_LEVEL_II_OPLOCKS;
+ }
+
/* init ntvfs function pointers */
status = ntvfs_init_connection(tcon, scfg, type,
req->smb_conn->negotiate.protocol,
+ ntvfs_caps,
req->smb_conn->connection->event.ctx,
req->smb_conn->connection->msg_ctx,
req->smb_conn->lp_ctx,