Hi Aurélien,

Le lun. 24 févr. 2020 à 15:40, Aurélien Aptel <aap...@suse.com> a écrit :

> Hi,
>
> I'm working on the SMB2 dissector (packet-smb2.c) and I'd like to have
> better support for multichannel where an authenticated session is shared
> across TCP sessions.
>
> So at the moment, we store a hashtable in the conversation. That table
> maps SessionId => Session Data
>
> When a new channel is opened for that session it will share the same ID
> but since it's a different TCP connection, it will be in a different
> conversation so we won't be able to lookup the existing Session Data.
>
> The solution would be to make the SessionID=>SessionData hashtable
> global per-capture instead of per-conversation.
>
> How is this usually done in a Wireshark dissector?
>
> I was thinking of having a global static hashtable in the dissector but
> then I would need to reset it when the capture is opened/closed...
>

You can have a look at the dissectors using
wmem_map_new_autoreset(wmem_epan_scope(), wmem_file_scope(), ...) which
defines a hash table that is automatically reset each time you open a new
file (or reload the current one).

Best regards,
Pascal.
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@wireshark.org>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe

Reply via email to