+ return conn;
+}
+
+/****************************************************************************
+ Make a connection to a service from SMB2. External SMB2 interface.
+ We must set cnum before claiming connection.
+****************************************************************************/
+
+connection_struct *make_connection_smb2(struct smbd_server_connection *sconn,
+ struct smbd_smb2_tcon *tcon,
+ user_struct *vuser,
+ DATA_BLOB password,
+ const char *pdev,
+ NTSTATUS *pstatus)
+{
+ connection_struct *ret_conn = NULL;
+ connection_struct *conn = conn_new(sconn);
+ if (!conn) {
+ DEBUG(0,("make_connection_smb2: Couldn't find free connection.\n"));
+ *pstatus = NT_STATUS_INSUFFICIENT_RESOURCES;
+ return NULL;
+ }
+ conn->cnum = tcon->tid;
+ ret_conn = make_connection_snum(sconn,
+ conn,
+ tcon->snum,
+ vuser,
+ password,
+ pdev,
+ pstatus);
+ if (ret_conn != conn) {
+ conn_free(conn);
+ return NULL;
+ }
+ return conn;