summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2020-03-19 11:01:41 +0100
committerKarolin Seeger <kseeger@samba.org>2020-05-04 10:14:57 +0000
commit40a7250da766e2ff24c36cb7efda8d6202136d6c (patch)
treea01ad4e3561ff78d777837c3ef6ab7c94b606c69
parente12887cdaece9bf4edb125894f9c9e7a68c70830 (diff)
downloadsamba-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)
-rw-r--r--source3/include/libsmb_internal.h1
-rw-r--r--source3/libsmb/libsmb_file.c20
-rw-r--r--source3/libsmb/libsmb_server.c9
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;