1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-28 07:21:54 +03:00
samba-mirror/source3/passdb
Gerald Carter 9b78af1f64 r23244: Fix loop with nscd and NSS recusive calls.
> Here's the problem I hit:
>
> getgrnam("foo") -> nscd -> NSS -> winbindd ->
>   winbindd_passdb.c:nam_to_sid() -> lookup_global_sam_name() ->
>   getgrnam("foo") -> nscd -> ....
>
> This is in the SAMBA_3_0 specifically but in theory could happen
> SAMBA_3_0_25 (or 26) for an unknown group.
>
> The attached patch passes down enough state for the
> name_to_sid() call to be able to determine the originating
> winbindd cmd that came into the parent.  So we can avoid
> making more NSS calls if the original call came in trough NSS
> so we don't deadlock ?  But you should still service
> lookupname() calls which are needed for example when
> doing the token access checks for a "valid groups" from
> smb.conf.
>
> I've got this in testing now.  The problem has shown up with the
> DsProvider on OS X and with nscd on SOlaris and Linux.
(This used to be commit bcc8a3290a)
2007-10-10 12:22:58 -05:00
..
login_cache.c r22009: change TDB_DATA from char * to unsigned char * 2007-10-10 12:19:00 -05:00
lookup_sid.c r23244: Fix loop with nscd and NSS recusive calls. 2007-10-10 12:22:58 -05:00
machine_sid.c r22631: Remove the possibility of sid_check_is_domain and 2007-10-10 12:19:51 -05:00
passdb.c r23192: Remove fallback to looking up group mappings by the 2007-10-10 12:22:53 -05:00
pdb_compat.c r13679: Commiting the rm_primary_group.patch posted on samba-technical 2007-10-10 11:10:23 -05:00
pdb_get_set.c r22844: Introduce const DATA_BLOB data_blob_null = { NULL, 0, NULL }; and 2007-10-10 12:22:01 -05:00
pdb_interface.c r23046: Few missing merges from cleaning out the Centeris winbindd tree. 2007-10-10 12:22:17 -05:00
pdb_ldap.c r23194: cherry pick two fixes from SAMBA_3_0_26 2007-10-10 12:22:53 -05:00
pdb_nds.c r16945: Sync trunk -> 3.0 for 3.0.24 code. Still need 2007-10-10 11:19:14 -05:00
pdb_smbpasswd.c r22001: change prototype of dump_data(), so that it takes unsigned char * now, 2007-10-10 12:18:59 -05:00
pdb_tdb.c r22009: change TDB_DATA from char * to unsigned char * 2007-10-10 12:19:00 -05:00
secrets.c r22125: Fix a warning 2007-10-10 12:19:14 -05:00
util_builtin.c r13316: Let the carnage begin.... 2007-10-10 11:06:23 -05:00
util_unixsids.c r17709: Fix cut-n-paste error with the name of gid_to_unix_group_sid(). 2007-10-10 11:38:46 -05:00
util_wellknown.c r13791: Having S-1-1-0 show up in winbind lookupsid does not really make sense. 2007-10-10 11:10:54 -05:00