Ignore:
Timestamp:
Jul 11, 2008, 1:13:42 AM (17 years ago)
Author:
Paul Smedley
Message:

Update branch to 3.0.31 release

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/samba-3.0/source/nsswitch/winbindd_dual.c

    r134 r140  
    3636
    3737extern BOOL override_logfile;
    38 extern struct winbindd_methods cache_methods;
    3938
    4039/* Read some data from a client connection */
     
    888887        struct winbindd_cli_state state;
    889888        struct winbindd_domain *domain;
     889        struct winbindd_domain *primary_domain = NULL;
    890890
    891891        if (socketpair(AF_UNIX, SOCK_STREAM, 0, fdpair) != 0) {
     
    967967
    968968        /* Ensure we have no pending check_online events other
    969            than one for this domain. */
     969           than one for this domain or the primary domain. */
    970970
    971971        for (domain = domain_list(); domain; domain = domain->next) {
    972                 if (domain != child->domain) {
     972                if (domain->primary) {
     973                        primary_domain = domain;
     974                }
     975                if ((domain != child->domain) && !domain->primary) {
    973976                        TALLOC_FREE(domain->check_online_event);
    974977                }
     
    986989
    987990                set_domain_online_request(child->domain);
     991
     992                if (primary_domain != child->domain) {
     993                        /* We need to talk to the primary
     994                         * domain as well as the trusted
     995                         * domain inside a trusted domain
     996                         * child.
     997                         * See the code in :
     998                         * winbindd_dual_pam_auth_samlogon()
     999                         * especially the calling of
     1000                         * contact_domain = find_our_domain()
     1001                         * in the non-DC case for details.
     1002                         */
     1003                        set_domain_online_request(primary_domain);
     1004                }
    9881005
    9891006                child->lockout_policy_event = event_add_timed(
     
    9941011        }
    9951012
    996         /* Special case for Winbindd on a Samba DC,
    997          * We want to make sure the child can connect to smbd
    998          * but not the main daemon */
    999 
    1000         if (child->domain && child->domain->internal && IS_DC) {
    1001                 child->domain->methods = &cache_methods;
    1002                 child->domain->online = False;
    1003         }
    1004 
    10051013        while (1) {
    10061014
     
    10161024
    10171025                /* check for signals */
    1018                 winbind_check_sigterm();
     1026                winbind_check_sigterm(false);
    10191027                winbind_check_sighup();
    10201028
Note: See TracChangeset for help on using the changeset viewer.