The branch, master has been updated
       via  7f17e01 idmap_rfc2307: Remove unsed parameter and variable
       via  304e390 idmap_rfc2307: Fix a crash after connection problem to DC
      from  fa9630e regedit: remove an old comment

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


- Log -----------------------------------------------------------------
commit 7f17e017b5fba4a9a83457c83c0c2d6bb88c7381
Author: Christof Schmitt <c...@samba.org>
Date:   Wed Sep 17 13:28:19 2014 -0700

    idmap_rfc2307: Remove unsed parameter and variable
    
    Signed-off-by: Christof Schmitt <c...@samba.org>
    Reviewed-by: Volker Lendecke <v...@samba.org>
    
    Autobuild-User(master): Christof Schmitt <c...@samba.org>
    Autobuild-Date(master): Wed Oct  1 19:20:50 CEST 2014 on sn-devel-104

commit 304e3904f0bfca468862e576fde9b0922c66de07
Author: Christof Schmitt <c...@samba.org>
Date:   Wed Sep 17 13:23:11 2014 -0700

    idmap_rfc2307: Fix a crash after connection problem to DC
    
    When the connection to the DC has a problem, the code behind
    ads_do_search_retry closes the current connection and opens a new one.
    The new connection has a new struct LDAP to represent the connection. In
    this case, the LDAP pointer in the idmap_rfc2307_context becomes
    invalid.
    
    Fix this problem by updating the local pointer after calling
    ads_do_search_retry.
    
    Signed-off-by: Christof Schmitt <c...@samba.org>
    Reviewed-by: Volker Lendecke <v...@samba.org>

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

Summary of changes:
 source3/winbindd/idmap_rfc2307.c |   14 ++++++--------
 1 files changed, 6 insertions(+), 8 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/winbindd/idmap_rfc2307.c b/source3/winbindd/idmap_rfc2307.c
index 2b7a593..c04dfac 100644
--- a/source3/winbindd/idmap_rfc2307.c
+++ b/source3/winbindd/idmap_rfc2307.c
@@ -103,6 +103,7 @@ static NTSTATUS idmap_rfc2307_ads_search(struct 
idmap_rfc2307_context *ctx,
 
        status = ads_do_search_retry(ctx->ads, bind_path,
                                     LDAP_SCOPE_SUBTREE, expr, attrs, result);
+       ctx->ldap = ctx->ads->ldap.ld;
        return ads_ntstatus(status);
 }
 
@@ -550,7 +551,6 @@ static struct id_map* idmap_rfc2307_find_map(struct 
idmap_rfc2307_map *maps,
 
 static void idmap_rfc2307_map_xid_results(struct idmap_rfc2307_context *ctx,
                                          TALLOC_CTX *mem_ctx,
-                                         struct id_map **ids,
                                          struct idmap_rfc2307_map *maps,
                                          LDAPMessage *result,
                                          struct idmap_domain *dom,
@@ -621,7 +621,7 @@ static NTSTATUS idmap_rfc2307_sids_to_unixids(struct 
idmap_domain *dom,
        struct idmap_rfc2307_context *ctx;
        TALLOC_CTX *mem_ctx;
        struct idmap_rfc2307_map *int_maps;
-       int cnt_usr = 0, cnt_grp = 0, idx = 0, bidx = 0;
+       int cnt_usr = 0, cnt_grp = 0, idx = 0;
        char *fltr_usr = NULL, *fltr_grp = NULL;
        NTSTATUS ret;
        int i;
@@ -721,9 +721,8 @@ again:
                        goto out;
                }
 
-               idmap_rfc2307_map_xid_results(ctx, mem_ctx, &ids[bidx],
-                                             int_maps, result, dom,
-                                             attrs, ID_TYPE_UID);
+               idmap_rfc2307_map_xid_results(ctx, mem_ctx, int_maps,
+                                             result, dom, attrs, ID_TYPE_UID);
 
                cnt_usr = 0;
                TALLOC_FREE(fltr_usr);
@@ -745,9 +744,8 @@ again:
                        goto out;
                }
 
-               idmap_rfc2307_map_xid_results(ctx, mem_ctx, &ids[bidx],
-                                             int_maps, result, dom,
-                                             attrs, ID_TYPE_GID);
+               idmap_rfc2307_map_xid_results(ctx, mem_ctx, int_maps, result,
+                                             dom, attrs, ID_TYPE_GID);
                cnt_grp = 0;
                TALLOC_FREE(fltr_grp);
        }


-- 
Samba Shared Repository

Reply via email to