mirror of
https://github.com/samba-team/samba.git
synced 2025-03-09 08:58:35 +03:00
s3: libsmb: Change cli_smb2_getattrE() to return 32 bit attributes.
Fix all callers. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
This commit is contained in:
parent
054ff63a24
commit
9305039f5f
@ -2101,7 +2101,7 @@ NTSTATUS cli_smb2_qfileinfo_basic(struct cli_state *cli,
|
||||
|
||||
NTSTATUS cli_smb2_getattrE(struct cli_state *cli,
|
||||
uint16_t fnum,
|
||||
uint16_t *pattr,
|
||||
uint32_t *pattr,
|
||||
off_t *size,
|
||||
time_t *change_time,
|
||||
time_t *access_time,
|
||||
@ -2110,10 +2110,9 @@ NTSTATUS cli_smb2_getattrE(struct cli_state *cli,
|
||||
struct timespec access_time_ts;
|
||||
struct timespec write_time_ts;
|
||||
struct timespec change_time_ts;
|
||||
uint32_t attr = 0;
|
||||
NTSTATUS status = cli_smb2_qfileinfo_basic(cli,
|
||||
fnum,
|
||||
&attr,
|
||||
pattr,
|
||||
size,
|
||||
NULL,
|
||||
&access_time_ts,
|
||||
@ -2136,9 +2135,6 @@ NTSTATUS cli_smb2_getattrE(struct cli_state *cli,
|
||||
if (write_time) {
|
||||
*write_time = write_time_ts.tv_sec;
|
||||
}
|
||||
if (pattr != NULL) {
|
||||
*pattr = attr;
|
||||
}
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
@ -2156,6 +2152,7 @@ NTSTATUS cli_smb2_getatr(struct cli_state *cli,
|
||||
NTSTATUS status;
|
||||
uint16_t fnum = 0xffff;
|
||||
struct smb2_hnd *ph = NULL;
|
||||
uint32_t attr = 0;
|
||||
TALLOC_CTX *frame = talloc_stackframe();
|
||||
|
||||
if (smbXcli_conn_has_async_calls(cli->conn)) {
|
||||
@ -2188,7 +2185,7 @@ NTSTATUS cli_smb2_getatr(struct cli_state *cli,
|
||||
}
|
||||
status = cli_smb2_getattrE(cli,
|
||||
fnum,
|
||||
pattr,
|
||||
&attr,
|
||||
size,
|
||||
NULL,
|
||||
NULL,
|
||||
@ -2197,6 +2194,10 @@ NTSTATUS cli_smb2_getatr(struct cli_state *cli,
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if (pattr != NULL) {
|
||||
*pattr = attr;
|
||||
}
|
||||
|
||||
fail:
|
||||
|
||||
if (fnum != 0xffff) {
|
||||
|
@ -166,7 +166,7 @@ NTSTATUS cli_smb2_qfileinfo_basic(struct cli_state *cli,
|
||||
SMB_INO_T *ino);
|
||||
NTSTATUS cli_smb2_getattrE(struct cli_state *cli,
|
||||
uint16_t fnum,
|
||||
uint16_t *pattr,
|
||||
uint32_t *pattr,
|
||||
off_t *size,
|
||||
time_t *change_time,
|
||||
time_t *access_time,
|
||||
|
@ -4155,13 +4155,21 @@ NTSTATUS cli_getattrE(struct cli_state *cli,
|
||||
NTSTATUS status = NT_STATUS_OK;
|
||||
|
||||
if (smbXcli_conn_protocol(cli->conn) >= PROTOCOL_SMB2_02) {
|
||||
return cli_smb2_getattrE(cli,
|
||||
uint32_t attr = 0;
|
||||
status = cli_smb2_getattrE(cli,
|
||||
fnum,
|
||||
pattr,
|
||||
&attr,
|
||||
size,
|
||||
change_time,
|
||||
access_time,
|
||||
write_time);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
return status;
|
||||
}
|
||||
if (pattr != NULL) {
|
||||
*pattr = attr;
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
||||
frame = talloc_stackframe();
|
||||
|
Loading…
x
Reference in New Issue
Block a user