Samba 3.6.6 and above return NT_STATUS_FILE_CLOSED rather than STATUS_INVALID_DEVICE_REQUEST

Jeremy Allison jra at samba.org
Tue Dec 4 16:50:43 MST 2012


On Tue, Dec 04, 2012 at 03:37:13PM -0800, Richard Sharpe wrote:
> 
> This seems to be the relevant code:
> 
>         if (in_file_id_persistent == UINT64_MAX &&
>                    in_file_id_volatile == UINT64_MAX) {
>                 /* without a handle */
>         } else {
>                 in_fsp = file_fsp_smb2(req, in_file_id_persistent,
>                                         in_file_id_volatile);
>                 if (in_fsp == NULL) {
>                         return smbd_smb2_request_error(req,
> NT_STATUS_FILE_CLOSED);
>                 }
>         }
> 
> The values from the packet are two 64-bit numbers both with
> FFFFFFFFFFFFFFFF in them, so the first path seems to be exercised, but
> it seems wrong ...

You're chasing bugs that have already been fixed again (sorry :-).

Here's the code in current v3-6-test:

        default:
                in_fsp = file_fsp_smb2(req, in_file_id_persistent,
                                        in_file_id_volatile);
                if (in_fsp == NULL) {
                        return smbd_smb2_request_error(req, NT_STATUS_FILE_CLOSED);
                }
                break;
        }

Jeremy.


More information about the samba-technical mailing list