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-vxi11.c | |
parent | 75d4fa299da240d5598b963602fa3b0c1d133dcb (diff) |
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-vxi11.c')
-rw-r--r-- | epan/dissectors/packet-vxi11.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/epan/dissectors/packet-vxi11.c b/epan/dissectors/packet-vxi11.c index 06da7dbdb5..19c2d71ac6 100644 --- a/epan/dissectors/packet-vxi11.c +++ b/epan/dissectors/packet-vxi11.c @@ -888,10 +888,9 @@ void proto_reg_handoff_vxi11_core(void) { /* proc number, "proc name", dissect_request, dissect_reply */ - /* NULL as function pointer means: type of arguments is "void". */ static const vsff vxi111_core_proc[] = { { VXI11_CORE_PROC_NULL, "NULL", - NULL, NULL }, + dissect_rpc_void, dissect_rpc_void }, { VXI11_CORE_PROC_CREATE_LINK, "CREATE_LINK", dissect_create_link_parms, dissect_create_link_resp }, { VXI11_CORE_PROC_DEVICE_WRITE, "DEVICE_WRITE", @@ -921,7 +920,7 @@ proto_reg_handoff_vxi11_core(void) { VXI11_CORE_PROC_CREATE_INTR_CHAN, "CREATE_INTR_CHAN", dissect_device_remote_func, dissect_device_error }, { VXI11_CORE_PROC_DESTROY_INTR_CHAN, "DESTROY_INTR_CHAN", - NULL, dissect_device_error }, + dissect_rpc_void, dissect_device_error }, { 0, NULL, NULL, NULL } }; @@ -966,7 +965,7 @@ proto_reg_handoff_vxi11_async(void) { static const vsff vxi111_async_proc[] = { { VXI11_ASYNC_PROC_NULL, "NULL", - NULL, NULL }, + dissect_rpc_void, dissect_rpc_void }, { VXI11_ASYNC_PROC_DEVICE_ABORT, "DEVICE_ABORT", dissect_device_link, dissect_device_error }, { 0, NULL, NULL, NULL } @@ -1019,9 +1018,9 @@ proto_reg_handoff_vxi11_intr(void) { static const vsff vxi111_intr_proc[] = { { VXI11_INTR_PROC_NULL, "NULL", - NULL, NULL }, + dissect_rpc_void, dissect_rpc_void }, { VXI11_INTR_PROC_DEVICE_INTR_SRQ, "DEVICE_INTR_SRQ", - dissect_device_SRQ_parms, NULL }, + dissect_device_SRQ_parms, dissect_rpc_void }, { 0, NULL, NULL, NULL } }; |