mirror of
https://github.com/samba-team/samba.git
synced 2025-01-10 01:18:15 +03:00
04eafce653
When reading entries from gencache, wb_cache_rids_to_names() can return STATUS_SOME_UNMAPPED, which _wbint_LookupRids() does not handle correctly. This test enforces this situation by filling gencache with one wbinfo -R and then erasing the winbindd_cache.tdb. This forces winbind to enter the domain helper process, which will then read from gencache filled with the previous wbinfo -R. Without having the entries cached this does not happen because wb_cache_rids_to_names() via the do_query: path calls deep inside calls dcerpc_lsa_lookup_sids_noalloc(), which hides the STATUS_SOME_UNMAPPED that came in as lsa_LookupSids result value. Bug: https://bugzilla.samba.org/show_bug.cgi?id=14435 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
22 lines
634 B
Bash
Executable File
22 lines
634 B
Bash
Executable File
#!/bin/sh
|
|
|
|
WBINFO="$VALGRIND ${WBINFO:-$BINDIR/wbinfo}"
|
|
TDBTOOL="${TDBTOOL:-$BINDIR/tdbtool}"
|
|
TDBDUMP="${TDBDUMP:-$BINDIR/tdbdump}"
|
|
NET="$VALGRIND ${NET:-$BINDIR/net}"
|
|
|
|
cache="$LOCK_DIR"/winbindd_cache.tdb
|
|
|
|
incdir=`dirname $0`/../../../testprogs/blackbox
|
|
. $incdir/subunit.sh
|
|
|
|
testit "flush" "$NET" "cache" "flush" || failed=`expr $failed + 1`
|
|
testit "lookuprids1" "$WBINFO" "-R" "512,12345" || failed=`expr $failed + 1`
|
|
|
|
key=$("$TDBDUMP" "$cache" | grep ^key.*NDR.*/16/ | cut -d\" -f2)
|
|
|
|
testit "delete" "$TDBTOOL" "$cache" delete "$key"
|
|
testit "lookuprids2" "$WBINFO" "-R" "512,12345" || failed=`expr $failed + 1`
|
|
|
|
testok $0 $failed
|