aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-hclnfsd.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2015-07-18 23:23:32 -0700
committerGuy Harris <guy@alum.mit.edu>2015-07-19 06:24:18 +0000
commit7e817aeb3a3cee7c3eb3e7685ab0ccf98a00411b (patch)
treef78ac4b87035ce2db1c46386be5955e26412bf75 /epan/dissectors/packet-hclnfsd.c
parent75d4fa299da240d5598b963602fa3b0c1d133dcb (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-hclnfsd.c')
-rw-r--r--epan/dissectors/packet-hclnfsd.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/epan/dissectors/packet-hclnfsd.c b/epan/dissectors/packet-hclnfsd.c
index e0aeab36d8..675c92b5d5 100644
--- a/epan/dissectors/packet-hclnfsd.c
+++ b/epan/dissectors/packet-hclnfsd.c
@@ -636,15 +636,14 @@ dissect_hclnfsd_get_printq_reply(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tr
/* proc number, "proc name", dissect_request, dissect_reply */
-/* NULL as function pointer means: take the generic one. */
static const vsff hclnfsd1_proc[] = {
{ HCLNFSDPROC_NULL, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ HCLNFSDPROC_SPOOL_INQUIRE, "SPOOL_INQUIRE",
- dissect_hclnfsd_spool_inquire_call, NULL },
+ dissect_hclnfsd_spool_inquire_call, dissect_rpc_unknown },
{ HCLNFSDPROC_SPOOL_FILE, "SPOOL_FILE",
- dissect_hclnfsd_spool_file_call, NULL },
+ dissect_hclnfsd_spool_file_call, dissect_rpc_void },
{ HCLNFSDPROC_AUTHORIZE, "AUTHORIZE",
dissect_hclnfsd_authorize_call, dissect_hclnfsd_authorize_reply },
{ HCLNFSDPROC_GRP_NAME_TO_NUMB, "GRP_NAME_TO_NUMB",
@@ -664,17 +663,17 @@ static const vsff hclnfsd1_proc[] = {
{ HCLNFSDPROC_LOCK, "LOCK",
dissect_hclnfsd_lock_call, dissect_hclnfsd_lock_reply },
{ HCLNFSDPROC_REMOVE, "REMOVE",
- dissect_hclnfsd_remove_call, NULL },
+ dissect_hclnfsd_remove_call, dissect_rpc_void },
{ HCLNFSDPROC_UNLOCK, "UNLOCK",
dissect_hclnfsd_unlock_call, dissect_hclnfsd_unlock_reply },
{ HCLNFSDPROC_GET_PRINTERS, "GET_PRINTERS",
- NULL, dissect_hclnfsd_get_printers_reply },
+ dissect_rpc_void, dissect_hclnfsd_get_printers_reply },
{ HCLNFSDPROC_GET_PRINTQ, "GET_PRINTQ",
dissect_hclnfsd_get_printq_call, dissect_hclnfsd_get_printq_reply },
{ HCLNFSDPROC_CANCEL_PRJOB, "CANCEL_PRJOB",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ HCLNFSDPROC_ZAP_LOCKS, "ZAP_LOCKS",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ 0, NULL, NULL, NULL }
};
static const value_string hclnfsd1_proc_vals[] = {