FW: winbindd_cm.c leak in failed connection cache
danno at stbernard.com
Wed Jul 31 08:34:02 GMT 2002
(I should have sent this to the list, not directly to Tim. Sorry.)
From: Dan Coppock
Sent: Tuesday, July 30, 2002 9:16 AM
To: 'Tim Potter'
Subject: RE: winbindd_cm.c leak in failed connection cache
>>On Mon, Jul 29, 2002 at 10:40:54AM -0700, Dan Coppock wrote:
>> I'm seeing a slow winbind leak when the dc for a trusted domain is
>> permanently unreachable (it's down, or administratively unavailable). It
>> looks like in winbindd_cm.c, when the controller name cannot be looked
>> or when the connection really fails, cm_open_connection() calls
>> add_failed_connection_entry(), blindly adding to the failed connection
>> cache. I suspect there should be check to see if it's already in the
>> connection cache, and only update the lookup_time when present.
>Fixed. Thanks for spotting this.
>> Also, in the case where the controller name lookup fails, is controller
>> defined for inclusion in the "struct failed_connection_cache"? Isn't the
>> controller name the very piece of information that wasn't obtainable, and
>> therefore not useful for caching here? I'm not sure on this part.
>Yes this does look like a bit of a problem. Fortunately the connection
>structure is zeroed before cm_open_connection is called so the
>controller name will always be the null string. It does seem a bit
>silly to store the controller name as part of the cache entry.
Thanks for looking at this.
I think there still exists a problem scenario. Your fix guards against
the fcc again, if one already exists for that domain. However, if the entry
the list was put there with a null controller name, I don't see how it will
get timed-out, as both the domain and controller must match in order to
DLIST_REMOVE in list check in com_open_connection().
Also, isn't it a good idea to update the lookup_time when an existing entry
in the fcc?
St. Bernard Software
More information about the samba-technical