s3:pylibsmb: Add FILE_READ_ATTRIBUTES access to .loadfile() API
authorTim Beale <timbeale@catalyst.net.nz>
Fri, 11 Jan 2019 01:25:32 +0000 (14:25 +1300)
committerJeremy Allison <jra@samba.org>
Thu, 17 Jan 2019 00:40:30 +0000 (01:40 +0100)
commit0304b08de5ba1b4a6e08568a559c52f7d9e943d3
treec37d2dfd1ad149a9e5720ba70c44b9162f388c76
parent345746ea5f4cca2620421ac0c8a649a596f5c19d
s3:pylibsmb: Add FILE_READ_ATTRIBUTES access to .loadfile() API

Add FILE_READ_ATTRIBUTES when opening the file handle, as we need to
read the file's size.

The .loadfile() API can end up calling cli_qfileinfo_basic() to get the
file size. This can end up doing a 'FILE_ALL_INFORMATION' SMBv2 request
underneath, which the MS-SMB2 spec (section 3.3.5.20.1 Handling
SMB2_0_INFO_FILE) says the file handle must have FILE_READ_ATTRIBUTES
access granted.

I noticed this problem when running .loadfile() against the NTVFS
server.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=13676

Signed-off-by: Tim Beale <timbeale@catalyst.net.nz>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/libsmb/pylibsmb.c