From 585658461210f5ed9c90d3ee4b13c2a919437ec3 Mon Sep 17 00:00:00 2001 From: Guy Harris Date: Wed, 15 May 2002 07:21:41 +0000 Subject: [PATCH] Check in stub dissectors for Sun's NFS ACL, remote statistics, and Solstice administration daemon RPC services. svn path=/trunk/; revision=5474 --- Makefile.am | 5 +- Makefile.nmake | 5 +- packet-nfsacl.c | 96 +++++++++++++++++++++++++++++++++++++ packet-rstat.c | 120 +++++++++++++++++++++++++++++++++++++++++++++++ packet-sadmind.c | 95 +++++++++++++++++++++++++++++++++++++ 5 files changed, 319 insertions(+), 2 deletions(-) create mode 100644 packet-nfsacl.c create mode 100644 packet-rstat.c create mode 100644 packet-sadmind.c diff --git a/Makefile.am b/Makefile.am index 245b06e926..9fa8ad2951 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,7 @@ # Makefile.am # Automake file for Ethereal # -# $Id: Makefile.am,v 1.429 2002/05/10 23:20:37 guy Exp $ +# $Id: Makefile.am,v 1.430 2002/05/15 07:21:41 guy Exp $ # # Ethereal - Network traffic analyzer # By Gerald Combs @@ -207,6 +207,7 @@ DISSECTOR_SRC = \ packet-ndmp.c \ packet-netbios.c \ packet-nfs.c \ + packet-nfsacl.c \ packet-nisplus.c \ packet-nlm.c \ packet-nntp.c \ @@ -241,12 +242,14 @@ DISSECTOR_SRC = \ packet-rpc.c \ packet-rquota.c \ packet-rsh.c \ + packet-rstat.c \ packet-rsvp.c \ packet-rtcp.c \ packet-rtp.c \ packet-rtsp.c \ packet-rwall.c \ packet-rx.c \ + packet-sadmind.c \ packet-sap.c \ packet-sccp.c \ packet-scsi.c \ diff --git a/Makefile.nmake b/Makefile.nmake index 47ab19b91f..3ba88a5dc4 100644 --- a/Makefile.nmake +++ b/Makefile.nmake @@ -1,7 +1,7 @@ ## Makefile for building ethereal.exe with Microsoft C and nmake ## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake # -# $Id: Makefile.nmake,v 1.184 2002/05/09 23:50:24 gram Exp $ +# $Id: Makefile.nmake,v 1.185 2002/05/15 07:21:41 guy Exp $ include config.nmake include @@ -158,6 +158,7 @@ DISSECTOR_SRC = \ packet-ndmp.c \ packet-netbios.c \ packet-nfs.c \ + packet-nfsacl.c \ packet-nisplus.c \ packet-nlm.c \ packet-nntp.c \ @@ -192,12 +193,14 @@ DISSECTOR_SRC = \ packet-rpc.c \ packet-rquota.c \ packet-rsh.c \ + packet-rstat.c \ packet-rsvp.c \ packet-rtcp.c \ packet-rtp.c \ packet-rtsp.c \ packet-rwall.c \ packet-rx.c \ + packet-sadmind.c \ packet-sap.c \ packet-sccp.c \ packet-scsi.c \ diff --git a/packet-nfsacl.c b/packet-nfsacl.c new file mode 100644 index 0000000000..85d1f69806 --- /dev/null +++ b/packet-nfsacl.c @@ -0,0 +1,96 @@ +/* packet-nfsacl.c + * Stubs for Sun's NFS ACL RPC service (runs on port 2049, and is presumably + * handled by the same kernel server code that handles NFS) + * + * Guy Harris + * + * $Id: packet-nfsacl.c,v 1.1 2002/05/15 07:21:41 guy Exp $ + * + * Ethereal - Network traffic analyzer + * By Gerald Combs + * Copyright 1998 Gerald Combs + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + + +#ifdef HAVE_SYS_TYPES_H +#include +#endif + + +#include "packet-rpc.h" + +static int proto_nfsacl = -1; + +static gint ett_nfsacl = -1; + +#define NFSACL_PROGRAM 100227 + +#define NFSACLPROC_NULL 0 + +/* 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 }, + { 0, NULL, NULL, NULL } +}; + +static const vsff nfsacl2_proc[] = { + { NFSACLPROC_NULL, "NULL", + NULL, NULL }, + { 0, NULL, NULL, NULL } +}; + +static const vsff nfsacl3_proc[] = { + { NFSACLPROC_NULL, "NULL", + NULL, NULL }, + { 0, NULL, NULL, NULL } +}; + +void +proto_register_nfsacl(void) +{ +#if 0 + static hf_register_info hf[] = { + }; +#endif + + static gint *ett[] = { + &ett_nfsacl, + }; + + proto_nfsacl = proto_register_protocol("NFSACL", "NFSACL", "nfsacl"); +#if 0 + proto_register_field_array(proto_nfsacl, hf, array_length(hf)); +#endif + proto_register_subtree_array(ett, array_length(ett)); +} + +void +proto_reg_handoff_nfsacl(void) +{ + /* Register the protocol as RPC */ + rpc_init_prog(proto_nfsacl, NFSACL_PROGRAM, ett_nfsacl); + /* Register the procedure tables */ + rpc_init_proc_table(NFSACL_PROGRAM, 1, nfsacl1_proc); + rpc_init_proc_table(NFSACL_PROGRAM, 2, nfsacl2_proc); + rpc_init_proc_table(NFSACL_PROGRAM, 3, nfsacl3_proc); +} diff --git a/packet-rstat.c b/packet-rstat.c new file mode 100644 index 0000000000..29d733df2a --- /dev/null +++ b/packet-rstat.c @@ -0,0 +1,120 @@ +/* packet-rstat.c + * Stubs for Sun's remote statistics RPC service + * + * Guy Harris + * + * $Id: packet-rstat.c,v 1.1 2002/05/15 07:21:41 guy Exp $ + * + * Ethereal - Network traffic analyzer + * By Gerald Combs + * Copyright 1998 Gerald Combs + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + + +#ifdef HAVE_SYS_TYPES_H +#include +#endif + + +#include "packet-rpc.h" + +static int proto_rstat = -1; + +static gint ett_rstat = -1; + +#define RSTAT_PROGRAM 100001 + +#define RSTATPROC_NULL 0 +#define RSTATPROC_STATS 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 }, + { RSTATPROC_STATS, "STATS", + NULL, NULL }, + { RSTATPROC_HAVEDISK, "HAVEDISK", + NULL, NULL }, + { 0, NULL, NULL, NULL } +}; + +static const vsff rstat2_proc[] = { + { RSTATPROC_NULL, "NULL", + NULL, NULL }, + { RSTATPROC_STATS, "STATS", + NULL, NULL }, + { RSTATPROC_HAVEDISK, "HAVEDISK", + NULL, NULL }, + { 0, NULL, NULL, NULL } +}; + +static const vsff rstat3_proc[] = { + { RSTATPROC_NULL, "NULL", + NULL, NULL }, + { RSTATPROC_STATS, "STATS", + NULL, NULL }, + { RSTATPROC_HAVEDISK, "HAVEDISK", + NULL, NULL }, + { 0, NULL, NULL, NULL } +}; + +static const vsff rstat4_proc[] = { + { RSTATPROC_NULL, "NULL", + NULL, NULL }, + { RSTATPROC_STATS, "STATS", + NULL, NULL }, + { RSTATPROC_HAVEDISK, "HAVEDISK", + NULL, NULL }, + { 0, NULL, NULL, NULL } +}; + +void +proto_register_rstat(void) +{ +#if 0 + static hf_register_info hf[] = { + }; +#endif + + static gint *ett[] = { + &ett_rstat, + }; + + proto_rstat = proto_register_protocol("RSTAT", "RSTAT", "rstat"); +#if 0 + proto_register_field_array(proto_rstat, hf, array_length(hf)); +#endif + proto_register_subtree_array(ett, array_length(ett)); +} + +void +proto_reg_handoff_rstat(void) +{ + /* Register the protocol as RPC */ + rpc_init_prog(proto_rstat, RSTAT_PROGRAM, ett_rstat); + /* Register the procedure tables */ + rpc_init_proc_table(RSTAT_PROGRAM, 1, rstat1_proc); + rpc_init_proc_table(RSTAT_PROGRAM, 2, rstat2_proc); + rpc_init_proc_table(RSTAT_PROGRAM, 3, rstat3_proc); + rpc_init_proc_table(RSTAT_PROGRAM, 4, rstat3_proc); +} diff --git a/packet-sadmind.c b/packet-sadmind.c new file mode 100644 index 0000000000..7ec7a7dcbb --- /dev/null +++ b/packet-sadmind.c @@ -0,0 +1,95 @@ +/* packet-sadmind.c + * Stubs for the Solstice admin daemon RPC service + * + * Guy Harris + * + * $Id: packet-sadmind.c,v 1.1 2002/05/15 07:21:41 guy Exp $ + * + * Ethereal - Network traffic analyzer + * By Gerald Combs + * Copyright 1998 Gerald Combs + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + + +#ifdef HAVE_SYS_TYPES_H +#include +#endif + + +#include "packet-rpc.h" + +static int proto_sadmind = -1; + +static gint ett_sadmind = -1; + +#define SADMIND_PROGRAM 100232 + +#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 }, + { 0, NULL, NULL, NULL } +}; + +static const vsff sadmind2_proc[] = { + { SADMINDPROC_NULL, "NULL", + NULL, NULL }, + { 0, NULL, NULL, NULL } +}; + +static const vsff sadmind3_proc[] = { + { SADMINDPROC_NULL, "NULL", + NULL, NULL }, + { 0, NULL, NULL, NULL } +}; + +void +proto_register_sadmind(void) +{ +#if 0 + static hf_register_info hf[] = { + }; +#endif + + static gint *ett[] = { + &ett_sadmind, + }; + + proto_sadmind = proto_register_protocol("SADMIND", "SADMIND", "sadmind"); +#if 0 + proto_register_field_array(proto_sadmind, hf, array_length(hf)); +#endif + proto_register_subtree_array(ett, array_length(ett)); +} + +void +proto_reg_handoff_sadmind(void) +{ + /* Register the protocol as RPC */ + rpc_init_prog(proto_sadmind, SADMIND_PROGRAM, ett_sadmind); + /* Register the procedure tables */ + rpc_init_proc_table(SADMIND_PROGRAM, 1, sadmind1_proc); + rpc_init_proc_table(SADMIND_PROGRAM, 2, sadmind2_proc); + rpc_init_proc_table(SADMIND_PROGRAM, 3, sadmind3_proc); +}