Author: idra
Date: 2007-05-03 12:27:31 +0000 (Thu, 03 May 2007)
New Revision: 22645

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=22645

Log:

Fix bug in idmap_ldap's get_credentials() code.
We were dereferencing null for the alloc backend.

Jerry, thits need to be in 3.0.25 final.

Simo.


Modified:
   branches/SAMBA_3_0_25/source/nsswitch/idmap_ldap.c


Changeset:
Modified: branches/SAMBA_3_0_25/source/nsswitch/idmap_ldap.c
===================================================================
--- branches/SAMBA_3_0_25/source/nsswitch/idmap_ldap.c  2007-05-03 11:49:32 UTC 
(rev 22644)
+++ branches/SAMBA_3_0_25/source/nsswitch/idmap_ldap.c  2007-05-03 12:27:31 UTC 
(rev 22645)
@@ -79,11 +79,17 @@
        tmp = lp_parm_const_string(-1, config_option, "ldap_user_dn", NULL);
 
        if ( tmp ) {
-               secret = idmap_fetch_secret("ldap", false, dom->name, tmp);
+               if (!dom) {
+                       /* only the alloc backend is allowed to pass in a NULL 
dom */
+                       secret = idmap_fetch_secret("ldap", true, NULL, tmp);
+               } else {
+                       secret = idmap_fetch_secret("ldap", false, dom->name, 
tmp);
+               } 
+
                if (!secret) {
                        DEBUG(0, ("get_credentials: Unable to fetch "
                                  "auth credentials for %s in %s\n",
-                                 tmp, dom->name));
+                                 tmp, (dom==NULL)?"ALLOC":dom->name));
                        ret = NT_STATUS_ACCESS_DENIED;
                        goto done;
                }               

Reply via email to