infinite loop in find_new_dc
hlewis at panasas.com
Thu Feb 12 09:25:13 MST 2009
This turns out to have been a bug in an ancient change we made
before the server affinity code was implemented. We were always
returning the lp_passwordserver name first in get_dc_list and that
was accidentally cut and pasted into the path for the trusted
domains as well as our primary domain. This also only shows up
in security=domain where the DC name is returned as the short
name instead of the FQDN. Looks like it is not a samba bug.
Steven Danneman wrote:
>> If you are not using WINS and your DNS search order does not
>> allow resolution of the name returned by the get_dcs call
>> you will put winbindd into an infinite loop in this function
>> because of the "goto again" at the end of the function.
>> this is in source/winbindd/winbindd_cm.c and the problem
>> exists in 3.0 as well as 3.2 and I assume 3.3.
>> Why are we doing this retry, and if it is necessary, we
>> need to put a max number of trys on it
> I've looked at that code good and hard and flip flopped back and forth
> on whether there was an infinite loop or not. I'm still not sure. I
> have a patch that greatly refactors that whole path, but is still
> incomplete. If you're highly motivated I can send it to you to finish
> the job.
More information about the samba-technical