Change API for create_share_access_mask() to pass in the token.
[samba.git] / source3 / smbd / service.c
index 1cd12a6fdc40b585a4f752d87d8f4e536579e05b..3e1d87f1f00c4678d17f339a980c53b6f4d77efb 100644 (file)
@@ -515,9 +515,10 @@ NTSTATUS set_conn_force_user_group(connection_struct *conn, int snum)
   Setup the share access mask for a connection.
 ****************************************************************************/
 
-uint32_t create_share_access_mask(connection_struct *conn, int snum)
+uint32_t create_share_access_mask(connection_struct *conn,
+                               int snum,
+                               const struct security_token *token)
 {
-       const struct security_token *token = conn->session_info->security_token;
        uint32_t share_access = 0;
 
        share_access_check(token,
@@ -657,7 +658,9 @@ static NTSTATUS make_connection_snum(struct smbd_server_connection *sconn,
         *
         */
 
-       conn->share_access = create_share_access_mask(conn, snum);
+       conn->share_access = create_share_access_mask(conn,
+                                       snum,
+                                       conn->session_info->security_token);
 
        if ((conn->share_access & FILE_WRITE_DATA) == 0) {
                if ((conn->share_access & FILE_READ_DATA) == 0) {