I'm looking into removing the use of pinfo->private_data in all current dissectors in favor of only using the "data" parameter in new-style dissectors. The last large remaining use of pinfo->private_data is to pass "string media" between various dissectors. Some of the "receiving" dissectors (of the string data) support receiving strings through 1 or more of the following methods:
1. data parameter of new-style dissector
2. pinfo->match_string
3. pinfo->private_data
Can someone give me the "10000 ft view" of this behavior? Should I be able to "convert" all pinfo->private_data use into data parameters? Do the strings end up going through multiple dissectors, so it needs to be "protected" in pinfo->private_data? Are there inherent relationships between a "pinfo->match_string" string and either the data parameter or pinfo->private_data string?
This is stuff I haven't been able to figure out with just code analysis.