Wireshark-commits: [Wireshark-commits] master 8cb41a9: Handle RADIUS ident reuse better.
URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=8cb41a93375145378b394ce82406cd57e9db8c71
Submitter: Michael Mann (mmann78@xxxxxxxxxxxx)
Changed: branch: master
Repository: wireshark
Commits:
8cb41a9 by Jeff Morriss (jeff.morriss.ws@xxxxxxxxx):
Handle RADIUS ident reuse better.
Rather than storing RADIUS calls in a map keyed by the ident and conversation
store a tree of calls (using the the same key). Store each (non-duplicate)
call (request) in the tree, keyed by frame number. When looking for a match
(or a duplicate) look for the most-recently-seen frame in the tree (i.e., the
most recent frame with the same ident + conversation). Only declare a request
a duplicate if the authenticator is identical (as per RFC 5080 section 2.2.2).
Only store things in the map/tree on the first pass.
Remove the 'request_ttl' preference: it's better to show the user when the
response came back even if it was "late." (This also allows duplicate request
detection inside of the TTL.)
When telling the user about a duplicate don't tell them the ident again: they
already know that. Tell them the frame number of the original.
Use the FT_FRAMENUM_REQUEST/FT_FRAMENUM_RESPONSE hints.
Move a couple structures from the header file to the C file: they're only used
in the RADIUS dissector anyway.
Bug: 4096
Change-Id: I0e8bc0d23cd6b219cecd82f5c4cd765d28a14d98
Reviewed-on: https://code.wireshark.org/review/14451
Petri-Dish: Jeff Morriss <jeff.morriss.ws@xxxxxxxxx>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@xxxxxxxxxxxxx>
Reviewed-by: Michael Mann <mmann78@xxxxxxxxxxxx>
Actions performed:
from c31f687 wmem-ify the Radius call table.
adds 8cb41a9 Handle RADIUS ident reuse better.
Summary of changes:
epan/dissectors/packet-radius.c | 286 ++++++++++++++++++++++-----------------
epan/dissectors/packet-radius.h | 27 ----
2 files changed, 160 insertions(+), 153 deletions(-)