The branch, v3-2-test has been updated via f049fb5643f93cc4806ada5db8e591bbe4cb9204 (commit) from 3591c95beaed3abfa10b1579e377b0103647a177 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test - Log ----------------------------------------------------------------- commit f049fb5643f93cc4806ada5db8e591bbe4cb9204 Author: Günther Deschner <g...@samba.org> Date: Thu Apr 16 01:42:35 2009 +0200 s3-lsa: Fix Bug #6263. Unexpected LookupSids reply crashes XP pre-SP3. LookupSids needs to bounce back string sids in case of NT_STATUS_NONE_MAPPED. Guenther (cherry picked from commit 597be402e40ff880b595ae49a8600b932365cbcb) ----------------------------------------------------------------------- Summary of changes: source/rpc_server/srv_lsa_nt.c | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-) Changeset truncated at 500 lines: diff --git a/source/rpc_server/srv_lsa_nt.c b/source/rpc_server/srv_lsa_nt.c index 9d411ec..fd6cdfa 100644 --- a/source/rpc_server/srv_lsa_nt.c +++ b/source/rpc_server/srv_lsa_nt.c @@ -830,7 +830,15 @@ NTSTATUS _lsa_LookupSids(pipes_struct *p, &names, &mapped_count); - if (NT_STATUS_IS_ERR(status)) { + /* Only return here when there is a real error. + NT_STATUS_NONE_MAPPED is a special case as it indicates that none of + the requested sids could be resolved. Older versions of XP (pre SP3) + rely that we return with the string representations of those SIDs in + that case. If we don't, XP crashes - Guenther + */ + + if (NT_STATUS_IS_ERR(status) && + !NT_STATUS_EQUAL(status, NT_STATUS_NONE_MAPPED)) { return status; } -- Samba Shared Repository