The branch, master has been updated
       via  14304fc5e5d1334328d0f181cbdd4d3a644af62b (commit)
      from  d9804ae3cc2c435f9983ca47f6f1b6b96e5c03ca (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 14304fc5e5d1334328d0f181cbdd4d3a644af62b
Author: Günther Deschner <[email protected]>
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 1c9266c8caa59e287b993393b6050732a0b33547)

-----------------------------------------------------------------------

Summary of changes:
 source3/rpc_server/srv_lsa_nt.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/rpc_server/srv_lsa_nt.c b/source3/rpc_server/srv_lsa_nt.c
index 0ce2b40..9481c20 100644
--- a/source3/rpc_server/srv_lsa_nt.c
+++ b/source3/rpc_server/srv_lsa_nt.c
@@ -827,7 +827,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

Reply via email to