aboutsummaryrefslogtreecommitdiffstats
path: root/epan
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
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')
-rw-r--r--epan/dissectors/packet-bootparams.c3
-rw-r--r--epan/dissectors/packet-clearcase.c5
-rw-r--r--epan/dissectors/packet-fmp.c5
-rw-r--r--epan/dissectors/packet-fmp_notify.c6
-rw-r--r--epan/dissectors/packet-gluster_cli.c70
-rw-r--r--epan/dissectors/packet-gluster_pmap.c15
-rw-r--r--epan/dissectors/packet-glusterd.c82
-rw-r--r--epan/dissectors/packet-glusterfs.c74
-rw-r--r--epan/dissectors/packet-glusterfs_hndsk.c28
-rw-r--r--epan/dissectors/packet-hclnfsd.c15
-rw-r--r--epan/dissectors/packet-kadm5.c45
-rw-r--r--epan/dissectors/packet-klm.c1
-rw-r--r--epan/dissectors/packet-mount.c53
-rw-r--r--epan/dissectors/packet-nfs.c8
-rw-r--r--epan/dissectors/packet-nfsacl.c7
-rw-r--r--epan/dissectors/packet-nfsauth.c5
-rw-r--r--epan/dissectors/packet-nisplus.c12
-rw-r--r--epan/dissectors/packet-nlm.c93
-rw-r--r--epan/dissectors/packet-pcnfsd.c38
-rw-r--r--epan/dissectors/packet-portmap.c51
-rw-r--r--epan/dissectors/packet-rpc.c52
-rw-r--r--epan/dissectors/packet-rpc.h4
-rw-r--r--epan/dissectors/packet-rquota.c5
-rw-r--r--epan/dissectors/packet-rstat.c25
-rw-r--r--epan/dissectors/packet-rwall.c2
-rw-r--r--epan/dissectors/packet-sadmind.c7
-rw-r--r--epan/dissectors/packet-spray.c9
-rw-r--r--epan/dissectors/packet-stat-notify.c6
-rw-r--r--epan/dissectors/packet-stat.c8
-rw-r--r--epan/dissectors/packet-teklink.c24
-rw-r--r--epan/dissectors/packet-vxi11.c11
-rw-r--r--epan/dissectors/packet-ypbind.c13
-rw-r--r--epan/dissectors/packet-yppasswd.c3
-rw-r--r--epan/dissectors/packet-ypserv.c28
-rw-r--r--epan/dissectors/packet-ypxfr.c6
35 files changed, 437 insertions, 382 deletions
diff --git a/epan/dissectors/packet-bootparams.c b/epan/dissectors/packet-bootparams.c
index d3fde4dc21..295040b3a8 100644
--- a/epan/dissectors/packet-bootparams.c
+++ b/epan/dissectors/packet-bootparams.c
@@ -129,10 +129,9 @@ dissect_whoami_reply(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, vo
}
/* proc number, "proc name", dissect_request, dissect_reply */
-/* NULL as function pointer means: type of arguments is "void". */
static const vsff bootparams1_proc[] = {
{ BOOTPARAMSPROC_NULL, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ BOOTPARAMSPROC_WHOAMI, "WHOAMI",
dissect_whoami_call, dissect_whoami_reply },
{ BOOTPARAMSPROC_GETFILE, "GETFILE",
diff --git a/epan/dissectors/packet-clearcase.c b/epan/dissectors/packet-clearcase.c
index 00c86225c2..fe4444a130 100644
--- a/epan/dissectors/packet-clearcase.c
+++ b/epan/dissectors/packet-clearcase.c
@@ -38,10 +38,9 @@ static int hf_clearcase_procedure_v3 = -1;
static gint ett_clearcase = -1;
/* proc number, "proc name", dissect_request, dissect_reply */
-/* NULL as function pointer means: type of arguments is "void". */
static const vsff clearcase3_proc[] = {
- { CLEARCASEPROC_NULL, "NULL", NULL, NULL },
- { 0, NULL, NULL, NULL }
+ { CLEARCASEPROC_NULL, "NULL", dissect_rpc_void, dissect_rpc_void },
+ { 0, NULL, NULL, NULL }
};
static const value_string clearcase3_proc_vals[] = {
{ CLEARCASEPROC_NULL, "NULL" },
diff --git a/epan/dissectors/packet-fmp.c b/epan/dissectors/packet-fmp.c
index 569d7c9a88..b3cd1fb584 100644
--- a/epan/dissectors/packet-fmp.c
+++ b/epan/dissectors/packet-fmp.c
@@ -1636,9 +1636,12 @@ dissect_FMP_FlushEx_reply(tvbuff_t *tvb, packet_info *pinfo _U_,
}
/*
* proc number, "proc name", dissect_request, dissect_reply
- * NULL as function pointer means: type of arguments is "void".
*/
static const vsff fmp3_proc[] = {
+ { 0,
+ "NULL",
+ dissect_rpc_void,
+ dissect_rpc_void, },
{ 1,
"SessionCreate",
diff --git a/epan/dissectors/packet-fmp_notify.c b/epan/dissectors/packet-fmp_notify.c
index a1183a9ac2..6fa4f78db6 100644
--- a/epan/dissectors/packet-fmp_notify.c
+++ b/epan/dissectors/packet-fmp_notify.c
@@ -365,9 +365,11 @@ dissect_FMP_NOTIFY_revokeHandleList_reply(tvbuff_t *tvb,
/*
* proc number, "proc name", dissect_request, dissect_reply
- * NULL as function pointer means: type of arguments is "void".
*/
static const vsff fmp_notify2_proc[] = {
+ { 0, "NULL",
+ dissect_rpc_void,
+ dissect_rpc_void, },
{ FMP_NOTIFY_DownGrade, "DownGrade",
dissect_FMP_NOTIFY_DownGrade_request,
@@ -401,6 +403,7 @@ static const vsff fmp_notify2_proc[] = {
};
static const value_string fmp_notify_proc_vals[] = {
+ { 0, "NULL" },
{ 1, "DownGrade" },
{ 2, "RevokeList" },
{ 3, "RevokeAll" },
@@ -408,7 +411,6 @@ static const value_string fmp_notify_proc_vals[] = {
{ 5, "RequestDone" },
{ 6, "VolFreeze" },
{ 7, "RevokeHandleList" },
- { 0, "NULL" },
{ 0,NULL}
};
diff --git a/epan/dissectors/packet-gluster_cli.c b/epan/dissectors/packet-gluster_cli.c
index 2ae565d135..178aed57e8 100644
--- a/epan/dissectors/packet-gluster_cli.c
+++ b/epan/dissectors/packet-gluster_cli.c
@@ -209,41 +209,41 @@ gluster_cli_dissect_common_reply(tvbuff_t *tvb,
/* procedures for GLUSTER_CLI_PROGRAM */
static const vsff gluster_cli_proc[] = {
- { GLUSTER_CLI_NULL, "NULL", NULL, NULL },
- { GLUSTER_CLI_PROBE, "PROBE", NULL, NULL },
- { GLUSTER_CLI_DEPROBE, "DEPROBE", NULL, NULL },
- { GLUSTER_CLI_LIST_FRIENDS, "LIST_FRIENDS", NULL, NULL },
- { GLUSTER_CLI_CREATE_VOLUME, "CREATE_VOLUME", NULL, NULL },
- { GLUSTER_CLI_GET_VOLUME, "GET_VOLUME", NULL, NULL },
- { GLUSTER_CLI_GET_NEXT_VOLUME, "GET_NEXT_VOLUME", NULL, NULL },
- { GLUSTER_CLI_DELETE_VOLUME, "DELETE_VOLUME", NULL, NULL },
- { GLUSTER_CLI_START_VOLUME, "START_VOLUME", NULL, NULL },
- { GLUSTER_CLI_STOP_VOLUME, "STOP_VOLUME", NULL, NULL },
- { GLUSTER_CLI_RENAME_VOLUME, "RENAME_VOLUME", NULL, NULL },
- { GLUSTER_CLI_DEFRAG_VOLUME, "DEFRAG_VOLUME", NULL, NULL },
- { GLUSTER_CLI_SET_VOLUME, "SET_VOLUME", NULL, NULL },
- { GLUSTER_CLI_ADD_BRICK, "ADD_BRICK", NULL, NULL },
- { GLUSTER_CLI_REMOVE_BRICK, "REMOVE_BRICK", NULL, NULL },
- { GLUSTER_CLI_REPLACE_BRICK, "REPLACE_BRICK", NULL, NULL },
- { GLUSTER_CLI_LOG_FILENAME, "LOG_FILENAME", NULL, NULL },
- { GLUSTER_CLI_LOG_LOCATE, "LOG_LOCATE", NULL, NULL },
- { GLUSTER_CLI_LOG_ROTATE, "LOG_ROTATE", NULL, NULL },
- { GLUSTER_CLI_GETSPEC, "GETSPEC", NULL, NULL },
- { GLUSTER_CLI_PMAP_PORTBYBRICK, "PMAP_PORTBYBRICK", NULL, NULL },
- { GLUSTER_CLI_SYNC_VOLUME, "SYNC_VOLUME", NULL, NULL },
- { GLUSTER_CLI_RESET_VOLUME, "RESET_VOLUME", NULL, NULL },
- { GLUSTER_CLI_FSM_LOG, "FSM_LOG", NULL, NULL },
- { GLUSTER_CLI_GSYNC_SET, "GSYNC_SET", NULL, NULL },
- { GLUSTER_CLI_PROFILE_VOLUME, "PROFILE_VOLUME", NULL, NULL },
- { GLUSTER_CLI_QUOTA, "QUOTA", NULL, NULL },
- { GLUSTER_CLI_TOP_VOLUME, "TOP_VOLUME", NULL, NULL },
- { GLUSTER_CLI_GETWD, "GETWD", NULL, NULL },
- { GLUSTER_CLI_LOG_LEVEL, "LOG_LEVEL", NULL, NULL },
- { GLUSTER_CLI_STATUS_VOLUME, "STATUS_VOLUME", NULL, NULL },
- { GLUSTER_CLI_MOUNT, "MOUNT", NULL, NULL },
- { GLUSTER_CLI_UMOUNT, "UMOUNT", NULL, NULL },
- { GLUSTER_CLI_HEAL_VOLUME, "HEAL_VOLUME", NULL, NULL },
- { GLUSTER_CLI_STATEDUMP_VOLUME, "STATEDUMP_VOLUME", NULL, NULL },
+ { GLUSTER_CLI_NULL, "NULL", dissect_rpc_void, dissect_rpc_void },
+ { GLUSTER_CLI_PROBE, "PROBE", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_DEPROBE, "DEPROBE", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_LIST_FRIENDS, "LIST_FRIENDS", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_CREATE_VOLUME, "CREATE_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_GET_VOLUME, "GET_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_GET_NEXT_VOLUME, "GET_NEXT_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_DELETE_VOLUME, "DELETE_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_START_VOLUME, "START_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_STOP_VOLUME, "STOP_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_RENAME_VOLUME, "RENAME_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_DEFRAG_VOLUME, "DEFRAG_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_SET_VOLUME, "SET_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_ADD_BRICK, "ADD_BRICK", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_REMOVE_BRICK, "REMOVE_BRICK", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_REPLACE_BRICK, "REPLACE_BRICK", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_LOG_FILENAME, "LOG_FILENAME", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_LOG_LOCATE, "LOG_LOCATE", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_LOG_ROTATE, "LOG_ROTATE", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_GETSPEC, "GETSPEC", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_PMAP_PORTBYBRICK, "PMAP_PORTBYBRICK", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_SYNC_VOLUME, "SYNC_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_RESET_VOLUME, "RESET_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_FSM_LOG, "FSM_LOG", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_GSYNC_SET, "GSYNC_SET", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_PROFILE_VOLUME, "PROFILE_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_QUOTA, "QUOTA", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_TOP_VOLUME, "TOP_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_GETWD, "GETWD", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_LOG_LEVEL, "LOG_LEVEL", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_STATUS_VOLUME, "STATUS_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_MOUNT, "MOUNT", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_UMOUNT, "UMOUNT", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_HEAL_VOLUME, "HEAL_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GLUSTER_CLI_STATEDUMP_VOLUME, "STATEDUMP_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown },
{ 0, NULL, NULL, NULL }
};
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 }
};
diff --git a/epan/dissectors/packet-glusterd.c b/epan/dissectors/packet-glusterd.c
index fd1bb263a1..ec1c75e68f 100644
--- a/epan/dissectors/packet-glusterd.c
+++ b/epan/dissectors/packet-glusterd.c
@@ -484,7 +484,10 @@ glusterd_brick_2_common_call(tvbuff_t *tvb,
* - xlators/mgmt/glusterd/src/glusterd-rpc-ops.c: "glusterd clnt mgmt"
*/
static const vsff gd_mgmt_proc[] = {
- { GD_MGMT_NULL, "NULL", NULL, NULL },
+ {
+ GD_MGMT_NULL, "NULL",
+ dissect_rpc_void, dissect_rpc_void
+ },
{
GD_MGMT_PROBE_QUERY, "PROBE_QUERY",
gluster_gd_mgmt_probe_call, gluster_gd_mgmt_probe_reply
@@ -513,42 +516,45 @@ static const vsff gd_mgmt_proc[] = {
GD_MGMT_COMMIT_OP, "COMMIT_OP",
gluster_gd_mgmt_commit_op_call, gluster_gd_mgmt_commit_op_reply
},
- { GD_MGMT_FRIEND_REMOVE, "FRIEND_REMOVE", NULL, NULL},
+ { GD_MGMT_FRIEND_REMOVE, "FRIEND_REMOVE", dissect_rpc_unknown, dissect_rpc_unknown},
{
GD_MGMT_FRIEND_UPDATE, "FRIEND_UPDATE",
gluster_gd_mgmt_friend_update_call,
gluster_gd_mgmt_friend_update_reply
},
- { GD_MGMT_CLI_PROBE, "CLI_PROBE", NULL, NULL},
- { GD_MGMT_CLI_DEPROBE, "CLI_DEPROBE", NULL, NULL},
- { GD_MGMT_CLI_LIST_FRIENDS, "CLI_LIST_FRIENDS", NULL, NULL},
- { GD_MGMT_CLI_CREATE_VOLUME, "CLI_CREATE_VOLUME", NULL, NULL},
- { GD_MGMT_CLI_GET_VOLUME, "CLI_GET_VOLUME", NULL, NULL},
- { GD_MGMT_CLI_DELETE_VOLUME, "CLI_DELETE_VOLUME", NULL, NULL},
- { GD_MGMT_CLI_START_VOLUME, "CLI_START_VOLUME", NULL, NULL},
- { GD_MGMT_CLI_STOP_VOLUME, "CLI_STOP_VOLUME", NULL, NULL},
- { GD_MGMT_CLI_RENAME_VOLUME, "CLI_RENAME_VOLUME", NULL, NULL},
- { GD_MGMT_CLI_DEFRAG_VOLUME, "CLI_DEFRAG_VOLUME", NULL, NULL},
- { GD_MGMT_CLI_SET_VOLUME, "CLI_DEFRAG_VOLUME", NULL, NULL},
- { GD_MGMT_CLI_ADD_BRICK, "CLI_ADD_BRICK", NULL, NULL},
- { GD_MGMT_CLI_REMOVE_BRICK, "CLI_REMOVE_BRICK", NULL, NULL},
- { GD_MGMT_CLI_REPLACE_BRICK, "CLI_REPLACE_BRICK", NULL, NULL},
- { GD_MGMT_CLI_LOG_FILENAME, "CLI_LOG_FILENAME", NULL, NULL},
- { GD_MGMT_CLI_LOG_LOCATE, "CLI_LOG_LOCATE", NULL, NULL},
- { GD_MGMT_CLI_LOG_ROTATE, "CLI_LOG_ROTATE", NULL, NULL},
- { GD_MGMT_CLI_SYNC_VOLUME, "CLI_SYNC_VOLUME", NULL, NULL},
- { GD_MGMT_CLI_RESET_VOLUME, "CLI_RESET_VOLUME", NULL, NULL},
- { GD_MGMT_CLI_FSM_LOG, "CLI_FSM_LOG", NULL, NULL},
- { GD_MGMT_CLI_GSYNC_SET, "CLI_GSYNC_SET", NULL, NULL},
- { GD_MGMT_CLI_PROFILE_VOLUME, "CLI_PROFILE_VOLUME", NULL, NULL},
- { GD_MGMT_BRICK_OP, "BRICK_OP", NULL, NULL},
- { GD_MGMT_CLI_LOG_LEVEL, "CLI_LOG_LEVEL", NULL, NULL},
- { GD_MGMT_CLI_STATUS_VOLUME, "CLI_STATUS_VOLUME", NULL, NULL},
+ { GD_MGMT_CLI_PROBE, "CLI_PROBE", dissect_rpc_unknown, dissect_rpc_unknown},
+ { GD_MGMT_CLI_DEPROBE, "CLI_DEPROBE", dissect_rpc_unknown, dissect_rpc_unknown},
+ { GD_MGMT_CLI_LIST_FRIENDS, "CLI_LIST_FRIENDS", dissect_rpc_unknown, dissect_rpc_unknown},
+ { GD_MGMT_CLI_CREATE_VOLUME, "CLI_CREATE_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown},
+ { GD_MGMT_CLI_GET_VOLUME, "CLI_GET_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown},
+ { GD_MGMT_CLI_DELETE_VOLUME, "CLI_DELETE_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown},
+ { GD_MGMT_CLI_START_VOLUME, "CLI_START_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown},
+ { GD_MGMT_CLI_STOP_VOLUME, "CLI_STOP_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown},
+ { GD_MGMT_CLI_RENAME_VOLUME, "CLI_RENAME_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown},
+ { GD_MGMT_CLI_DEFRAG_VOLUME, "CLI_DEFRAG_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown},
+ { GD_MGMT_CLI_SET_VOLUME, "CLI_DEFRAG_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown},
+ { GD_MGMT_CLI_ADD_BRICK, "CLI_ADD_BRICK", dissect_rpc_unknown, dissect_rpc_unknown},
+ { GD_MGMT_CLI_REMOVE_BRICK, "CLI_REMOVE_BRICK", dissect_rpc_unknown, dissect_rpc_unknown},
+ { GD_MGMT_CLI_REPLACE_BRICK, "CLI_REPLACE_BRICK", dissect_rpc_unknown, dissect_rpc_unknown},
+ { GD_MGMT_CLI_LOG_FILENAME, "CLI_LOG_FILENAME", dissect_rpc_unknown, dissect_rpc_unknown},
+ { GD_MGMT_CLI_LOG_LOCATE, "CLI_LOG_LOCATE", dissect_rpc_unknown, dissect_rpc_unknown},
+ { GD_MGMT_CLI_LOG_ROTATE, "CLI_LOG_ROTATE", dissect_rpc_unknown, dissect_rpc_unknown},
+ { GD_MGMT_CLI_SYNC_VOLUME, "CLI_SYNC_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown},
+ { GD_MGMT_CLI_RESET_VOLUME, "CLI_RESET_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown},
+ { GD_MGMT_CLI_FSM_LOG, "CLI_FSM_LOG", dissect_rpc_unknown, dissect_rpc_unknown},
+ { GD_MGMT_CLI_GSYNC_SET, "CLI_GSYNC_SET", dissect_rpc_unknown, dissect_rpc_unknown},
+ { GD_MGMT_CLI_PROFILE_VOLUME, "CLI_PROFILE_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown},
+ { GD_MGMT_BRICK_OP, "BRICK_OP", dissect_rpc_unknown, dissect_rpc_unknown},
+ { GD_MGMT_CLI_LOG_LEVEL, "CLI_LOG_LEVEL", dissect_rpc_unknown, dissect_rpc_unknown},
+ { GD_MGMT_CLI_STATUS_VOLUME, "CLI_STATUS_VOLUME", dissect_rpc_unknown, dissect_rpc_unknown},
{ 0, NULL, NULL, NULL}
};
static const vsff gd_mgmt_2_proc[] = {
- { GLUSTERD_MGMT_2_NULL, "NULL", NULL, NULL},
+ {
+ GLUSTERD_MGMT_2_NULL, "NULL",
+ dissect_rpc_void, dissect_rpc_void
+ },
{
GLUSTERD_MGMT_2_CLUSTER_LOCK, "CLUSTER_LOCK",
glusterd_mgmt_2_cluster_lock_call,
@@ -572,7 +578,10 @@ static const vsff gd_mgmt_2_proc[] = {
};
static const vsff gd_mgmt_3_proc[] = {
- { GLUSTERD_MGMT_3_NULL, "NULL", NULL, NULL },
+ {
+ GLUSTERD_MGMT_3_NULL, "NULL",
+ dissect_rpc_void, dissect_rpc_void
+ },
{
GLUSTERD_MGMT_3_LOCK, "LOCK",
glusterd_mgmt_3_lock_call,
@@ -608,7 +617,10 @@ static const vsff gd_mgmt_3_proc[] = {
};
static const vsff gd_mgmt_brick_2_proc[] = {
- { GLUSTERD_2_BRICK_NULL, "NULL", NULL , NULL }, /* 0 */
+ {
+ GLUSTERD_2_BRICK_NULL, "NULL",
+ dissect_rpc_void, dissect_rpc_void
+ },
{
GLUSTERD_2_BRICK_TERMINATE, "TERMINATE",
glusterd_brick_2_common_call, glusterd_brick_2_common_reply
@@ -645,11 +657,11 @@ static const vsff gd_mgmt_brick_2_proc[] = {
};
static const vsff glusterd_friend_proc[] = {
- { GLUSTERD_FRIEND_NULL, "NULL" , NULL , NULL },
- { GLUSTERD_PROBE_QUERY, "PROBE_QUERY" , NULL , NULL },
- { GLUSTERD_FRIEND_ADD, "ADD" , NULL , NULL },
- { GLUSTERD_FRIEND_REMOVE, "REMOVE", NULL , NULL },
- { GLUSTERD_FRIEND_UPDATE, "UPDATE" , NULL , NULL },
+ { GLUSTERD_FRIEND_NULL, "NULL" , dissect_rpc_void , dissect_rpc_void },
+ { GLUSTERD_PROBE_QUERY, "PROBE_QUERY" , dissect_rpc_unknown , dissect_rpc_unknown },
+ { GLUSTERD_FRIEND_ADD, "ADD" , dissect_rpc_unknown , dissect_rpc_unknown },
+ { GLUSTERD_FRIEND_REMOVE, "REMOVE", dissect_rpc_unknown , dissect_rpc_unknown },
+ { GLUSTERD_FRIEND_UPDATE, "UPDATE" , dissect_rpc_unknown , dissect_rpc_unknown },
{ 0, NULL, NULL, NULL }
};
diff --git a/epan/dissectors/packet-glusterfs.c b/epan/dissectors/packet-glusterfs.c
index 1d70f93d2c..76cd57809c 100644
--- a/epan/dissectors/packet-glusterfs.c
+++ b/epan/dissectors/packet-glusterfs.c
@@ -1883,23 +1883,26 @@ glusterfs_gfs3_3_op_common_reply(tvbuff_t *tvb, packet_info *pinfo,
* - xlators/protocol/server/src/server3_1-fops.c
*/
static const vsff glusterfs3_1_fop_proc[] = {
- { GFS3_OP_NULL, "NULL", NULL, NULL },
- { GFS3_OP_STAT, "STAT", NULL, NULL },
- { GFS3_OP_READLINK, "READLINK", NULL, NULL },
- { GFS3_OP_MKNOD, "MKNOD", NULL, NULL },
- { GFS3_OP_MKDIR, "MKDIR", NULL, NULL },
+ {
+ GFS3_OP_NULL, "NULL",
+ dissect_rpc_void, dissect_rpc_void
+ },
+ { GFS3_OP_STAT, "STAT", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GFS3_OP_READLINK, "READLINK", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GFS3_OP_MKNOD, "MKNOD", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GFS3_OP_MKDIR, "MKDIR", dissect_rpc_unknown, dissect_rpc_unknown },
{
GFS3_OP_UNLINK, "UNLINK",
glusterfs_gfs3_op_unlink_call, glusterfs_gfs3_op_unlink_reply
},
- { GFS3_OP_RMDIR, "RMDIR", NULL, NULL },
- { GFS3_OP_SYMLINK, "SYMLINK", NULL, NULL },
- { GFS3_OP_RENAME, "RENAME", NULL, NULL },
- { GFS3_OP_LINK, "LINK", NULL, NULL },
- { GFS3_OP_TRUNCATE, "TRUNCATE", NULL, NULL },
- { GFS3_OP_OPEN, "OPEN", NULL, NULL },
- { GFS3_OP_READ, "READ", NULL, NULL },
- { GFS3_OP_WRITE, "WRITE", NULL, NULL },
+ { GFS3_OP_RMDIR, "RMDIR", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GFS3_OP_SYMLINK, "SYMLINK", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GFS3_OP_RENAME, "RENAME", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GFS3_OP_LINK, "LINK", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GFS3_OP_TRUNCATE, "TRUNCATE", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GFS3_OP_OPEN, "OPEN", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GFS3_OP_READ, "READ", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GFS3_OP_WRITE, "WRITE", dissect_rpc_unknown, dissect_rpc_unknown },
{
GFS3_OP_STATFS, "STATFS",
glusterfs_gfs3_op_statfs_call, glusterfs_gfs3_op_statfs_reply
@@ -1908,43 +1911,43 @@ static const vsff glusterfs3_1_fop_proc[] = {
GFS3_OP_FLUSH, "FLUSH",
glusterfs_gfs3_op_flush_call, gluster_local_dissect_common_reply
},
- { GFS3_OP_FSYNC, "FSYNC", NULL, NULL },
+ { GFS3_OP_FSYNC, "FSYNC", dissect_rpc_unknown, dissect_rpc_unknown },
{
GFS3_OP_SETXATTR, "SETXATTR",
glusterfs_gfs3_op_setxattr_call, gluster_local_dissect_common_reply
},
- { GFS3_OP_GETXATTR, "GETXATTR", NULL, NULL },
- { GFS3_OP_REMOVEXATTR, "REMOVEXATTR", NULL, NULL },
+ { GFS3_OP_GETXATTR, "GETXATTR", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GFS3_OP_REMOVEXATTR, "REMOVEXATTR", dissect_rpc_unknown, dissect_rpc_unknown },
{
GFS3_OP_OPENDIR, "OPENDIR",
glusterfs_gfs3_op_opendir_call, glusterfs_gfs3_op_opendir_reply
},
- { GFS3_OP_FSYNCDIR, "FSYNCDIR", NULL, NULL },
- { GFS3_OP_ACCESS, "ACCESS", NULL, NULL },
+ { GFS3_OP_FSYNCDIR, "FSYNCDIR", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GFS3_OP_ACCESS, "ACCESS", dissect_rpc_unknown, dissect_rpc_unknown },
{
GFS3_OP_CREATE, "CREATE",
glusterfs_gfs3_op_create_call, glusterfs_gfs3_op_create_reply
},
- { GFS3_OP_FTRUNCATE, "FTRUNCATE", NULL, NULL },
- { GFS3_OP_FSTAT, "FSTAT", NULL, NULL },
- { GFS3_OP_LK, "LK", NULL, NULL },
+ { GFS3_OP_FTRUNCATE, "FTRUNCATE", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GFS3_OP_FSTAT, "FSTAT", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GFS3_OP_LK, "LK", dissect_rpc_unknown, dissect_rpc_unknown },
{
GFS3_OP_LOOKUP, "LOOKUP",
glusterfs_gfs3_op_lookup_call, glusterfs_gfs3_op_lookup_reply
},
- { GFS3_OP_READDIR, "READDIR", NULL, NULL },
+ { GFS3_OP_READDIR, "READDIR", dissect_rpc_unknown, dissect_rpc_unknown },
{
GFS3_OP_INODELK, "INODELK",
glusterfs_gfs3_op_inodelk_call, gluster_local_dissect_common_reply
},
- { GFS3_OP_FINODELK, "FINODELK", NULL, NULL },
- { GFS3_OP_ENTRYLK, "ENTRYLK", NULL, NULL },
- { GFS3_OP_FENTRYLK, "FENTRYLK", NULL, NULL },
- { GFS3_OP_XATTROP, "XATTROP", NULL, NULL },
- { GFS3_OP_FXATTROP, "FXATTROP", NULL, NULL },
- { GFS3_OP_FGETXATTR, "FGETXATTR", NULL, NULL },
- { GFS3_OP_FSETXATTR, "FSETXATTR", NULL, NULL },
- { GFS3_OP_RCHECKSUM, "RCHECKSUM", NULL, NULL },
+ { GFS3_OP_FINODELK, "FINODELK", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GFS3_OP_ENTRYLK, "ENTRYLK", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GFS3_OP_FENTRYLK, "FENTRYLK", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GFS3_OP_XATTROP, "XATTROP", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GFS3_OP_FXATTROP, "FXATTROP", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GFS3_OP_FGETXATTR, "FGETXATTR", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GFS3_OP_FSETXATTR, "FSETXATTR", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GFS3_OP_RCHECKSUM, "RCHECKSUM", dissect_rpc_unknown, dissect_rpc_unknown },
{
GFS3_OP_SETATTR, "SETATTR",
glusterfs_gfs3_op_setattr_call, glusterfs_gfs3_op_setattr_reply
@@ -1958,8 +1961,8 @@ static const vsff glusterfs3_1_fop_proc[] = {
GFS3_OP_READDIRP, "READDIRP",
glusterfs_gfs3_op_readdirp_call, glusterfs_gfs3_op_readdirp_reply
},
- { GFS3_OP_RELEASE, "RELEASE", NULL, NULL },
- { GFS3_OP_RELEASEDIR, "RELEASEDIR", NULL, NULL },
+ { GFS3_OP_RELEASE, "RELEASE", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GFS3_OP_RELEASEDIR, "RELEASEDIR", dissect_rpc_unknown, dissect_rpc_unknown },
{ 0, NULL, NULL, NULL }
};
@@ -1970,7 +1973,10 @@ static const vsff glusterfs3_1_fop_proc[] = {
* - xlators/protocol/server/src/server3_1-fops.c
*/
static const vsff glusterfs3_3_fop_proc[] = {
- { GFS3_OP_NULL, "NULL", NULL, NULL },
+ {
+ GFS3_OP_NULL, "NULL",
+ dissect_rpc_void, dissect_rpc_void
+ },
{
GFS3_OP_STAT, "STAT",
glusterfs_gfs3_3_op_stat_call, glusterfs_gfs3_3_op_stat_reply
@@ -2116,7 +2122,7 @@ static const vsff glusterfs3_3_fop_proc[] = {
GFS3_OP_FSETXATTR, "FSETXATTR",
gluter_gfs3_3_op_fsetxattr_call, glusterfs_gfs3_3_op_common_reply
},
- { GFS3_OP_RCHECKSUM, "RCHECKSUM", NULL, NULL },
+ { GFS3_OP_RCHECKSUM, "RCHECKSUM", dissect_rpc_unknown, dissect_rpc_unknown },
{
GFS3_OP_SETATTR, "SETATTR",
glusterfs_gfs3_3_op_setattr_call, glusterfs_gfs3_3_op_setattr_reply
diff --git a/epan/dissectors/packet-glusterfs_hndsk.c b/epan/dissectors/packet-glusterfs_hndsk.c
index a0f5b64a14..b077f1ea6b 100644
--- a/epan/dissectors/packet-glusterfs_hndsk.c
+++ b/epan/dissectors/packet-glusterfs_hndsk.c
@@ -184,18 +184,27 @@ gluster_hndsk_dissect_common_reply(tvbuff_t *tvb,
}
static const vsff gluster_hndsk_proc[] = {
- { GF_HNDSK_NULL, "NULL", NULL, NULL },
+ {
+ GF_HNDSK_NULL, "NULL",
+ dissect_rpc_void, dissect_rpc_void
+ },
{
GF_HNDSK_SETVOLUME, "SETVOLUME",
gluster_hndsk_setvolume_call, gluster_hndsk_setvolume_reply
},
- { GF_HNDSK_GETSPEC, "GETSPEC", NULL, NULL },
- { GF_HNDSK_PING, "PING", NULL, gluster_hndsk_dissect_common_reply },
+ { GF_HNDSK_GETSPEC, "GETSPEC", dissect_rpc_unknown, dissect_rpc_unknown },
+ {
+ GF_HNDSK_PING, "PING",
+ dissect_rpc_void, gluster_hndsk_dissect_common_reply
+ },
{ 0, NULL, NULL, NULL }
};
static const vsff gluster_hndsk_2_proc[] = {
- { GF_HNDSK_NULL, "NULL", NULL, NULL },
+ {
+ GF_HNDSK_NULL, "NULL",
+ dissect_rpc_void, dissect_rpc_void
+ },
{
GF_HNDSK_SETVOLUME, "SETVOLUME",
gluster_hndsk_2_setvolume_call, gluster_hndsk_2_setvolume_reply
@@ -204,7 +213,10 @@ static const vsff gluster_hndsk_2_proc[] = {
GF_HNDSK_GETSPEC, "GETSPEC",
gluster_hndsk_2_getspec_call, gluster_hndsk_2_getspec_reply
},
- { GF_HNDSK_PING, "PING", NULL, glusterfs_gfs3_3_op_common_reply },
+ {
+ GF_HNDSK_PING, "PING",
+ dissect_rpc_void, glusterfs_gfs3_3_op_common_reply
+ },
{
GF_HNDSK_SET_LK_VER,"LOCK VERSION",
gluster_hndsk_2_set_lk_ver_call, gluster_hndsk_2_set_lk_ver_reply
@@ -298,9 +310,9 @@ proto_reg_handoff_gluster_hndsk(void)
/* Legacy GlusterFS Callback procedures, they don't contain any data. */
static const vsff gluster_cbk_proc[] = {
- { GF_CBK_NULL, "NULL", NULL, NULL },
- { GF_CBK_FETCHSPEC, "FETCHSPEC", NULL, NULL },
- { GF_CBK_INO_FLUSH, "INO_FLUSH", NULL, NULL },
+ { GF_CBK_NULL, "NULL", dissect_rpc_void, dissect_rpc_void },
+ { GF_CBK_FETCHSPEC, "FETCHSPEC", dissect_rpc_unknown, dissect_rpc_unknown },
+ { GF_CBK_INO_FLUSH, "INO_FLUSH", dissect_rpc_unknown, dissect_rpc_unknown },
{ 0, NULL, NULL, NULL }
};
static const value_string gluster_cbk_proc_vals[] = {
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[] = {
diff --git a/epan/dissectors/packet-kadm5.c b/epan/dissectors/packet-kadm5.c
index 55fc371dcc..b445678669 100644
--- a/epan/dissectors/packet-kadm5.c
+++ b/epan/dissectors/packet-kadm5.c
@@ -62,30 +62,29 @@ static int hf_kadm5_procedure_v2 = -1;
static gint ett_kadm5 = -1;
/* proc number, "proc name", dissect_request, dissect_reply */
-/* NULL as function pointer means: type of arguments is "void". */
static const vsff kadm5_v2_proc[] = {
- { KADM5PROC_NULL, "NULL", NULL, NULL },
- { KADM5PROC_CREATE_PRINCIPAL, "CREATE_PRINCIPAL", NULL, NULL },
- { KADM5PROC_DELETE_PRINCIPAL, "DELETE_PRINCIPAL", NULL, NULL },
- { KADM5PROC_MODIFY_PRINCIPAL, "MODIFY_PRINCIPAL", NULL, NULL },
- { KADM5PROC_RENAME_PRINCIPAL, "RENAME_PRINCIPAL", NULL, NULL },
- { KADM5PROC_GET_PRINCIPAL, "GET_PRINCIPAL", NULL, NULL },
- { KADM5PROC_CHPASS_PRINCIPAL, "CHPASS_PRINCIPAL", NULL, NULL },
- { KADM5PROC_CHRAND_PRINCIPAL, "CHRAND_PRINCIPAL", NULL, NULL },
- { KADM5PROC_CREATE_POLICY, "CREATE_POLICY", NULL, NULL },
- { KADM5PROC_DELETE_POLICY, "DELETE_POLICY", NULL, NULL },
- { KADM5PROC_MODIFY_POLICY, "MODIFY_POLICY", NULL, NULL },
- { KADM5PROC_GET_POLICY, "GET_POLICY", NULL, NULL },
- { KADM5PROC_GET_PRIVS, "GET_PRIVS", NULL, NULL },
- { KADM5PROC_INIT, "INIT", NULL, NULL },
- { KADM5PROC_GET_PRINCS, "GET_PRINCS", NULL, NULL },
- { KADM5PROC_GET_POLS, "GET_POLS", NULL, NULL },
- { KADM5PROC_SETKEY_PRINCIPAL, "SETKEY_PRINCIPAL", NULL, NULL },
- { KADM5PROC_SETV4KEY_PRINCIPAL, "SETV4KEY_PRINCIPAL", NULL, NULL },
- { KADM5PROC_CREATE_PRINCIPAL3, "CREATE_PRINCIPAL3", NULL, NULL },
- { KADM5PROC_CHPASS_PRINCIPAL3, "CHPASS_PRINCIPAL3", NULL, NULL },
- { KADM5PROC_CHRAND_PRINCIPAL3, "CHRAND_PRINCIPAL3", NULL, NULL },
- { KADM5PROC_SETKEY_PRINCIPAL3, "SETKEY_PRINCIPAL3", NULL, NULL },
+ { KADM5PROC_NULL, "NULL", dissect_rpc_void, dissect_rpc_void },
+ { KADM5PROC_CREATE_PRINCIPAL, "CREATE_PRINCIPAL", dissect_rpc_unknown, dissect_rpc_unknown },
+ { KADM5PROC_DELETE_PRINCIPAL, "DELETE_PRINCIPAL", dissect_rpc_unknown, dissect_rpc_unknown },
+ { KADM5PROC_MODIFY_PRINCIPAL, "MODIFY_PRINCIPAL", dissect_rpc_unknown, dissect_rpc_unknown },
+ { KADM5PROC_RENAME_PRINCIPAL, "RENAME_PRINCIPAL", dissect_rpc_unknown, dissect_rpc_unknown },
+ { KADM5PROC_GET_PRINCIPAL, "GET_PRINCIPAL", dissect_rpc_unknown, dissect_rpc_unknown },
+ { KADM5PROC_CHPASS_PRINCIPAL, "CHPASS_PRINCIPAL", dissect_rpc_unknown, dissect_rpc_unknown },
+ { KADM5PROC_CHRAND_PRINCIPAL, "CHRAND_PRINCIPAL", dissect_rpc_unknown, dissect_rpc_unknown },
+ { KADM5PROC_CREATE_POLICY, "CREATE_POLICY", dissect_rpc_unknown, dissect_rpc_unknown },
+ { KADM5PROC_DELETE_POLICY, "DELETE_POLICY", dissect_rpc_unknown, dissect_rpc_unknown },
+ { KADM5PROC_MODIFY_POLICY, "MODIFY_POLICY", dissect_rpc_unknown, dissect_rpc_unknown },
+ { KADM5PROC_GET_POLICY, "GET_POLICY", dissect_rpc_unknown, dissect_rpc_unknown },
+ { KADM5PROC_GET_PRIVS, "GET_PRIVS", dissect_rpc_unknown, dissect_rpc_unknown },
+ { KADM5PROC_INIT, "INIT", dissect_rpc_unknown, dissect_rpc_unknown },
+ { KADM5PROC_GET_PRINCS, "GET_PRINCS", dissect_rpc_unknown, dissect_rpc_unknown },
+ { KADM5PROC_GET_POLS, "GET_POLS", dissect_rpc_unknown, dissect_rpc_unknown },
+ { KADM5PROC_SETKEY_PRINCIPAL, "SETKEY_PRINCIPAL", dissect_rpc_unknown, dissect_rpc_unknown },
+ { KADM5PROC_SETV4KEY_PRINCIPAL, "SETV4KEY_PRINCIPAL", dissect_rpc_unknown, dissect_rpc_unknown },
+ { KADM5PROC_CREATE_PRINCIPAL3, "CREATE_PRINCIPAL3", dissect_rpc_unknown, dissect_rpc_unknown },
+ { KADM5PROC_CHPASS_PRINCIPAL3, "CHPASS_PRINCIPAL3", dissect_rpc_unknown, dissect_rpc_unknown },
+ { KADM5PROC_CHRAND_PRINCIPAL3, "CHRAND_PRINCIPAL3", dissect_rpc_unknown, dissect_rpc_unknown },
+ { KADM5PROC_SETKEY_PRINCIPAL3, "SETKEY_PRINCIPAL3", dissect_rpc_unknown, dissect_rpc_unknown },
{ 0, NULL, NULL, NULL }
};
diff --git a/epan/dissectors/packet-klm.c b/epan/dissectors/packet-klm.c
index 29fbee91df..bd3dad333c 100644
--- a/epan/dissectors/packet-klm.c
+++ b/epan/dissectors/packet-klm.c
@@ -170,7 +170,6 @@ dissect_klm_test_call(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void*
/* proc number, "proc name", dissect_request, dissect_reply */
-/* NULL as function pointer means: type of arguments is "void". */
static const vsff klm1_proc[] = {
{ KLMPROC_TEST, "TEST",
dissect_klm_test_call, dissect_klm_test_reply },
diff --git a/epan/dissectors/packet-mount.c b/epan/dissectors/packet-mount.c
index 3ffdeba210..988c1aa11d 100644
--- a/epan/dissectors/packet-mount.c
+++ b/epan/dissectors/packet-mount.c
@@ -670,23 +670,23 @@ dissect_mount_statvfs_reply(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *t
}
/* proc number, "proc name", dissect_request, dissect_reply */
-/* NULL as function pointer means: type of arguments is "void". */
/* Mount protocol version 1, RFC 1094 */
static const vsff mount1_proc[] = {
- { 0, "NULL", NULL, NULL },
+ { 0, "NULL",
+ dissect_rpc_void, dissect_rpc_void },
{ MOUNTPROC_MNT, "MNT",
dissect_mount_dirpath_call, dissect_mount1_mnt_reply },
{ MOUNTPROC_DUMP, "DUMP",
- NULL, dissect_mount_dump_reply },
+ dissect_rpc_void, dissect_mount_dump_reply },
{ MOUNTPROC_UMNT, "UMNT",
- dissect_mount_dirpath_call, NULL },
+ dissect_mount_dirpath_call, dissect_rpc_void },
{ MOUNTPROC_UMNTALL, "UMNTALL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ MOUNTPROC_EXPORT, "EXPORT",
- NULL, dissect_mount_export_reply },
+ dissect_rpc_void, dissect_mount_export_reply },
{ MOUNTPROC_EXPORTALL, "EXPORTALL",
- NULL, dissect_mount_export_reply },
+ dissect_rpc_void, dissect_mount_export_reply },
{ 0, NULL, NULL, NULL }
};
static const value_string mount1_proc_vals[] = {
@@ -706,19 +706,20 @@ static const value_string mount1_proc_vals[] = {
mount V2 is V1 plus MOUNTPROC_PATHCONF to fetch information for the
POSIX "pathconf()" call. */
static const vsff mount2_proc[] = {
- { 0, "NULL", NULL, NULL },
+ { 0, "NULL",
+ dissect_rpc_void, dissect_rpc_void },
{ MOUNTPROC_MNT, "MNT",
dissect_mount_dirpath_call, dissect_mount1_mnt_reply },
{ MOUNTPROC_DUMP, "DUMP",
- NULL, dissect_mount_dump_reply },
+ dissect_rpc_void, dissect_mount_dump_reply },
{ MOUNTPROC_UMNT, "UMNT",
- dissect_mount_dirpath_call, NULL },
+ dissect_mount_dirpath_call, dissect_rpc_void },
{ MOUNTPROC_UMNTALL, "UMNTALL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ MOUNTPROC_EXPORT, "EXPORT",
- NULL, dissect_mount_export_reply },
+ dissect_rpc_void, dissect_mount_export_reply },
{ MOUNTPROC_EXPORTALL, "EXPORTALL",
- NULL, dissect_mount_export_reply },
+ dissect_rpc_void, dissect_mount_export_reply },
{ MOUNTPROC_PATHCONF, "PATHCONF",
dissect_mount_dirpath_call, dissect_mount_pathconf_reply },
{ 0, NULL, NULL, NULL }
@@ -739,17 +740,18 @@ static const value_string mount2_proc_vals[] = {
/* Mount protocol version 3, RFC 1813 */
static const vsff mount3_proc[] = {
- { 0, "NULL", NULL, NULL },
+ { 0, "NULL",
+ dissect_rpc_void, dissect_rpc_void },
{ MOUNTPROC_MNT, "MNT",
dissect_mount_dirpath_call, dissect_mount3_mnt_reply },
{ MOUNTPROC_DUMP, "DUMP",
- NULL, dissect_mount_dump_reply },
+ dissect_rpc_void, dissect_mount_dump_reply },
{ MOUNTPROC_UMNT, "UMNT",
- dissect_mount_dirpath_call, NULL },
+ dissect_mount_dirpath_call, dissect_rpc_void },
{ MOUNTPROC_UMNTALL, "UMNTALL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ MOUNTPROC_EXPORT, "EXPORT",
- NULL, dissect_mount_export_reply },
+ dissect_rpc_void, dissect_mount_export_reply },
{ 0, NULL, NULL, NULL }
};
static const value_string mount3_proc_vals[] = {
@@ -767,21 +769,22 @@ static const value_string mount3_proc_vals[] = {
MOUNTPROC_EXPORTLIST and MOUNTPROC_STATVFS */
static const vsff sgi_mount1_proc[] = {
- { 0, "NULL", NULL, NULL },
+ { 0, "NULL",
+ dissect_rpc_void, dissect_rpc_void },
{ MOUNTPROC_MNT, "MNT",
dissect_mount_dirpath_call, dissect_mount1_mnt_reply },
{ MOUNTPROC_DUMP, "DUMP",
- NULL, dissect_mount_dump_reply },
+ dissect_rpc_void, dissect_mount_dump_reply },
{ MOUNTPROC_UMNT, "UMNT",
- dissect_mount_dirpath_call, NULL },
+ dissect_mount_dirpath_call, dissect_rpc_void },
{ MOUNTPROC_UMNTALL, "UMNTALL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ MOUNTPROC_EXPORT, "EXPORT",
- NULL, dissect_mount_export_reply },
+ dissect_rpc_void, dissect_mount_export_reply },
{ MOUNTPROC_EXPORTALL, "EXPORTALL",
- NULL, dissect_mount_export_reply },
+ dissect_rpc_void, dissect_mount_export_reply },
{ MOUNTPROC_EXPORTLIST,"EXPORTLIST",
- NULL, dissect_mount_exportlist_reply },
+ dissect_rpc_void, dissect_mount_exportlist_reply },
{ MOUNTPROC_STATVFS, "STATVFS",
dissect_mount_dirpath_call, dissect_mount_statvfs_reply },
{ 0, NULL, NULL, NULL }
diff --git a/epan/dissectors/packet-nfs.c b/epan/dissectors/packet-nfs.c
index 262fb63c4a..38df7a3b28 100644
--- a/epan/dissectors/packet-nfs.c
+++ b/epan/dissectors/packet-nfs.c
@@ -3261,16 +3261,15 @@ dissect_nfs2_statfs_reply(tvbuff_t *tvb, packet_info *pinfo _U_,
/* proc number, "proc name", dissect_request, dissect_reply */
-/* NULL as function pointer means: type of arguments is "void". */
static const vsff nfs2_proc[] = {
{ 0, "NULL", /* OK */
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ 1, "GETATTR", /* OK */
dissect_nfs2_getattr_call, dissect_nfs2_getattr_reply },
{ 2, "SETATTR", /* OK */
dissect_nfs2_setattr_call, dissect_nfs2_setattr_reply },
{ 3, "ROOT", /* OK */
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ 4, "LOOKUP", /* OK */
dissect_nfs2_lookup_call, dissect_nfs2_lookup_reply },
{ 5, "READLINK", /* OK */
@@ -3278,7 +3277,7 @@ static const vsff nfs2_proc[] = {
{ 6, "READ", /* OK */
dissect_nfs2_read_call, dissect_nfs2_read_reply },
{ 7, "WRITECACHE", /* OK */
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ 8, "WRITE", /* OK */
dissect_nfs2_write_call, dissect_nfs2_write_reply },
{ 9, "CREATE", /* OK */
@@ -9652,7 +9651,6 @@ dissect_nfs4_compound_reply(tvbuff_t *tvb, packet_info *pinfo,
/* proc number, "proc name", dissect_request, dissect_reply */
-/* NULL as function pointer means: type of arguments is "void". */
static const vsff nfs3_proc[] = {
{ 0, "NULL", /* OK */
dissect_nfs3_null_call, dissect_nfs3_null_reply },
diff --git a/epan/dissectors/packet-nfsacl.c b/epan/dissectors/packet-nfsacl.c
index d32f0dce71..4b98f578c3 100644
--- a/epan/dissectors/packet-nfsacl.c
+++ b/epan/dissectors/packet-nfsacl.c
@@ -201,10 +201,9 @@ dissect_nfsacl_secattr(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
}
/* proc number, "proc name", dissect_request, dissect_reply */
-/* NULL as function pointer means: type of arguments is "void". */
static const vsff nfsacl1_proc[] = {
{ NFSACLPROC_NULL, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ 0, NULL, NULL, NULL }
};
static const value_string nfsacl1_proc_vals[] = {
@@ -360,7 +359,7 @@ dissect_nfsacl2_getxattrdir_reply(tvbuff_t *tvb, packet_info *pinfo _U_, proto_t
static const vsff nfsacl2_proc[] = {
{ NFSACLPROC_NULL, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ NFSACLPROC2_GETACL, "GETACL",
dissect_nfsacl2_getacl_call, dissect_nfsacl2_getacl_reply },
{ NFSACLPROC2_SETACL, "SETACL",
@@ -488,7 +487,7 @@ dissect_nfsacl3_getxattrdir_reply(tvbuff_t *tvb, packet_info *pinfo _U_, proto_t
static const vsff nfsacl3_proc[] = {
{ NFSACLPROC_NULL, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ NFSACLPROC3_GETACL, "GETACL",
dissect_nfsacl3_getacl_call, dissect_nfsacl3_getacl_reply },
{ NFSACLPROC3_SETACL, "SETACL",
diff --git a/epan/dissectors/packet-nfsauth.c b/epan/dissectors/packet-nfsauth.c
index 9ff54e2d31..9a789f3eb1 100644
--- a/epan/dissectors/packet-nfsauth.c
+++ b/epan/dissectors/packet-nfsauth.c
@@ -39,12 +39,11 @@ static gint ett_nfsauth = -1;
#define NFSAUTHPROC_NULL 0
#define NFSAUTH1_ACCESS 1
/* proc number, "proc name", dissect_request, dissect_reply */
-/* NULL as function pointer means: type of arguments is "void". */
static const vsff nfsauth1_proc[] = {
{ NFSAUTHPROC_NULL, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ NFSAUTH1_ACCESS, "ACCESS",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ 0, NULL, NULL, NULL }
};
static const value_string nfsauth1_proc_vals[] = {
diff --git a/epan/dissectors/packet-nisplus.c b/epan/dissectors/packet-nisplus.c
index ee4296fb54..003dd78721 100644
--- a/epan/dissectors/packet-nisplus.c
+++ b/epan/dissectors/packet-nisplus.c
@@ -1090,10 +1090,9 @@ dissect_nisplus_error(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, v
}
/* proc number, "proc name", dissect_request, dissect_reply */
-/* NULL as function pointer means: type of arguments is "void". */
static const vsff nisplus3_proc[] = {
{ NISPROC_NULL, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ NISPROC_LOOKUP, "LOOKUP",
dissect_ns_request, dissect_nisplus_result },
{ NISPROC_ADD, "ADD",
@@ -1129,7 +1128,7 @@ static const vsff nisplus3_proc[] = {
{ NISPROC_CHECKPOINT, "CHECKPOINT",
dissect_nisname, dissect_cp_result },
{ NISPROC_PING, "PING",
- dissect_ping_args, NULL },
+ dissect_ping_args, dissect_rpc_void },
{ NISPROC_SERVSTATE, "SERVSTATE",
dissect_nisplus_taglist, dissect_nisplus_taglist },
{ NISPROC_MKDIR, "MKDIR",
@@ -1880,16 +1879,15 @@ dissect_cback_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* da
}
/* proc number, "proc name", dissect_request, dissect_reply */
-/* NULL as function pointer means: type of arguments is "void". */
static const vsff cb1_proc[] = {
{ CBPROC_NULL, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ CBPROC_RECEIVE, "RECEIVE",
dissect_cback_data, dissect_callback_result },
{ CBPROC_FINISH, "FINISH",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ CBPROC_ERROR, "ERROR",
- dissect_nisplus_error, NULL },
+ dissect_nisplus_error, dissect_rpc_void },
{ 0, NULL, NULL, NULL },
};
static const value_string nispluscb1_proc_vals[] = {
diff --git a/epan/dissectors/packet-nlm.c b/epan/dissectors/packet-nlm.c
index fa3485fca6..d9d13c7204 100644
--- a/epan/dissectors/packet-nlm.c
+++ b/epan/dissectors/packet-nlm.c
@@ -838,11 +838,10 @@ dissect_nlm4_freeall(tvbuff_t *tvb, packet_info *pinfo,
/* proc number, "proc name", dissect_request, dissect_reply */
-/* NULL as function pointer means: type of arguments is "void". */
/* NLM protocol version 1 */
static const vsff nlm1_proc[] = {
{ NLM_NULL, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ NLM_TEST, "TEST",
dissect_nlm1_test, dissect_nlm1_test_res },
{ NLM_LOCK, "LOCK",
@@ -854,25 +853,25 @@ static const vsff nlm1_proc[] = {
{ NLM_GRANTED, "GRANTED",
dissect_nlm1_granted, dissect_nlm_gen_reply },
{ NLM_TEST_MSG, "TEST_MSG",
- dissect_nlm1_test, NULL },
+ dissect_nlm1_test, dissect_rpc_void },
{ NLM_LOCK_MSG, "LOCK_MSG",
- dissect_nlm1_lock, NULL },
+ dissect_nlm1_lock, dissect_rpc_void },
{ NLM_CANCEL_MSG, "CANCEL_MSG",
- dissect_nlm1_cancel, NULL },
+ dissect_nlm1_cancel, dissect_rpc_void },
{ NLM_UNLOCK_MSG, "UNLOCK_MSG",
- dissect_nlm1_unlock, NULL },
+ dissect_nlm1_unlock, dissect_rpc_void },
{ NLM_GRANTED_MSG, "GRANTED_MSG",
- dissect_nlm1_granted, NULL },
+ dissect_nlm1_granted, dissect_rpc_void },
{ NLM_TEST_RES, "TEST_RES",
- dissect_nlm1_test_res, NULL },
+ dissect_nlm1_test_res, dissect_rpc_void },
{ NLM_LOCK_RES, "LOCK_RES",
- dissect_nlm_gen_reply, NULL },
+ dissect_nlm_gen_reply, dissect_rpc_void },
{ NLM_CANCEL_RES, "CANCEL_RES",
- dissect_nlm_gen_reply, NULL },
+ dissect_nlm_gen_reply, dissect_rpc_void },
{ NLM_UNLOCK_RES, "UNLOCK_RES",
- dissect_nlm_gen_reply, NULL },
+ dissect_nlm_gen_reply, dissect_rpc_void },
{ NLM_GRANTED_RES, "GRANTED_RES",
- dissect_nlm_gen_reply, NULL },
+ dissect_nlm_gen_reply, dissect_rpc_void },
{ 0, NULL,
NULL, NULL }
};
@@ -900,7 +899,7 @@ static const value_string nlm1_proc_vals[] = {
/* NLM protocol version 2 */
static const vsff nlm2_proc[] = {
{ NLM_NULL, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ NLM_TEST, "TEST",
dissect_nlm1_test, dissect_nlm1_test_res },
{ NLM_LOCK, "LOCK",
@@ -912,25 +911,25 @@ static const vsff nlm2_proc[] = {
{ NLM_GRANTED, "GRANTED",
dissect_nlm1_granted, dissect_nlm_gen_reply },
{ NLM_TEST_MSG, "TEST_MSG",
- dissect_nlm1_test, NULL },
+ dissect_nlm1_test, dissect_rpc_void },
{ NLM_LOCK_MSG, "LOCK_MSG",
- dissect_nlm1_lock, NULL },
+ dissect_nlm1_lock, dissect_rpc_void },
{ NLM_CANCEL_MSG, "CANCEL_MSG",
- dissect_nlm1_cancel, NULL },
+ dissect_nlm1_cancel, dissect_rpc_void },
{ NLM_UNLOCK_MSG, "UNLOCK_MSG",
- dissect_nlm1_unlock, NULL },
+ dissect_nlm1_unlock, dissect_rpc_void },
{ NLM_GRANTED_MSG, "GRANTED_MSG",
- dissect_nlm1_granted, NULL },
+ dissect_nlm1_granted, dissect_rpc_void },
{ NLM_TEST_RES, "TEST_RES",
- dissect_nlm1_test_res, NULL },
+ dissect_nlm1_test_res, dissect_rpc_void },
{ NLM_LOCK_RES, "LOCK_RES",
- dissect_nlm_gen_reply, NULL },
+ dissect_nlm_gen_reply, dissect_rpc_void },
{ NLM_CANCEL_RES, "CANCEL_RES",
- dissect_nlm_gen_reply, NULL },
+ dissect_nlm_gen_reply, dissect_rpc_void },
{ NLM_UNLOCK_RES, "UNLOCK_RES",
- dissect_nlm_gen_reply, NULL },
+ dissect_nlm_gen_reply, dissect_rpc_void },
{ NLM_GRANTED_RES, "GRANTED_RES",
- dissect_nlm_gen_reply, NULL },
+ dissect_nlm_gen_reply, dissect_rpc_void },
{ 0, NULL,
NULL, NULL }
};
@@ -958,7 +957,7 @@ static const value_string nlm2_proc_vals[] = {
/* NLM protocol version 3 */
static const vsff nlm3_proc[] = {
{ NLM_NULL, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ NLM_TEST, "TEST",
dissect_nlm1_test, dissect_nlm1_test_res },
{ NLM_LOCK, "LOCK",
@@ -970,25 +969,25 @@ static const vsff nlm3_proc[] = {
{ NLM_GRANTED, "GRANTED",
dissect_nlm1_granted, dissect_nlm_gen_reply },
{ NLM_TEST_MSG, "TEST_MSG",
- dissect_nlm1_test, NULL },
+ dissect_nlm1_test, dissect_rpc_void },
{ NLM_LOCK_MSG, "LOCK_MSG",
- dissect_nlm1_lock, NULL },
+ dissect_nlm1_lock, dissect_rpc_void },
{ NLM_CANCEL_MSG, "CANCEL_MSG",
- dissect_nlm1_cancel, NULL },
+ dissect_nlm1_cancel, dissect_rpc_void },
{ NLM_UNLOCK_MSG, "UNLOCK_MSG",
- dissect_nlm1_unlock, NULL },
+ dissect_nlm1_unlock, dissect_rpc_void },
{ NLM_GRANTED_MSG, "GRANTED_MSG",
- dissect_nlm1_granted, NULL },
+ dissect_nlm1_granted, dissect_rpc_void },
{ NLM_TEST_RES, "TEST_RES",
- dissect_nlm1_test_res, NULL },
+ dissect_nlm1_test_res, dissect_rpc_void },
{ NLM_LOCK_RES, "LOCK_RES",
- dissect_nlm_gen_reply, NULL },
+ dissect_nlm_gen_reply, dissect_rpc_void },
{ NLM_CANCEL_RES, "CANCEL_RES",
- dissect_nlm_gen_reply, NULL },
+ dissect_nlm_gen_reply, dissect_rpc_void },
{ NLM_UNLOCK_RES, "UNLOCK_RES",
- dissect_nlm_gen_reply, NULL },
+ dissect_nlm_gen_reply, dissect_rpc_void },
{ NLM_GRANTED_RES, "GRANTED_RES",
- dissect_nlm_gen_reply, NULL },
+ dissect_nlm_gen_reply, dissect_rpc_void },
{ NLM_SHARE, "SHARE",
dissect_nlm3_share, dissect_nlm3_shareres },
{ NLM_UNSHARE, "UNSHARE",
@@ -996,7 +995,7 @@ static const vsff nlm3_proc[] = {
{ NLM_NM_LOCK, "NM_LOCK",
dissect_nlm1_lock, dissect_nlm_gen_reply },
{ NLM_FREE_ALL, "FREE_ALL",
- dissect_nlm3_freeall, NULL },
+ dissect_nlm3_freeall, dissect_rpc_void },
{ 0, NULL,
NULL, NULL }
};
@@ -1029,7 +1028,7 @@ static const value_string nlm3_proc_vals[] = {
/* NLM protocol version 4 */
static const vsff nlm4_proc[] = {
{ NLM_NULL, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ NLM_TEST, "TEST",
dissect_nlm4_test, dissect_nlm4_test_res },
{ NLM_LOCK, "LOCK",
@@ -1041,25 +1040,25 @@ static const vsff nlm4_proc[] = {
{ NLM_GRANTED, "GRANTED",
dissect_nlm4_granted, dissect_nlm_gen_reply },
{ NLM_TEST_MSG, "TEST_MSG",
- dissect_nlm4_test, NULL },
+ dissect_nlm4_test, dissect_rpc_void },
{ NLM_LOCK_MSG, "LOCK_MSG",
- dissect_nlm4_lock, NULL },
+ dissect_nlm4_lock, dissect_rpc_void },
{ NLM_CANCEL_MSG, "CANCEL_MSG",
- dissect_nlm4_cancel, NULL },
+ dissect_nlm4_cancel, dissect_rpc_void },
{ NLM_UNLOCK_MSG, "UNLOCK_MSG",
- dissect_nlm4_unlock, NULL },
+ dissect_nlm4_unlock, dissect_rpc_void },
{ NLM_GRANTED_MSG, "GRANTED_MSG",
- dissect_nlm4_granted, NULL },
+ dissect_nlm4_granted, dissect_rpc_void },
{ NLM_TEST_RES, "TEST_RES",
- dissect_nlm4_test_res, NULL },
+ dissect_nlm4_test_res, dissect_rpc_void },
{ NLM_LOCK_RES, "LOCK_RES",
- dissect_nlm_gen_reply, NULL },
+ dissect_nlm_gen_reply, dissect_rpc_void },
{ NLM_CANCEL_RES, "CANCEL_RES",
- dissect_nlm_gen_reply, NULL },
+ dissect_nlm_gen_reply, dissect_rpc_void },
{ NLM_UNLOCK_RES, "UNLOCK_RES",
- dissect_nlm_gen_reply, NULL },
+ dissect_nlm_gen_reply, dissect_rpc_void },
{ NLM_GRANTED_RES, "GRANTED_RES",
- dissect_nlm_gen_reply, NULL },
+ dissect_nlm_gen_reply, dissect_rpc_void },
{ NLM_SHARE, "SHARE",
dissect_nlm4_share, dissect_nlm4_shareres },
{ NLM_UNSHARE, "UNSHARE",
@@ -1067,7 +1066,7 @@ static const vsff nlm4_proc[] = {
{ NLM_NM_LOCK, "NM_LOCK",
dissect_nlm4_lock, dissect_nlm_gen_reply },
{ NLM_FREE_ALL, "FREE_ALL",
- dissect_nlm4_freeall, NULL },
+ dissect_nlm4_freeall, dissect_rpc_void },
{ 0, NULL,
NULL, NULL }
};
diff --git a/epan/dissectors/packet-pcnfsd.c b/epan/dissectors/packet-pcnfsd.c
index 758c410b34..f12f9db563 100644
--- a/epan/dissectors/packet-pcnfsd.c
+++ b/epan/dissectors/packet-pcnfsd.c
@@ -282,13 +282,12 @@ dissect_pcnfsd2_auth_reply(tvbuff_t *tvb, packet_info *pinfo _U_,
/* "NFS Illustrated", 14.6 */
/* proc number, "proc name", dissect_request, dissect_reply */
-/* NULL as function pointer means: type of arguments is "void". */
static const vsff pcnfsd1_proc[] = {
- { 0, "NULL", NULL, NULL },
- { 1, "AUTH", NULL, NULL },
- { 2, "PR_INIT", NULL, NULL },
- { 3, "PR_START", NULL, NULL },
- { 0, NULL, NULL, NULL }
+ { 0, "NULL", dissect_rpc_void, dissect_rpc_void },
+ { 1, "AUTH", dissect_rpc_unknown, dissect_rpc_unknown },
+ { 2, "PR_INIT", dissect_rpc_unknown, dissect_rpc_unknown },
+ { 3, "PR_START", dissect_rpc_unknown, dissect_rpc_unknown },
+ { 0, NULL, NULL, NULL }
};
static const value_string pcnfsd1_proc_vals[] = {
{ 0, "NULL" },
@@ -302,23 +301,24 @@ static const value_string pcnfsd1_proc_vals[] = {
/* "NFS Illustrated", 14.7 */
static const vsff pcnfsd2_proc[] = {
- { 0, "NULL", NULL, NULL },
- { 1, "INFO", NULL, NULL },
- { 2, "PR_INIT", NULL, NULL },
- { 3, "PR_START", NULL, NULL },
- { 4, "PR_LIST", NULL, NULL },
- { 5, "PR_QUEUE", NULL, NULL },
- { 6, "PR_STATUS", NULL, NULL },
- { 7, "PR_CANCEL", NULL, NULL },
- { 8, "PR_ADMIN", NULL, NULL },
- { 9, "PR_REQUEUE", NULL, NULL },
- { 10, "PR_HOLD", NULL, NULL },
- { 11, "PR_RELEASE", NULL, NULL },
+ { 0, "NULL",
+ dissect_rpc_void, dissect_rpc_void },
+ { 1, "INFO", dissect_rpc_unknown, dissect_rpc_unknown },
+ { 2, "PR_INIT", dissect_rpc_unknown, dissect_rpc_unknown },
+ { 3, "PR_START", dissect_rpc_unknown, dissect_rpc_unknown },
+ { 4, "PR_LIST", dissect_rpc_unknown, dissect_rpc_unknown },
+ { 5, "PR_QUEUE", dissect_rpc_unknown, dissect_rpc_unknown },
+ { 6, "PR_STATUS", dissect_rpc_unknown, dissect_rpc_unknown },
+ { 7, "PR_CANCEL", dissect_rpc_unknown, dissect_rpc_unknown },
+ { 8, "PR_ADMIN", dissect_rpc_unknown, dissect_rpc_unknown },
+ { 9, "PR_REQUEUE", dissect_rpc_unknown, dissect_rpc_unknown },
+ { 10, "PR_HOLD", dissect_rpc_unknown, dissect_rpc_unknown },
+ { 11, "PR_RELEASE", dissect_rpc_unknown, dissect_rpc_unknown },
{ 12, "MAPID",
dissect_pcnfsd2_mapid_call, dissect_pcnfsd2_mapid_reply },
{ 13, "AUTH",
dissect_pcnfsd2_auth_call, dissect_pcnfsd2_auth_reply },
- { 14, "ALERT", NULL, NULL },
+ { 14, "ALERT", dissect_rpc_unknown, dissect_rpc_unknown },
{ 0, NULL, NULL, NULL }
};
static const value_string pcnfsd2_proc_vals[] = {
diff --git a/epan/dissectors/packet-portmap.c b/epan/dissectors/packet-portmap.c
index ede71e2729..c7fa17778f 100644
--- a/epan/dissectors/packet-portmap.c
+++ b/epan/dissectors/packet-portmap.c
@@ -334,14 +334,13 @@ dissect_callit_reply(tvbuff_t *tvb, packet_info *pinfo,
}
/* proc number, "proc name", dissect_request, dissect_reply */
-/* NULL as function pointer means: type of arguments is "void". */
static const vsff portmap1_proc[] = {
- { PORTMAPPROC_NULL, "NULL", NULL, NULL },
- { PORTMAPPROC_SET, "SET", NULL, NULL },
- { PORTMAPPROC_UNSET, "UNSET", NULL, NULL },
- { PORTMAPPROC_GETPORT, "GETPORT", NULL, NULL },
- { PORTMAPPROC_DUMP, "DUMP", NULL, NULL },
- { PORTMAPPROC_CALLIT, "CALLIT", NULL, NULL },
+ { PORTMAPPROC_NULL, "NULL", dissect_rpc_void, dissect_rpc_void },
+ { PORTMAPPROC_SET, "SET", dissect_rpc_unknown, dissect_rpc_unknown },
+ { PORTMAPPROC_UNSET, "UNSET", dissect_rpc_unknown, dissect_rpc_unknown },
+ { PORTMAPPROC_GETPORT, "GETPORT", dissect_rpc_unknown, dissect_rpc_unknown },
+ { PORTMAPPROC_DUMP, "DUMP", dissect_rpc_unknown, dissect_rpc_unknown },
+ { PORTMAPPROC_CALLIT, "CALLIT", dissect_rpc_unknown, dissect_rpc_unknown },
{ 0, NULL, NULL, NULL }
};
static const value_string portmap1_proc_vals[] = {
@@ -357,7 +356,7 @@ static const value_string portmap1_proc_vals[] = {
static const vsff portmap2_proc[] = {
{ PORTMAPPROC_NULL, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ PORTMAPPROC_SET, "SET",
dissect_set_call, dissect_set_reply },
{ PORTMAPPROC_UNSET, "UNSET",
@@ -365,7 +364,7 @@ static const vsff portmap2_proc[] = {
{ PORTMAPPROC_GETPORT, "GETPORT",
dissect_getport_call, dissect_getport_reply },
{ PORTMAPPROC_DUMP, "DUMP",
- NULL, dissect_dump_reply },
+ dissect_rpc_void, dissect_dump_reply },
{ PORTMAPPROC_CALLIT, "CALLIT",
dissect_callit_call, dissect_callit_reply },
{ 0, NULL, NULL, NULL }
@@ -473,23 +472,23 @@ dissect_rpcb_rmtcallres(tvbuff_t *tvb, packet_info *pinfo _U_,
/* Portmapper version 3, RFC 1833, Page 7 */
static const vsff portmap3_proc[] = {
{ RPCBPROC_NULL, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ RPCBPROC_SET, "SET",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ RPCBPROC_UNSET, "UNSET",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ RPCBPROC_GETADDR, "GETADDR",
dissect_rpcb3_getaddr_call, dissect_rpcb3_getaddr_reply},
{ RPCBPROC_DUMP, "DUMP",
- NULL, dissect_rpcb3_dump_reply },
+ dissect_rpc_void, dissect_rpcb3_dump_reply },
{ RPCBPROC_CALLIT, "CALLIT",
dissect_callit_call, dissect_rpcb_rmtcallres },
{ RPCBPROC_GETTIME, "GETTIME",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ RPCBPROC_UADDR2TADDR, "UADDR2TADDR",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ RPCBPROC_TADDR2UADDR, "TADDR2UADDR",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ 0, NULL, NULL, NULL }
};
static const value_string portmap3_proc_vals[] = {
@@ -510,31 +509,31 @@ static const value_string portmap3_proc_vals[] = {
/* Portmapper version 4, RFC 1833, Page 8 */
static const vsff portmap4_proc[] = {
{ RPCBPROC_NULL, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ RPCBPROC_SET, "SET",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ RPCBPROC_UNSET, "UNSET",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ RPCBPROC_GETADDR, "GETADDR",
dissect_rpcb3_getaddr_call, dissect_rpcb3_getaddr_reply},
{ RPCBPROC_DUMP, "DUMP",
- NULL, dissect_rpcb3_dump_reply },
+ dissect_rpc_void, dissect_rpcb3_dump_reply },
{ RPCBPROC_BCAST, "BCAST",
dissect_callit_call, dissect_rpcb_rmtcallres },
{ RPCBPROC_GETTIME, "GETTIME",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ RPCBPROC_UADDR2TADDR, "UADDR2TADDR",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ RPCBPROC_TADDR2UADDR, "TADDR2UADDR",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ RPCBPROC_GETVERSADDR, "GETVERSADDR",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ RPCBPROC_INDIRECT, "INDIRECT",
dissect_callit_call, dissect_rpcb_rmtcallres },
{ RPCBPROC_GETADDRLIST, "GETADDRLIST",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ RPCBPROC_GETSTAT, "GETSTAT",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ 0, NULL, NULL, NULL }
};
static const value_string portmap4_proc_vals[] = {
diff --git a/epan/dissectors/packet-rpc.c b/epan/dissectors/packet-rpc.c
index 5d18e23230..59dfd25d3a 100644
--- a/epan/dissectors/packet-rpc.c
+++ b/epan/dissectors/packet-rpc.c
@@ -247,6 +247,7 @@ static int hf_rpc_fragment_too_long_fragment = -1;
static int hf_rpc_fragment_error = -1;
static int hf_rpc_fragment_count = -1;
static int hf_rpc_reassembled_length = -1;
+static int hf_rpc_unknown_body = -1;
/* Generated from convert_proto_tree_add_text.pl */
static int hf_rpc_opaque_data = -1;
@@ -489,18 +490,29 @@ rpc_init_proc_table(int proto, guint prog, guint vers, const vsff *proc_table,
key.vers = vers;
key.proc = proc->value;
- if (proc->dissect_call != NULL)
- {
- dissector_add_custom_table_handle("rpc.call", g_memdup(&key, sizeof(rpc_proc_info_key)),
- new_create_dissector_handle_with_name(proc->dissect_call, proto, proc->strptr));
+ if (proc->dissect_call == NULL) {
+ fprintf(stderr, "OOPS: No call handler for %s version %u procedure %s\n",
+ proto_get_protocol_long_name(rpc_prog->proto),
+ vers,
+ proc->strptr);
+ if (getenv("WIRESHARK_ABORT_ON_DISSECTOR_BUG") != NULL)
+ abort();
+ continue;
}
-
- if (proc->dissect_reply != NULL)
- {
- dissector_add_custom_table_handle("rpc.reply", g_memdup(&key, sizeof(rpc_proc_info_key)),
- new_create_dissector_handle_with_name(proc->dissect_reply, proto, proc->strptr));
+ dissector_add_custom_table_handle("rpc.call", g_memdup(&key, sizeof(rpc_proc_info_key)),
+ new_create_dissector_handle_with_name(proc->dissect_call, proto, proc->strptr));
+
+ if (proc->dissect_reply == NULL) {
+ fprintf(stderr, "OOPS: No call handler for %s version %u procedure %s\n",
+ proto_get_protocol_long_name(rpc_prog->proto),
+ vers,
+ proc->strptr);
+ if (getenv("WIRESHARK_ABORT_ON_DISSECTOR_BUG") != NULL)
+ abort();
+ continue;
}
-
+ dissector_add_custom_table_handle("rpc.reply", g_memdup(&key, sizeof(rpc_proc_info_key)),
+ new_create_dissector_handle_with_name(proc->dissect_reply, proto, proc->strptr));
}
}
@@ -1926,7 +1938,7 @@ make_fake_rpc_prog_if_needed (guint32 prpc_prog_key, guint prog_ver)
int proto_rpc_unknown_program;
char *NAME, *Name, *name;
static const vsff unknown_proc[] = {
- { 0,"NULL",NULL,NULL },
+ { 0,"NULL",dissect_rpc_void,dissect_rpc_void },
{ 0,NULL,NULL,NULL }
};
@@ -1941,6 +1953,21 @@ make_fake_rpc_prog_if_needed (guint32 prpc_prog_key, guint prog_ver)
}
}
+int
+dissect_rpc_void(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_)
+{
+ return 0;
+}
+
+int
+dissect_rpc_unknown(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_)
+{
+ guint captured_length = tvb_captured_length(tvb);
+
+ proto_tree_add_item(tree, hf_rpc_unknown_body, tvb, 0, captured_length, ENC_NA);
+ return captured_length;
+}
+
static gboolean
dissect_rpc_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
tvbuff_t *frag_tvb, fragment_head *ipfd_head, gboolean is_tcp,
@@ -4045,6 +4072,9 @@ proto_register_rpc(void)
{ "Reassembled RPC length", "rpc.reassembled.length", FT_UINT32, BASE_DEC, NULL, 0x0,
"The total length of the reassembled payload", HFILL }},
+ { &hf_rpc_unknown_body,
+ { "Unknown RPC call/reply body", "rpc.unknown_body", FT_NONE, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }},
};
static gint *ett[] = {
&ett_rpc,
diff --git a/epan/dissectors/packet-rpc.h b/epan/dissectors/packet-rpc.h
index 7c42a3bed7..ac856ec46e 100644
--- a/epan/dissectors/packet-rpc.h
+++ b/epan/dissectors/packet-rpc.h
@@ -149,6 +149,10 @@ WS_DLL_PUBLIC const char *rpc_proc_name(guint32 prog, guint32 vers, guint32 proc
WS_DLL_PUBLIC int rpc_prog_hf(guint32 prog, guint32 vers);
WS_DLL_PUBLIC unsigned int rpc_roundup(unsigned int a);
+WS_DLL_PUBLIC int dissect_rpc_void(tvbuff_t *tvb,
+ packet_info *pinfo, proto_tree *tree, void *data);
+WS_DLL_PUBLIC int dissect_rpc_unknown(tvbuff_t *tvb,
+ packet_info *pinfo, proto_tree *tree, void *data);
WS_DLL_PUBLIC int dissect_rpc_bool(tvbuff_t *tvb,
proto_tree *tree, int hfindex, int offset);
WS_DLL_PUBLIC int dissect_rpc_string(tvbuff_t *tvb,
diff --git a/epan/dissectors/packet-rquota.c b/epan/dissectors/packet-rquota.c
index 03302753d8..9568f0d660 100644
--- a/epan/dissectors/packet-rquota.c
+++ b/epan/dissectors/packet-rquota.c
@@ -144,10 +144,9 @@ dissect_getquota_call(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, v
}
/* proc number, "proc name", dissect_request, dissect_reply */
-/* NULL as function pointer means: type of arguments is "void". */
static const vsff rquota1_proc[] = {
{ RQUOTAPROC_NULL, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ RQUOTAPROC_GETQUOTA, "GETQUOTA",
dissect_getquota_call, dissect_getquota_result },
{ RQUOTAPROC_GETACTIVEQUOTA, "GETACTIVEQUOTA",
@@ -186,7 +185,7 @@ dissect_getquota2_call(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree,
static const vsff rquota2_proc[] = {
{ RQUOTAPROC_NULL, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ RQUOTAPROC_GETQUOTA, "GETQUOTA",
dissect_getquota2_call, dissect_getquota_result },
{ RQUOTAPROC_GETACTIVEQUOTA, "GETACTIVEQUOTA",
diff --git a/epan/dissectors/packet-rstat.c b/epan/dissectors/packet-rstat.c
index ab719a01cd..4b73d5887d 100644
--- a/epan/dissectors/packet-rstat.c
+++ b/epan/dissectors/packet-rstat.c
@@ -44,14 +44,13 @@ static gint ett_rstat = -1;
#define RSTATPROC_HAVEDISK 2
/* proc number, "proc name", dissect_request, dissect_reply */
-/* NULL as function pointer means: type of arguments is "void". */
static const vsff rstat1_proc[] = {
{ RSTATPROC_NULL, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ RSTATPROC_STATS, "STATS",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ RSTATPROC_HAVEDISK, "HAVEDISK",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ 0, NULL, NULL, NULL }
};
static const value_string rstat1_proc_vals[] = {
@@ -63,11 +62,11 @@ static const value_string rstat1_proc_vals[] = {
static const vsff rstat2_proc[] = {
{ RSTATPROC_NULL, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ RSTATPROC_STATS, "STATS",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ RSTATPROC_HAVEDISK, "HAVEDISK",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ 0, NULL, NULL, NULL }
};
static const value_string rstat2_proc_vals[] = {
@@ -79,11 +78,11 @@ static const value_string rstat2_proc_vals[] = {
static const vsff rstat3_proc[] = {
{ RSTATPROC_NULL, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ RSTATPROC_STATS, "STATS",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ RSTATPROC_HAVEDISK, "HAVEDISK",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ 0, NULL, NULL, NULL }
};
static const value_string rstat3_proc_vals[] = {
@@ -95,11 +94,11 @@ static const value_string rstat3_proc_vals[] = {
static const vsff rstat4_proc[] = {
{ RSTATPROC_NULL, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ RSTATPROC_STATS, "STATS",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ RSTATPROC_HAVEDISK, "HAVEDISK",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ 0, NULL, NULL, NULL }
};
static const value_string rstat4_proc_vals[] = {
diff --git a/epan/dissectors/packet-rwall.c b/epan/dissectors/packet-rwall.c
index 575cac1655..dbef096980 100644
--- a/epan/dissectors/packet-rwall.c
+++ b/epan/dissectors/packet-rwall.c
@@ -55,7 +55,7 @@ dissect_rwall_call(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void
}
static const vsff rwall1_proc[] = {
- { RWALL_WALL, "RWALL", dissect_rwall_call, NULL },
+ { RWALL_WALL, "RWALL", dissect_rwall_call, dissect_rpc_void },
{ 0, NULL, NULL, NULL }
};
diff --git a/epan/dissectors/packet-sadmind.c b/epan/dissectors/packet-sadmind.c
index 7f9233971d..611038e6a7 100644
--- a/epan/dissectors/packet-sadmind.c
+++ b/epan/dissectors/packet-sadmind.c
@@ -41,10 +41,9 @@ static gint ett_sadmind = -1;
#define SADMINDPROC_NULL 0
/* proc number, "proc name", dissect_request, dissect_reply */
-/* NULL as function pointer means: type of arguments is "void". */
static const vsff sadmind1_proc[] = {
{ SADMINDPROC_NULL, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ 0, NULL, NULL, NULL }
};
static const value_string sadmind1_proc_vals[] = {
@@ -54,7 +53,7 @@ static const value_string sadmind1_proc_vals[] = {
static const vsff sadmind2_proc[] = {
{ SADMINDPROC_NULL, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ 0, NULL, NULL, NULL }
};
static const value_string sadmind2_proc_vals[] = {
@@ -64,7 +63,7 @@ static const value_string sadmind2_proc_vals[] = {
static const vsff sadmind3_proc[] = {
{ SADMINDPROC_NULL, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ 0, NULL, NULL, NULL }
};
static const value_string sadmind3_proc_vals[] = {
diff --git a/epan/dissectors/packet-spray.c b/epan/dissectors/packet-spray.c
index 0709f14e5a..2923256e0c 100644
--- a/epan/dissectors/packet-spray.c
+++ b/epan/dissectors/packet-spray.c
@@ -71,16 +71,15 @@ dissect_spray_call(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, void
}
/* proc number, "proc name", dissect_request, dissect_reply */
-/* NULL as function pointer means: type of arguments is "void". */
static const vsff spray1_proc[] = {
{ SPRAYPROC_NULL, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ SPRAYPROC_SPRAY, "SPRAY",
- dissect_spray_call, NULL },
+ dissect_spray_call, dissect_rpc_void },
{ SPRAYPROC_GET, "GET",
- NULL, dissect_get_reply },
+ dissect_rpc_void, dissect_get_reply },
{ SPRAYPROC_CLEAR, "CLEAR",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ 0, NULL, NULL, NULL }
};
static const value_string spray1_proc_vals[] = {
diff --git a/epan/dissectors/packet-stat-notify.c b/epan/dissectors/packet-stat-notify.c
index 898b023c1e..856b22afd2 100644
--- a/epan/dissectors/packet-stat-notify.c
+++ b/epan/dissectors/packet-stat-notify.c
@@ -54,12 +54,12 @@ dissect_statnotify_mon(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree,
}
/* proc number, "proc name", dissect_request, dissect_reply */
-/* NULL as function pointer means: type of arguments is "void". */
static const vsff statnotify1_proc[] = {
- { 0, "NULL", NULL, NULL },
+ { 0, "NULL",
+ dissect_rpc_void, dissect_rpc_void },
{ STATNOTIFYPROC_MON, "MON-CALLBACK",
- dissect_statnotify_mon, NULL },
+ dissect_statnotify_mon, dissect_rpc_void },
{ 0, NULL, NULL, NULL }
};
static const value_string statnotify1_proc_vals[] = {
diff --git a/epan/dissectors/packet-stat.c b/epan/dissectors/packet-stat.c
index ea1c29a98e..bfb2386e3a 100644
--- a/epan/dissectors/packet-stat.c
+++ b/epan/dissectors/packet-stat.c
@@ -283,10 +283,10 @@ dissect_stat_umon_all(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, v
}
/* proc number, "proc name", dissect_request, dissect_reply */
-/* NULL as function pointer means: type of arguments is "void". */
static const vsff stat1_proc[] = {
- { 0, "NULL", NULL, NULL },
+ { 0, "NULL",
+ dissect_rpc_void, dissect_rpc_void },
{ STATPROC_STAT, "STAT",
dissect_stat_stat, dissect_stat_stat_res },
{ STATPROC_MON, "MON",
@@ -296,9 +296,9 @@ static const vsff stat1_proc[] = {
{ STATPROC_UNMON_ALL, "UNMON_ALL",
dissect_stat_umon_all, dissect_stat_state },
{ STATPROC_SIMU_CRASH, "SIMU_CRASH",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ STATPROC_NOTIFY, "NOTIFY",
- dissect_stat_notify, NULL },
+ dissect_stat_notify, dissect_rpc_void },
{ 0, NULL, NULL, NULL }
};
/* end of stat version 1 */
diff --git a/epan/dissectors/packet-teklink.c b/epan/dissectors/packet-teklink.c
index 79767150b5..fdf141404c 100644
--- a/epan/dissectors/packet-teklink.c
+++ b/epan/dissectors/packet-teklink.c
@@ -411,19 +411,19 @@ static int dissect_teklink_vtl_zmode(tvbuff_t *tvb, packet_info *pinfo _U_,
static const vsff teklink_proc[] = {
{ 1, "TLAFrameOpen", dissect_teklink_tlaframeopen_call, dissect_teklink_tlaframeopen_reply },
{ 2, "TLAFrameClose", dissect_teklink_tlaframeclose_call, dissect_teklink_tlaframeclose_reply },
- { 3, "GetSoftwareVersion", NULL, dissect_teklink_get_software_version_reply },
+ { 3, "GetSoftwareVersion", dissect_rpc_void, dissect_teklink_get_software_version_reply },
{ 4, "GetInfo", dissect_teklink_info_call, dissect_teklink_info_reply },
- { 5, "VtcIdent", NULL, dissect_teklink_vtc_ident },
- { 7, "VtcOutEn", dissect_teklink_vtc_outen, NULL },
- { 8, "VtcMap", dissect_teklink_vtc_map, NULL },
- { 9, "VtcOutSetup", dissect_teklink_vtc_outsetup, NULL },
- { 10, "VtcClk", dissect_teklink_vtc_clk, NULL },
- { 11, "VtcMode", dissect_teklink_vtc_mode, NULL },
- { 12, "VtcRes", dissect_teklink_vtc_res, NULL },
- { 13, "VtcHardRes", NULL, NULL },
- { 14, "VtcSigStatAll", NULL, dissect_teklink_vtc_sigstatall },
- { 20, "VtlZMode", NULL, dissect_teklink_vtl_zmode },
- { 21, "VtlSpinBits", NULL, dissect_teklink_vtl_spinbits },
+ { 5, "VtcIdent", dissect_rpc_void, dissect_teklink_vtc_ident },
+ { 7, "VtcOutEn", dissect_teklink_vtc_outen, dissect_rpc_void },
+ { 8, "VtcMap", dissect_teklink_vtc_map, dissect_rpc_void },
+ { 9, "VtcOutSetup", dissect_teklink_vtc_outsetup, dissect_rpc_void },
+ { 10, "VtcClk", dissect_teklink_vtc_clk, dissect_rpc_void },
+ { 11, "VtcMode", dissect_teklink_vtc_mode, dissect_rpc_void },
+ { 12, "VtcRes", dissect_teklink_vtc_res, dissect_rpc_void },
+ { 13, "VtcHardRes", dissect_rpc_void, dissect_rpc_void },
+ { 14, "VtcSigStatAll", dissect_rpc_void, dissect_teklink_vtc_sigstatall },
+ { 20, "VtlZMode", dissect_rpc_void, dissect_teklink_vtl_zmode },
+ { 21, "VtlSpinBits", dissect_rpc_void, dissect_teklink_vtl_spinbits },
{ 65, "Unknown (65)", dissect_teklink_call65_call, dissect_teklink_call65_reply },
{ 0, NULL, NULL, NULL }
};
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 }
};
diff --git a/epan/dissectors/packet-ypbind.c b/epan/dissectors/packet-ypbind.c
index 9b970ef1d8..73b95a08f7 100644
--- a/epan/dissectors/packet-ypbind.c
+++ b/epan/dissectors/packet-ypbind.c
@@ -132,11 +132,11 @@ dissect_ypbind_setdomain_v2_request(tvbuff_t *tvb, packet_info *pinfo _U_, proto
/* proc number, "proc name", dissect_request, dissect_reply */
-/* NULL as function pointer means: type of arguments is "void". */
static const vsff ypbind1_proc[] = {
- { YPBINDPROC_NULL, "NULL", NULL, NULL },
- { YPBINDPROC_DOMAIN, "DOMAIN", NULL, NULL },
- { YPBINDPROC_SETDOM, "SETDOMAIN", NULL, NULL },
+ { YPBINDPROC_NULL, "NULL",
+ dissect_rpc_void, dissect_rpc_void },
+ { YPBINDPROC_DOMAIN, "DOMAIN", dissect_rpc_unknown, dissect_rpc_unknown },
+ { YPBINDPROC_SETDOM, "SETDOMAIN", dissect_rpc_unknown, dissect_rpc_unknown },
{ 0, NULL, NULL, NULL }
};
static const value_string ypbind1_proc_vals[] = {
@@ -148,11 +148,12 @@ static const value_string ypbind1_proc_vals[] = {
/* end of YPBind version 1 */
static const vsff ypbind2_proc[] = {
- { YPBINDPROC_NULL, "NULL", NULL, NULL },
+ { YPBINDPROC_NULL, "NULL",
+ dissect_rpc_void, dissect_rpc_void },
{ YPBINDPROC_DOMAIN, "DOMAIN",
dissect_ypbind_domain_v2_request, dissect_ypbind_domain_v2_reply},
{ YPBINDPROC_SETDOM, "SETDOMAIN",
- dissect_ypbind_setdomain_v2_request, NULL},
+ dissect_ypbind_setdomain_v2_request, dissect_rpc_void },
{ 0, NULL, NULL, NULL }
};
static const value_string ypbind2_proc_vals[] = {
diff --git a/epan/dissectors/packet-yppasswd.c b/epan/dissectors/packet-yppasswd.c
index 2cd90eec92..241d9afd6c 100644
--- a/epan/dissectors/packet-yppasswd.c
+++ b/epan/dissectors/packet-yppasswd.c
@@ -84,10 +84,9 @@ dissect_yppasswd_reply(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree,
}
/* proc number, "proc name", dissect_request, dissect_reply */
-/* NULL as function pointer means: type of arguments is "void". */
static const vsff yppasswd1_proc[] = {
{ YPPASSWDPROC_NULL, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ YPPASSWDPROC_UPDATE, "UPDATE",
dissect_yppasswd_call, dissect_yppasswd_reply },
{ 0, NULL, NULL, NULL }
diff --git a/epan/dissectors/packet-ypserv.c b/epan/dissectors/packet-ypserv.c
index 8bbb7b573a..fe20621dfe 100644
--- a/epan/dissectors/packet-ypserv.c
+++ b/epan/dissectors/packet-ypserv.c
@@ -476,35 +476,34 @@ dissect_maplist_reply(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void*
/* proc number, "proc name", dissect_request, dissect_reply */
-/* NULL as function pointer means: type of arguments is "void". */
/* someone please get me a version 1 trace */
static const vsff ypserv1_proc[] = {
{ 0, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ YPPROC_DOMAIN, "DOMAIN",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ YPPROC_DOMAIN_NONACK, "DOMAIN_NONACK",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ YPPROC_MATCH, "MATCH",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ YPPROC_FIRST, "FIRST",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ YPPROC_NEXT, "NEXT",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ YPPROC_XFR, "XFR",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ YPPROC_CLEAR, "CLEAR",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ YPPROC_ALL, "ALL",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ YPPROC_MASTER, "MASTER",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ YPPROC_ORDER, "ORDER",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ YPPROC_MAPLIST, "MAPLIST",
- NULL, NULL },
+ dissect_rpc_unknown, dissect_rpc_unknown },
{ 0, NULL, NULL, NULL }
};
@@ -526,11 +525,10 @@ static const value_string ypserv1_proc_vals[] = {
/* end of YPServ version 1 */
/* proc number, "proc name", dissect_request, dissect_reply */
-/* NULL as function pointer means: type of arguments is "void". */
static const vsff ypserv2_proc[] = {
{ 0, "NULL",
- NULL, NULL },
+ dissect_rpc_void, dissect_rpc_void },
{ YPPROC_DOMAIN, "DOMAIN",
dissect_domain_call, dissect_domain_reply },
{ YPPROC_DOMAIN_NONACK, "DOMAIN_NONACK",
diff --git a/epan/dissectors/packet-ypxfr.c b/epan/dissectors/packet-ypxfr.c
index 19a71966aa..f359a647da 100644
--- a/epan/dissectors/packet-ypxfr.c
+++ b/epan/dissectors/packet-ypxfr.c
@@ -36,10 +36,10 @@ static int hf_ypxfr_procedure_v1 = -1;
static gint ett_ypxfr = -1;
/* proc number, "proc name", dissect_request, dissect_reply */
-/* NULL as function pointer means: type of arguments is "void". */
static const vsff ypxfr1_proc[] = {
- { YPXFRPROC_NULL, "NULL", NULL, NULL },
- { YPXFRPROC_GETMAP, "GETMAP", NULL, NULL },
+ { YPXFRPROC_NULL, "NULL",
+ dissect_rpc_void, dissect_rpc_void },
+ { YPXFRPROC_GETMAP, "GETMAP", dissect_rpc_unknown, dissect_rpc_unknown },
{ 0, NULL, NULL, NULL }
};
static const value_string ypxfr1_proc_vals[] = {