diff options
author | Volker Lendecke <vl@samba.org> | 2020-03-19 11:01:41 +0100 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2020-05-04 10:14:57 +0000 |
commit | 40a7250da766e2ff24c36cb7efda8d6202136d6c (patch) | |
tree | a01ad4e3561ff78d777837c3ef6ab7c94b606c69 /source3 | |
parent | e12887cdaece9bf4edb125894f9c9e7a68c70830 (diff) | |
download | samba-40a7250da766e2ff24c36cb7efda8d6202136d6c.tar.gz |
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 51551e0d53fa6 caused a few followup
patches in an attempt to clean up the test failures 51551e0d53fa6
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
(cherry picked from commit 39c910fd9cba3caf7414274b678b9eee33d7e20b)
Diffstat (limited to 'source3')
-rw-r--r-- | source3/include/libsmb_internal.h | 1 | ||||
-rw-r--r-- | source3/libsmb/libsmb_file.c | 20 | ||||
-rw-r--r-- | source3/libsmb/libsmb_server.c | 9 |
3 files changed, 0 insertions, 30 deletions
diff --git a/source3/include/libsmb_internal.h b/source3/include/libsmb_internal.h index af56df58792..edd19c7c15b 100644 --- a/source3/include/libsmb_internal.h +++ b/source3/include/libsmb_internal.h @@ -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; diff --git a/source3/libsmb/libsmb_file.c b/source3/libsmb/libsmb_file.c index 1577010e490..f0a16c61a83 100644 --- a/source3/libsmb/libsmb_file.c +++ b/source3/libsmb/libsmb_file.c @@ -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, diff --git a/source3/libsmb/libsmb_server.c b/source3/libsmb/libsmb_server.c index d4f71d8c8b7..0067df48cac 100644 --- a/source3/libsmb/libsmb_server.c +++ b/source3/libsmb/libsmb_server.c @@ -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; |