Author: jerry Date: 2007-05-21 19:12:14 +0000 (Mon, 21 May 2007) New Revision: 23046
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=23046 Log: Few missing merges from cleaning out the Centeris winbindd tree. Nothing of major interest. Will fix a few problems with one way trusts. Modified: branches/SAMBA_3_0/source/nsswitch/winbindd.c branches/SAMBA_3_0/source/nsswitch/winbindd_rpc.c branches/SAMBA_3_0/source/nsswitch/winbindd_util.c branches/SAMBA_3_0/source/passdb/pdb_interface.c branches/SAMBA_3_0_26/source/nsswitch/winbindd.c branches/SAMBA_3_0_26/source/nsswitch/winbindd_rpc.c branches/SAMBA_3_0_26/source/nsswitch/winbindd_util.c branches/SAMBA_3_0_26/source/passdb/pdb_interface.c Changeset: Modified: branches/SAMBA_3_0/source/nsswitch/winbindd.c =================================================================== --- branches/SAMBA_3_0/source/nsswitch/winbindd.c 2007-05-21 17:39:05 UTC (rev 23045) +++ branches/SAMBA_3_0/source/nsswitch/winbindd.c 2007-05-21 19:12:14 UTC (rev 23046) @@ -1164,6 +1164,10 @@ wcache_tdc_clear(); + /* clear the cached list of trusted domains */ + + wcache_tdc_clear(); + if (!init_domain_list()) { DEBUG(0,("unable to initalize domain list\n")); exit(1); Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_rpc.c =================================================================== --- branches/SAMBA_3_0/source/nsswitch/winbindd_rpc.c 2007-05-21 17:39:05 UTC (rev 23045) +++ branches/SAMBA_3_0/source/nsswitch/winbindd_rpc.c 2007-05-21 19:12:14 UTC (rev 23046) @@ -458,6 +458,12 @@ return NT_STATUS_OK; } + if ( !winbindd_can_contact_domain( domain ) ) { + DEBUG(10,("query_user: No incoming trust for domain %s\n", + domain->name)); + return NT_STATUS_OK; + } + /* no cache; hit the wire */ result = cm_connect_sam(domain, mem_ctx, &cli, &dom_pol); Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_util.c =================================================================== --- branches/SAMBA_3_0/source/nsswitch/winbindd_util.c 2007-05-21 17:39:05 UTC (rev 23045) +++ branches/SAMBA_3_0/source/nsswitch/winbindd_util.c 2007-05-21 19:12:14 UTC (rev 23046) @@ -148,6 +148,16 @@ return domain; } + /* See if we found a match. Check if we need to update the + SID. */ + + if ( domain ) { + if ( sid_equal( &domain->sid, &global_sid_NULL ) ) + sid_copy( &domain->sid, sid ); + + return domain; + } + /* Create new domain entry */ if ((domain = SMB_MALLOC_P(struct winbindd_domain)) == NULL) Modified: branches/SAMBA_3_0/source/passdb/pdb_interface.c =================================================================== --- branches/SAMBA_3_0/source/passdb/pdb_interface.c 2007-05-21 17:39:05 UTC (rev 23045) +++ branches/SAMBA_3_0/source/passdb/pdb_interface.c 2007-05-21 19:12:14 UTC (rev 23046) @@ -1307,7 +1307,7 @@ goto done; } - /* check for "Unix User" */ + /* check for "Unix Group" */ if ( sid_peek_check_rid(&global_sid_Unix_Groups, sid, &rid) ) { id->gid = rid; Modified: branches/SAMBA_3_0_26/source/nsswitch/winbindd.c =================================================================== --- branches/SAMBA_3_0_26/source/nsswitch/winbindd.c 2007-05-21 17:39:05 UTC (rev 23045) +++ branches/SAMBA_3_0_26/source/nsswitch/winbindd.c 2007-05-21 19:12:14 UTC (rev 23046) @@ -1111,6 +1111,10 @@ wcache_tdc_clear(); + /* clear the cached list of trusted domains */ + + wcache_tdc_clear(); + if (!init_domain_list()) { DEBUG(0,("unable to initalize domain list\n")); exit(1); Modified: branches/SAMBA_3_0_26/source/nsswitch/winbindd_rpc.c =================================================================== --- branches/SAMBA_3_0_26/source/nsswitch/winbindd_rpc.c 2007-05-21 17:39:05 UTC (rev 23045) +++ branches/SAMBA_3_0_26/source/nsswitch/winbindd_rpc.c 2007-05-21 19:12:14 UTC (rev 23046) @@ -458,6 +458,12 @@ return NT_STATUS_OK; } + if ( !winbindd_can_contact_domain( domain ) ) { + DEBUG(10,("query_user: No incoming trust for domain %s\n", + domain->name)); + return NT_STATUS_OK; + } + /* no cache; hit the wire */ result = cm_connect_sam(domain, mem_ctx, &cli, &dom_pol); Modified: branches/SAMBA_3_0_26/source/nsswitch/winbindd_util.c =================================================================== --- branches/SAMBA_3_0_26/source/nsswitch/winbindd_util.c 2007-05-21 17:39:05 UTC (rev 23045) +++ branches/SAMBA_3_0_26/source/nsswitch/winbindd_util.c 2007-05-21 19:12:14 UTC (rev 23046) @@ -157,6 +157,16 @@ return domain; } + /* See if we found a match. Check if we need to update the + SID. */ + + if ( domain ) { + if ( sid_equal( &domain->sid, &global_sid_NULL ) ) + sid_copy( &domain->sid, sid ); + + return domain; + } + /* Create new domain entry */ if ((domain = SMB_MALLOC_P(struct winbindd_domain)) == NULL) Modified: branches/SAMBA_3_0_26/source/passdb/pdb_interface.c =================================================================== --- branches/SAMBA_3_0_26/source/passdb/pdb_interface.c 2007-05-21 17:39:05 UTC (rev 23045) +++ branches/SAMBA_3_0_26/source/passdb/pdb_interface.c 2007-05-21 19:12:14 UTC (rev 23046) @@ -1289,7 +1289,7 @@ goto done; } - /* check for "Unix User" */ + /* check for "Unix Group" */ if ( sid_peek_check_rid(&global_sid_Unix_Groups, sid, &rid) ) { id->gid = rid;