Author: jerry
Date: 2006-11-06 19:46:50 +0000 (Mon, 06 Nov 2006)
New Revision: 19579

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

Log:
BUG 4075: patch from Dmitry Butskoy <[EMAIL PROTECTED]>.
Allow smbd to use winbindd to lookup uids/gids outside the 
idmap range if 'winbind trusted domains only = yes'



Modified:
   branches/SAMBA_3_0/source/passdb/lookup_sid.c
   branches/SAMBA_3_0_23/source/passdb/lookup_sid.c
   branches/SAMBA_3_0_24/source/passdb/lookup_sid.c


Changeset:
Modified: branches/SAMBA_3_0/source/passdb/lookup_sid.c
===================================================================
--- branches/SAMBA_3_0/source/passdb/lookup_sid.c       2006-11-06 19:38:27 UTC 
(rev 19578)
+++ branches/SAMBA_3_0/source/passdb/lookup_sid.c       2006-11-06 19:46:50 UTC 
(rev 19579)
@@ -1124,7 +1124,8 @@
        if (fetch_sid_from_uid_cache(psid, uid))
                return;
 
-       if (lp_idmap_uid(&low, &high) && (uid >= low) && (uid <= high) &&
+       if ((lp_winbind_trusted_domains_only() ||
+            (lp_idmap_uid(&low, &high) && (uid >= low) && (uid <= high))) &&
            winbind_uid_to_sid(psid, uid)) {
 
                DEBUG(10,("uid_to_sid: winbindd %u -> %s\n",
@@ -1169,7 +1170,8 @@
        if (fetch_sid_from_gid_cache(psid, gid))
                return;
 
-       if (lp_idmap_gid(&low, &high) && (gid >= low) && (gid <= high) &&
+       if ((lp_winbind_trusted_domains_only() ||
+            (lp_idmap_gid(&low, &high) && (gid >= low) && (gid <= high))) &&
            winbind_gid_to_sid(psid, gid)) {
 
                DEBUG(10,("gid_to_sid: winbindd %u -> %s\n",

Modified: branches/SAMBA_3_0_23/source/passdb/lookup_sid.c
===================================================================
--- branches/SAMBA_3_0_23/source/passdb/lookup_sid.c    2006-11-06 19:38:27 UTC 
(rev 19578)
+++ branches/SAMBA_3_0_23/source/passdb/lookup_sid.c    2006-11-06 19:46:50 UTC 
(rev 19579)
@@ -1076,7 +1076,8 @@
        if (fetch_sid_from_uid_cache(psid, uid))
                return;
 
-       if (lp_idmap_uid(&low, &high) && (uid >= low) && (uid <= high) &&
+       if ((lp_winbind_trusted_domains_only() ||
+            (lp_idmap_uid(&low, &high) && (uid >= low) && (uid <= high))) &&
            winbind_uid_to_sid(psid, uid)) {
 
                DEBUG(10,("uid_to_sid: winbindd %u -> %s\n",
@@ -1121,7 +1122,8 @@
        if (fetch_sid_from_gid_cache(psid, gid))
                return;
 
-       if (lp_idmap_gid(&low, &high) && (gid >= low) && (gid <= high) &&
+       if ((lp_winbind_trusted_domains_only() ||
+            (lp_idmap_gid(&low, &high) && (gid >= low) && (gid <= high))) &&
            winbind_gid_to_sid(psid, gid)) {
 
                DEBUG(10,("gid_to_sid: winbindd %u -> %s\n",

Modified: branches/SAMBA_3_0_24/source/passdb/lookup_sid.c
===================================================================
--- branches/SAMBA_3_0_24/source/passdb/lookup_sid.c    2006-11-06 19:38:27 UTC 
(rev 19578)
+++ branches/SAMBA_3_0_24/source/passdb/lookup_sid.c    2006-11-06 19:46:50 UTC 
(rev 19579)
@@ -1088,7 +1088,8 @@
        if (fetch_sid_from_uid_cache(psid, uid))
                return;
 
-       if (lp_idmap_uid(&low, &high) && (uid >= low) && (uid <= high) &&
+       if ((lp_winbind_trusted_domains_only() ||
+            (lp_idmap_uid(&low, &high) && (uid >= low) && (uid <= high))) &&
            winbind_uid_to_sid(psid, uid)) {
 
                DEBUG(10,("uid_to_sid: winbindd %u -> %s\n",
@@ -1133,7 +1134,8 @@
        if (fetch_sid_from_gid_cache(psid, gid))
                return;
 
-       if (lp_idmap_gid(&low, &high) && (gid >= low) && (gid <= high) &&
+       if ((lp_winbind_trusted_domains_only() ||
+            (lp_idmap_gid(&low, &high) && (gid >= low) && (gid <= high))) &&
            winbind_gid_to_sid(psid, gid)) {
 
                DEBUG(10,("gid_to_sid: winbindd %u -> %s\n",

Reply via email to