Wireshark-bugs: [Wireshark-bugs] [Bug 8174] Protocol dissectors are registered even if they are
Jakub Zawadzki
changed
bug 8174
What |
Removed |
Added |
CC |
|
darkjames-ws@darkjames.pl
|
Comment # 3
on bug 8174
from Jakub Zawadzki
Evan from your mail [1]:
> The fundamental problem is that registration happens once right when
the program starts, while protocols can be enabled/disabled
arbitrarily while an instance is running. Triggering a reregistration
on a protocol enable/disable would be painful.
Why painful? register_all_protocol_handoffs() don't seems to take lot of
time...
And it's easy way, we need to add checks if protocol is enabled in
dissector_add_string()/ dissector_add_uint()
And fix memleaks of dissector_handle_t
> A possible solution would be to store a linked list of dtbl_entries
for each registration instead of the single entry we currently store.
Then dissector_try_uint() can iterate through and try all of the
dtbl_entries whose associated protocols are marked as enabled
It looks like this is already implemented in heuristics tables?
Idea: implement dissector_add_uint on top of heuristic dissectors - just first
check if port/something matches? [eh, lot of false calls -> wireshark slower]
[1] https://www.wireshark.org/lists/wireshark-dev/201209/msg00048.html
You are receiving this mail because:
- You are watching all bug changes.