diff options
-rw-r--r-- | AUTHORS | 1 | ||||
-rw-r--r-- | Makefile.am | 3 | ||||
-rw-r--r-- | Makefile.nmake | 3 | ||||
-rw-r--r-- | packet-dcerpc-nspi.c | 87 |
4 files changed, 92 insertions, 2 deletions
@@ -648,6 +648,7 @@ Charles Levert <charles[AT]comm.polymtl.ca> { Todd Sabin <tas[AT]webspan.net> { DCE RPC support Cleaned up "get_column_format_matches()" + Skeleton NSPI dissector } Eduardo Pérez Ureta <eperez[AT]dei.inf.uc3m.es> { diff --git a/Makefile.am b/Makefile.am index d96fdbd0d4..eb5b213b19 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,7 @@ # Makefile.am # Automake file for Ethereal # -# $Id: Makefile.am,v 1.433 2002/05/23 23:37:48 guy Exp $ +# $Id: Makefile.am,v 1.434 2002/05/23 23:45:22 guy Exp $ # # Ethereal - Network traffic analyzer # By Gerald Combs <gerald@ethereal.com> @@ -109,6 +109,7 @@ DISSECTOR_SRC = \ packet-dcerpc-mgmt.c \ packet-dcerpc-ndr.c \ packet-dcerpc-netlogon.c \ + packet-dcerpc-nspi.c \ packet-dcerpc-nt.c \ packet-dcerpc-oxid.c \ packet-dcerpc-reg.c \ diff --git a/Makefile.nmake b/Makefile.nmake index ea68403bc3..ce5618adf2 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.188 2002/05/23 23:37:49 guy Exp $ +# $Id: Makefile.nmake,v 1.189 2002/05/23 23:45:22 guy Exp $ include config.nmake include <win32.mak> @@ -60,6 +60,7 @@ DISSECTOR_SRC = \ packet-dcerpc-mgmt.c \ packet-dcerpc-ndr.c \ packet-dcerpc-netlogon.c \ + packet-dcerpc-nspi.c \ packet-dcerpc-nt.c \ packet-dcerpc-oxid.c \ packet-dcerpc-reg.c \ diff --git a/packet-dcerpc-nspi.c b/packet-dcerpc-nspi.c new file mode 100644 index 0000000000..45f7617ffd --- /dev/null +++ b/packet-dcerpc-nspi.c @@ -0,0 +1,87 @@ +/* packet-dcerpc-nspi.c + * Routines for dcerpc nspi dissection + * Copyright 2001, Todd Sabin <tsabin@optonline.net> + * + * $Id: packet-dcerpc-nspi.c,v 1.1 2002/05/23 23:45:22 guy Exp $ + * + * Ethereal - Network traffic analyzer + * By Gerald Combs <gerald@ethereal.com> + * 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 <sys/types.h> +#endif + +#include <string.h> + +#include <glib.h> +#include <epan/packet.h> +#include "packet-dcerpc.h" + +static int proto_nspi = -1; + +static gint ett_nspi = -1; + +static e_uuid_t uuid_nspi = { 0xf5cc5a18, 0x4264, 0x101a, { 0x8c, 0x59, 0x08, 0x00, 0x2b, 0x2f, 0x84, 0x26 } }; +static guint16 ver_nspi = 56; + +static dcerpc_sub_dissector nspi_dissectors[] = { + { 0, "NspiBind", NULL, NULL }, + { 1, "NspiUnbind", NULL, NULL }, + { 2, "NspiUpdateStat", NULL, NULL }, + { 3, "NspiQueryRows", NULL, NULL }, + { 4, "NspiSeekEntries", NULL, NULL }, + { 5, "NspiGetMatches", NULL, NULL }, + { 6, "NspiResortRestriction", NULL, NULL }, + { 7, "NspiDNToEph", NULL, NULL }, + { 8, "NspiGetPropList", NULL, NULL }, + { 9, "NspiGetProps", NULL, NULL }, + { 10, "NspiCompareDNTs", NULL, NULL }, + { 11, "NspiModProps", NULL, NULL }, + { 12, "NspiGetHierarchyInfo", NULL, NULL }, + { 13, "NspiGetTemplateInfo", NULL, NULL }, + { 14, "NspiModLinkAttr", NULL, NULL }, + { 15, "NspiDeleteEntries", NULL, NULL }, + { 16, "NspiQueryColumns", NULL, NULL }, + { 17, "NspiGetNamesFromIDs", NULL, NULL }, + { 18, "NspiGetIDsFromNames", NULL, NULL }, + { 19, "NspiResolveNames", NULL, NULL }, + { 0, NULL, NULL, NULL }, +}; + + +void +proto_register_nspi (void) +{ + static gint *ett[] = { + &ett_nspi, + }; + proto_nspi = proto_register_protocol ("NSPI", "NSPI", "nspi"); + proto_register_subtree_array (ett, array_length (ett)); +} + +void +proto_reg_handoff_nspi (void) +{ + /* Register the protocol as dcerpc */ + dcerpc_init_uuid (proto_nspi, ett_nspi, &uuid_nspi, ver_nspi, nspi_dissectors); +} |