diff options
author | Guy Harris <guy@alum.mit.edu> | 2015-07-18 23:23:32 -0700 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2015-07-19 06:24:18 +0000 |
commit | 7e817aeb3a3cee7c3eb3e7685ab0ccf98a00411b (patch) | |
tree | f78ac4b87035ce2db1c46386be5955e26412bf75 /epan/dissectors/packet-gluster_pmap.c | |
parent | 75d4fa299da240d5598b963602fa3b0c1d133dcb (diff) | |
download | wireshark-7e817aeb3a3cee7c3eb3e7685ab0ccf98a00411b.tar.gz wireshark-7e817aeb3a3cee7c3eb3e7685ab0ccf98a00411b.tar.bz2 wireshark-7e817aeb3a3cee7c3eb3e7685ab0ccf98a00411b.zip |
Require dissectors for all ONC RPC calls and replies.
Either there's a known body for the call or reply, in which case we
already have a dissector for it, or the body is empty, in which case we
now have dissect_rpc_void() to dissect it, or the body is unknown or
nobody's bothered writing it, in which case we use dissect_rpc_unknown()
for now.
This means that an attempt to look up the dissector for a known
procedure will always succeed, so we can label it with the name rather
than with "proc-N".
It also means that we distinguish between "it's void" and "it's
unknown", so that unknown values will get flagged as such.
Change-Id: I748580c1dca61d1f0972396db1a3b0885fc0a541
Reviewed-on: https://code.wireshark.org/review/9699
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'epan/dissectors/packet-gluster_pmap.c')
-rw-r--r-- | epan/dissectors/packet-gluster_pmap.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/epan/dissectors/packet-gluster_pmap.c b/epan/dissectors/packet-gluster_pmap.c index 2ea0fc477c..4f68c45feb 100644 --- a/epan/dissectors/packet-gluster_pmap.c +++ b/epan/dissectors/packet-gluster_pmap.c @@ -140,15 +140,18 @@ gluster_dump_call(tvbuff_t *tvb, packet_info *pinfo _U_, /* GLUSTER_PMAP_PROGRAM from xlators/mgmt/glusterd/src/glusterd-pmap.c */ static const vsff gluster_pmap_proc[] = { - { GF_PMAP_NULL, "NULL", NULL, NULL }, + { + GF_PMAP_NULL, "NULL", + dissect_rpc_void, dissect_rpc_void + }, { GF_PMAP_PORTBYBRICK, "PORTBYBRICK", gluster_pmap_portbybrick_call, gluster_pmap_portbybrick_reply }, - { GF_PMAP_BRICKBYPORT, "BRICKBYPORT", NULL, NULL }, - { GF_PMAP_SIGNIN, "SIGNIN", NULL, NULL }, - { GF_PMAP_SIGNOUT, "SIGNOUT", NULL, NULL }, - { GF_PMAP_SIGNUP, "SIGNUP", NULL, NULL }, + { GF_PMAP_BRICKBYPORT, "BRICKBYPORT", dissect_rpc_unknown, dissect_rpc_unknown }, + { GF_PMAP_SIGNIN, "SIGNIN", dissect_rpc_unknown, dissect_rpc_unknown }, + { GF_PMAP_SIGNOUT, "SIGNOUT", dissect_rpc_unknown, dissect_rpc_unknown }, + { GF_PMAP_SIGNUP, "SIGNUP", dissect_rpc_unknown, dissect_rpc_unknown }, { 0, NULL, NULL, NULL } }; static const value_string gluster_pmap_proc_vals[] = { @@ -163,7 +166,7 @@ static const value_string gluster_pmap_proc_vals[] = { /* procedures for GLUSTER_DUMP_PROGRAM */ static const vsff gluster_dump_proc[] = { - { 0, "NULL", NULL, NULL }, + { 0, "NULL", dissect_rpc_void, dissect_rpc_void }, { GF_DUMP_DUMP, "DUMP", gluster_dump_call, gluster_dump_reply }, { 0, NULL, NULL, NULL } }; |