Wireshark mailing list archives
Re: cleanup_dissection() called both on cf_close and cf_open()
From: Evan Huus <eapache () gmail com>
Date: Mon, 25 Mar 2013 15:48:45 -0400
On Mon, Mar 25, 2013 at 3:37 PM, Gerald Combs <gerald () wireshark org> wrote:
On 3/24/13 7:37 AM, Anders Broman wrote:Hi, Looking into address resolution I found that the hosts file is read multiple times partly because it's part of cleanup_dissection() which is called both on cf_open() and cf_close(). Should cleanup_dissection() take an argument showing whether its a file open or file close operation and different measures taken at least when it comes to the host_name_lockup...?This is partly my fault, resulting from switching to seasonal memory for name resolution in r45511. We call se_free_all() a lot, which means calling host_name_lookup_init() a lot. It might be better to use a different allocator for resolved addresses or to delay reading any hosts files somehow. Either way we need to make sure resolved addresses don't leak from one capture to the next.
See also bug #8349 (if the user exports a filtered subset of the capture, only resolved names relevant to that subset should be exported). I think, in general, the resolved addresses that get written out on save should be based on which packets get written out, not on which names we have cached (looks like we'll need another member for frame_data, oh joy). Once that's done properly then we can look at cleaning up the caching logic so that we don't have to keep rereading the hosts file. I suspect the simplest and best method is to never flush the cache - I can't imagine it getting unreasonably large, and it means we never have to look up the same address twice. Evan ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev () wireshark org> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-request () wireshark org?subject=unsubscribe
Current thread:
- cleanup_dissection() called both on cf_close and cf_open() Anders Broman (Mar 24)
- Re: cleanup_dissection() called both on cf_close and cf_open() Evan Huus (Mar 24)
- Re: cleanup_dissection() called both on cf_close and cf_open() Gerald Combs (Mar 25)
- Re: cleanup_dissection() called both on cf_close and cf_open() Evan Huus (Mar 25)