s3:libsmb: SMBC_getatr() if no method worked, try all methods again on next attempt
authorGregor Beck <gbeck@sernet.de>
Fri, 18 Oct 2013 13:32:55 +0000 (15:32 +0200)
committerJeremy Allison <jra@samba.org>
Wed, 30 Oct 2013 22:23:51 +0000 (15:23 -0700)
Signed-off-by: Gregor Beck <gbeck@sernet.de>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/libsmb/libsmb_file.c

index 277ca83e33d859c75ee6041746090064f4f6ceba..8fb7a2e67eca800763d92fc32a14575d977935df 100644 (file)
@@ -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;