summaryrefslogtreecommitdiffstats
path: root/source3/libsmb/libsmb_file.c
diff options
context:
space:
mode:
authorGregor Beck <gbeck@sernet.de>2013-10-18 15:32:55 +0200
committerJeremy Allison <jra@samba.org>2013-10-30 15:23:51 -0700
commit71dc7e593ef17db7875d3d9a2e42ae588679392e (patch)
tree390ce03b1ba6bdb79c058540d943f9535f641a0b /source3/libsmb/libsmb_file.c
parentf959dd44a015ba0a844f85e7e0896e8c46e6e5a3 (diff)
downloadsamba-71dc7e593ef17db7875d3d9a2e42ae588679392e.tar.gz
samba-71dc7e593ef17db7875d3d9a2e42ae588679392e.tar.xz
samba-71dc7e593ef17db7875d3d9a2e42ae588679392e.zip
s3:libsmb: SMBC_getatr() if no method worked, try all methods again on next attempt
Signed-off-by: Gregor Beck <gbeck@sernet.de> Reviewed-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3/libsmb/libsmb_file.c')
-rw-r--r--source3/libsmb/libsmb_file.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/source3/libsmb/libsmb_file.c b/source3/libsmb/libsmb_file.c
index 277ca83e33..8fb7a2e67e 100644
--- a/source3/libsmb/libsmb_file.c
+++ b/source3/libsmb/libsmb_file.c
@@ -575,9 +575,7 @@ SMBC_getatr(SMBCCTX * context,
/* if this is NT then don't bother with the getatr */
if (smb1cli_conn_capabilities(targetcli->conn) & CAP_NT_SMBS) {
- errno = EPERM;
- TALLOC_FREE(frame);
- return False;
+ goto all_failed;
}
if (NT_STATUS_IS_OK(cli_getatr(targetcli, targetpath, mode, size, &write_time))) {
@@ -603,6 +601,10 @@ SMBC_getatr(SMBCCTX * context,
return True;
}
+all_failed:
+ srv->no_pathinfo2 = False;
+ srv->no_pathinfo3 = False;
+
errno = EPERM;
TALLOC_FREE(frame);
return False;