1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-11 00:23:51 +03:00

libsmb: Don't try to find posix stat info in SMBC_getatr()

This wrongly used "frame" instead of "fname", which can never have
worked. A first attempt to fix in 51551e0d53 caused a few followup
patches in an attempt to clean up the test failures 51551e0d53
introduced. They were reverted after a few discussions. So rather than
changing behaviour, just remove the code that introduced the valgrind
error again.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>

Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Fri Mar 20 05:06:07 UTC 2020 on sn-devel-184
This commit is contained in:
Volker Lendecke
2020-03-19 11:01:41 +01:00
committed by Jeremy Allison
parent 2321b11f1f
commit 39c910fd9c
3 changed files with 0 additions and 30 deletions

View File

@@ -76,7 +76,6 @@ typedef struct DOS_ATTR_DESC {
struct _SMBCSRV {
struct cli_state *cli;
dev_t dev;
bool try_posixinfo;
bool no_pathinfo;
bool no_pathinfo2;
bool no_pathinfo3;

View File

@@ -504,26 +504,6 @@ SMBC_getatr(SMBCCTX * context,
return False;
}
if (srv->try_posixinfo) {
SMB_STRUCT_STAT sbuf;
status = cli_posix_stat(targetcli, frame, &sbuf);
if (NT_STATUS_IS_OK(status)) {
setup_stat_from_stat_ex(&sbuf, path, sb);
TALLOC_FREE(frame);
return true;
}
if (NT_STATUS_EQUAL(status, NT_STATUS_NOT_IMPLEMENTED) ||
NT_STATUS_EQUAL(status, NT_STATUS_INVALID_LEVEL)) {
/*
* Turn this off if the server doesn't
* support it.
*/
srv->try_posixinfo = false;
}
}
if (!srv->no_pathinfo2) {
status = cli_qpathinfo2(targetcli,
targetpath,

View File

@@ -657,15 +657,6 @@ SMBC_server_internal(TALLOC_CTX *ctx,
ZERO_STRUCTP(srv);
DLIST_ADD(srv->cli, c);
srv->dev = (dev_t)(str_checksum(server) ^ str_checksum(share));
srv->try_posixinfo = false;
/*
* Until SMB2 POSIX is done, only
* try POSIX stat on SMB1 with POSIX capabilities.
*/
if ((smbXcli_conn_protocol(c->conn) < PROTOCOL_SMB2_02) &&
(smb1cli_conn_capabilities(c->conn) & CAP_UNIX)) {
srv->try_posixinfo = true;
}
srv->no_pathinfo = False;
srv->no_pathinfo2 = False;
srv->no_pathinfo3 = False;