summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2020-05-11 15:58:27 -0700
committerKarolin Seeger <kseeger@samba.org>2020-06-04 11:47:48 +0000
commitc2051cdfda67f04e641c7b58d0c89a675ed6fb79 (patch)
treed10dc7da5b07c0b368a8fa0685c767ffc2eb5e6b
parentea64f5fb2d87877d77a8ccdd6874b367efaf62a4 (diff)
downloadsamba-c2051cdfda67f04e641c7b58d0c89a675ed6fb79.tar.gz
s3: libsmbclient: Finish unifing bad iconv behavior across CORE NT1 SMB2 protocols.
On bad name conversion, exit the directory listing with an error, but leave the connection intact. We were already checking for finfo->name == NULL here, but were ignoring it and not reporting an error. Remove the knownfail.d/bad_iconv file as we now behave the same across CORE/NT1/SMB2. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14374 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Tue May 12 21:32:44 UTC 2020 on sn-devel-184 (cherry picked from commit 393da520e43bd3a28feb231bcd9fd5308a3daa4a)
-rw-r--r--selftest/knownfail.d/bad_iconv2
-rw-r--r--source3/libsmb/clilist.c5
2 files changed, 3 insertions, 4 deletions
diff --git a/selftest/knownfail.d/bad_iconv b/selftest/knownfail.d/bad_iconv
deleted file mode 100644
index c45022f3457..00000000000
--- a/selftest/knownfail.d/bad_iconv
+++ /dev/null
@@ -1,2 +0,0 @@
-samba3.blackbox.smbclient_iconv.NT1
-
diff --git a/source3/libsmb/clilist.c b/source3/libsmb/clilist.c
index 28449dec81c..f9444bc401c 100644
--- a/source3/libsmb/clilist.c
+++ b/source3/libsmb/clilist.c
@@ -794,8 +794,9 @@ static void cli_list_trans_done(struct tevent_req *subreq)
if (finfo->name == NULL) {
DEBUG(1, ("cli_list: Error: unable to parse name from "
"info level %d\n", state->info_level));
- ff_eos = true;
- break;
+ tevent_req_nterror(req,
+ NT_STATUS_INVALID_NETWORK_RESPONSE);
+ return;
}
status = is_bad_finfo_name(state->cli, finfo);