svn commit: samba r22066 - in branches: SAMBA_3_0/source/nsswitch
SAMBA_3_0/source/passdb SAMBA_3_0_25/source/nsswitch
SAMBA_3_0_25/source/passdb
jerry at samba.org
jerry at samba.org
Wed Apr 4 02:57:03 GMT 2007
Author: jerry
Date: 2007-04-04 02:57:01 +0000 (Wed, 04 Apr 2007)
New Revision: 22066
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=22066
Log:
Ensure that winbind can resolve SIDs in the S-1-22-{1,2}
domain to a uid.gid using the idmap_passdb backend.
Modified:
branches/SAMBA_3_0/source/nsswitch/idmap.c
branches/SAMBA_3_0/source/passdb/pdb_interface.c
branches/SAMBA_3_0_25/source/nsswitch/idmap.c
branches/SAMBA_3_0_25/source/passdb/pdb_interface.c
Changeset:
Modified: branches/SAMBA_3_0/source/nsswitch/idmap.c
===================================================================
--- branches/SAMBA_3_0/source/nsswitch/idmap.c 2007-04-04 00:03:12 UTC (rev 22065)
+++ branches/SAMBA_3_0/source/nsswitch/idmap.c 2007-04-04 02:57:01 UTC (rev 22066)
@@ -689,7 +689,9 @@
if ( (pdb_dom_num != -1) &&
(sid_check_is_in_builtin(account_sid) ||
- sid_check_is_in_wellknown_domain(account_sid)) )
+ sid_check_is_in_wellknown_domain(account_sid) ||
+ sid_check_is_in_unix_groups(account_sid) ||
+ sid_check_is_in_unix_users(account_sid)) )
{
return idmap_domains[pdb_dom_num];
}
Modified: branches/SAMBA_3_0/source/passdb/pdb_interface.c
===================================================================
--- branches/SAMBA_3_0/source/passdb/pdb_interface.c 2007-04-04 00:03:12 UTC (rev 22065)
+++ branches/SAMBA_3_0/source/passdb/pdb_interface.c 2007-04-04 02:57:01 UTC (rev 22066)
@@ -1305,6 +1305,26 @@
goto done;
}
+ /* check for "Unix User" */
+
+ if ( sid_peek_check_rid(&global_sid_Unix_Users, sid, &rid) ) {
+ id->uid = rid;
+ *type = SID_NAME_USER;
+ ret = True;
+ goto done;
+ }
+
+ /* check for "Unix User" */
+
+ if ( sid_peek_check_rid(&global_sid_Unix_Groups, sid, &rid) ) {
+ id->gid = rid;
+ *type = SID_NAME_ALIAS;
+ ret = True;
+ goto done;
+ }
+
+ /* BUILTIN */
+
if (sid_check_is_in_builtin(sid) ||
sid_check_is_in_wellknown_domain(sid)) {
/* Here we only have aliases */
@@ -1328,7 +1348,7 @@
goto done;
}
- DEBUG(5, ("Sid %s is neither ours nor builtin, don't know it\n",
+ DEBUG(5, ("Sid %s is neither ours, a Unix SID, nor builtin\n",
sid_string_static(sid)));
done:
Modified: branches/SAMBA_3_0_25/source/nsswitch/idmap.c
===================================================================
--- branches/SAMBA_3_0_25/source/nsswitch/idmap.c 2007-04-04 00:03:12 UTC (rev 22065)
+++ branches/SAMBA_3_0_25/source/nsswitch/idmap.c 2007-04-04 02:57:01 UTC (rev 22066)
@@ -689,7 +689,9 @@
if ( (pdb_dom_num != -1) &&
(sid_check_is_in_builtin(account_sid) ||
- sid_check_is_in_wellknown_domain(account_sid)) )
+ sid_check_is_in_wellknown_domain(account_sid) ||
+ sid_check_is_in_unix_groups(account_sid) ||
+ sid_check_is_in_unix_users(account_sid)) )
{
return idmap_domains[pdb_dom_num];
}
Modified: branches/SAMBA_3_0_25/source/passdb/pdb_interface.c
===================================================================
--- branches/SAMBA_3_0_25/source/passdb/pdb_interface.c 2007-04-04 00:03:12 UTC (rev 22065)
+++ branches/SAMBA_3_0_25/source/passdb/pdb_interface.c 2007-04-04 02:57:01 UTC (rev 22066)
@@ -1287,6 +1287,27 @@
goto done;
}
+ /* check for "Unix User" */
+
+ if ( sid_peek_check_rid(&global_sid_Unix_Users, sid, &rid) ) {
+ id->uid = rid;
+ *type = SID_NAME_USER;
+ ret = True;
+ goto done;
+ }
+
+ /* check for "Unix User" */
+
+ if ( sid_peek_check_rid(&global_sid_Unix_Groups, sid, &rid) ) {
+ id->gid = rid;
+ *type = SID_NAME_ALIAS;
+ ret = True;
+ goto done;
+ }
+
+
+ /* BUILTIN */
+
if (sid_peek_check_rid(&global_sid_Builtin, sid, &rid)) {
/* Here we only have aliases */
GROUP_MAP map;
@@ -1309,7 +1330,7 @@
goto done;
}
- DEBUG(5, ("Sid %s is neither ours nor builtin, don't know it\n",
+ DEBUG(5, ("Sid %s is neither ours, a Unix SID, nor builtin\n",
sid_string_static(sid)));
done:
More information about the samba-cvs
mailing list