Hi all,
I am looking for the cleanest way to remove or unregister a set of dissectors from libwireshark. When using libwireshark, I register using:
epan_init(register_all_protocols, register_all_protocol_handoffs, NULL, NULL,
failure_message, open_failure_message, read_failure_message,
write_failure_message);
However, there are some protocols I do not want registered. Like, packet-smb* ... so, is there a way to unregister certain protocols after registering them all?
Another alternative, is to remove packet-smb* from the build. I thought a simple way to do this would be to remove it from register.c as a quick hack, but that seems to break many things. So then I looked in to how register.c is generated, and I couldn't find a good answer. I thought that I could remove packet-smb* from epan/CMakeLists.txt, and after cleaning and entirely rebuilding, it would remove packet-smb* from the dissectors library. But, it doesn't seem like that is where it is getting generated from.
This is where I am at now. I can hack at epan/dissectors/Makefile to remove specific protocols, but I want it to be something more robust. Are there any better methods?
Thanks!
George