diff options
Diffstat (limited to 'source4/smb_server')
-rw-r--r-- | source4/smb_server/service.c | 4 | ||||
-rw-r--r-- | source4/smb_server/smb_server.h | 7 |
2 files changed, 7 insertions, 4 deletions
diff --git a/source4/smb_server/service.c b/source4/smb_server/service.c index 275e625386..bc436172a1 100644 --- a/source4/smb_server/service.c +++ b/source4/smb_server/service.c @@ -182,7 +182,7 @@ static NTSTATUS make_connection_snum(struct smbsrv_request *req, /* Invoke NTVFS connection hook */ if (tcon->ntvfs_ops->connect) { - status = tcon->ntvfs_ops->connect(req, lp_servicename(snum)); + status = tcon->ntvfs_ops->connect(req, lp_servicename(snum), 0); if (!NT_STATUS_IS_OK(status)) { DEBUG(0,("make_connection: NTVFS make connection failed!\n")); conn_free(req->smb_conn, tcon); @@ -252,7 +252,7 @@ void close_cnum(struct smbsrv_tcon *tcon) lp_servicename(SNUM(tcon)))); /* tell the ntvfs backend that we are disconnecting */ - tcon->ntvfs_ops->disconnect(tcon); + tcon->ntvfs_ops->disconnect(tcon, 0); conn_free(tcon->smb_conn, tcon); } diff --git a/source4/smb_server/smb_server.h b/source4/smb_server/smb_server.h index 59fb03ea2e..b7f9e04385 100644 --- a/source4/smb_server/smb_server.h +++ b/source4/smb_server/smb_server.h @@ -62,8 +62,8 @@ struct smbsrv_tcon { /* the server context that this was created on */ struct smbsrv_connection *smb_conn; - /* a private structure used by the active NTVFS backend */ - void *ntvfs_private; + /* an array of private structures used by the active NTVFS backends */ + void **ntvfs_private_list; uint16_t cnum; /* an index passed over the wire (the TID) */ int service; @@ -93,6 +93,9 @@ struct smbsrv_request { /* the session context is derived from the vuid */ struct smbsrv_session *session; + /* the ntvfs chaining depth */ + int ntvfs_depth; + /* a set of flags to control usage of the request. See REQ_CONTROL_* */ unsigned control_flags; |