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 | |
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')
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[] = { |