Ignore:
Timestamp:
Nov 12, 2012, 7:10:02 PM (13 years ago)
Author:
Silvan Scherrer
Message:

Samba Server 3.5: update branche to 3.5.18

Location:
branches/samba-3.5.x/source3/winbindd
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/samba-3.5.x/source3/winbindd/idmap.c

    r596 r738  
    2828
    2929static_decl_idmap;
     30
     31static void idmap_init(void)
     32{
     33        static bool initialized;
     34
     35        if (initialized) {
     36                return;
     37        }
     38
     39        DEBUG(10, ("idmap_init(): calling static_init_idmap\n"));
     40
     41        static_init_idmap;
     42
     43        initialized = true;
     44}
    3045
    3146/**
     
    347362        char *params;
    348363
    349         DEBUG(10, ("idmap_init_default_domain: calling static_init_idmap\n"));
    350 
    351         static_init_idmap;
     364        idmap_init();
    352365
    353366        if (!parse_idmap_module(talloc_tos(), lp_idmap_backend(), &modulename,
     
    547560        NTSTATUS ret = NT_STATUS_NO_MEMORY;;
    548561
    549         static_init_idmap;
     562        idmap_init();
    550563
    551564        if (idmap_alloc_ctx != NULL) {
  • branches/samba-3.5.x/source3/winbindd/winbindd.c

    r736 r738  
    567567        state->cmd_name = "unknown request";
    568568        state->recv_fn = NULL;
     569        state->last_access = time(NULL);
    569570
    570571        /* Process command */
     
    872873
    873874        for (state = winbindd_client_list(); state; state = state->next) {
    874                 if (state->response == NULL &&
     875                if (state->request == NULL &&
     876                    state->response == NULL &&
    875877                    !state->pwent_state && !state->grent_state) {
    876878                        nidle++;
  • branches/samba-3.5.x/source3/winbindd/winbindd_cred_cache.c

    r414 r738  
    485485                            const char *service,
    486486                            const char *username,
     487                            const char *pass,
    487488                            const char *realm,
    488489                            uid_t uid,
     
    587588                        DEBUG(10,("add_ccache_to_list: added krb5_ticket handler\n"));
    588589                }
    589                  
     590
     591                /*
     592                 * If we're set up to renew our krb5 tickets, we must
     593                 * cache the credentials in memory for the ticket
     594                 * renew function (or increase the reference count
     595                 * if we're logging in more than once). Fix inspired
     596                 * by patch from Ian Gordon <ian.gordon@strath.ac.uk>
     597                 * for bugid #9098.
     598                 */
     599
     600                ntret = winbindd_add_memory_creds(username, uid, pass);
     601                DEBUG(10, ("winbindd_add_memory_creds returned: %s\n",
     602                        nt_errstr(ntret)));
     603
    590604                return NT_STATUS_OK;
    591605        }
     
    669683                "added ccache [%s] for user [%s] to the list\n",
    670684                ccname, username));
     685
     686        if (entry->event) {
     687                /*
     688                 * If we're set up to renew our krb5 tickets, we must
     689                 * cache the credentials in memory for the ticket
     690                 * renew function. Fix inspired by patch from
     691                 * Ian Gordon <ian.gordon@strath.ac.uk> for
     692                 * bugid #9098.
     693                 */
     694
     695                ntret = winbindd_add_memory_creds(username, uid, pass);
     696                DEBUG(10, ("winbindd_add_memory_creds returned: %s\n",
     697                        nt_errstr(ntret)));
     698        }
    671699
    672700        return NT_STATUS_OK;
  • branches/samba-3.5.x/source3/winbindd/winbindd_pam.c

    r736 r738  
    299299                                      &token->user_sids,
    300300                                      &token->num_sids,
    301                                       true, false);
     301                                      true);
    302302        if (!NT_STATUS_IS_OK(status)) {
    303303                TALLOC_FREE(frame);
     
    657657                                            service,
    658658                                            state->request->data.auth.user,
     659                                            state->request->data.auth.pass,
    659660                                            realm,
    660661                                            uid,
     
    10351036                                                            service,
    10361037                                                            state->request->data.auth.user,
     1038                                                            state->request->data.auth.pass,
    10371039                                                            domain->alt_name,
    10381040                                                            uid,
     
    24572459        }
    24582460
     2461        /*
     2462         * Remove any mlock'ed memory creds in the child
     2463         * we might be using for krb5 ticket renewal.
     2464         */
     2465
     2466        winbindd_delete_memory_creds(state->request->data.logoff.user);
     2467
    24592468#else
    24602469        result = NT_STATUS_NOT_SUPPORTED;
  • branches/samba-3.5.x/source3/winbindd/winbindd_proto.h

    r414 r738  
    217217                            const char *service,
    218218                            const char *username,
     219                            const char *password,
    219220                            const char *realm,
    220221                            uid_t uid,
  • branches/samba-3.5.x/source3/winbindd/winbindd_util.c

    r480 r738  
    11671167        }
    11681168
    1169         /* Skip Domain local groups outside our domain.
    1170            We'll get these from the getsidaliases() RPC call. */
     1169        /*
     1170         * Before bug #7843 the "Domain Local" groups were added with a
     1171         * lookupuseraliases call, but this isn't done anymore for our domain
     1172         * so we need to resolve resource groups here.
     1173         *
     1174         * When to use Resource Groups:
     1175         * http://technet.microsoft.com/en-us/library/cc753670%28v=WS.10%29.aspx
     1176        */
    11711177        status = sid_array_from_info3(mem_ctx, info3,
    11721178                                      user_sids,
    11731179                                      &num_groups,
    1174                                       false, true);
     1180                                      false);
    11751181
    11761182        if (!NT_STATUS_IS_OK(status)) {
Note: See TracChangeset for help on using the changeset viewer.