diff options
author | Guy Harris <guy@alum.mit.edu> | 2005-01-20 05:06:38 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2005-01-20 05:06:38 +0000 |
commit | b8e743ada92143d984441ef493767bf4a8a78238 (patch) | |
tree | 444187b88dc8a39e66ea1a1c4fe7fbdfd252c150 | |
parent | c04a9a418006dfad34f25e644789ce44d6584b78 (diff) |
From Jean-Baptiste Marchand: stub dissectors for rras and pnp MSRPC
interfaces.
svn path=/trunk/; revision=13129
-rw-r--r-- | AUTHORS | 1 | ||||
-rw-r--r-- | epan/dissectors/Makefile.common | 4 | ||||
-rw-r--r-- | epan/dissectors/packet-dcerpc-pnp.c | 209 | ||||
-rw-r--r-- | epan/dissectors/packet-dcerpc-pnp.h | 97 | ||||
-rw-r--r-- | epan/dissectors/packet-dcerpc-rras.c | 167 | ||||
-rw-r--r-- | epan/dissectors/packet-dcerpc-rras.h | 78 |
6 files changed, 556 insertions, 0 deletions
@@ -1627,6 +1627,7 @@ Jean-Baptiste Marchand <Jean-Baptiste.Marchand [AT] hsc.fr> { MS Eventlog support WKSSVC enhancements File Replication Services (frsrpc and frsapi) support + Stub dissectors for rras and pnp MSRPC interfaces } Andreas Trauer <andreas.trauer [AT] siemens.com> { diff --git a/epan/dissectors/Makefile.common b/epan/dissectors/Makefile.common index 51fa5ab4dd..91f48a2b93 100644 --- a/epan/dissectors/Makefile.common +++ b/epan/dissectors/Makefile.common @@ -155,11 +155,13 @@ DISSECTOR_SRC = \ packet-dcerpc-netlogon.c \ packet-dcerpc-nspi.c \ packet-dcerpc-pn-io.c \ + packet-dcerpc-pnp.c \ packet-dcerpc-rdaclif.c \ packet-dcerpc-reg.c \ packet-dcerpc-rep_proc.c \ packet-dcerpc-roverride.c \ packet-dcerpc-rpriv.c \ + packet-dcerpc-rras.c \ packet-dcerpc-rs_acct.c \ packet-dcerpc-rs_attr.c \ packet-dcerpc-rs_attr_schema.c \ @@ -606,7 +608,9 @@ DISSECTOR_INCLUDES = \ packet-dcerpc-mapi.h \ packet-dcerpc-netlogon.h \ packet-dcerpc-nt.h \ + packet-dcerpc-pnp.h \ packet-dcerpc-reg.h \ + packet-dcerpc-rras.h \ packet-dcerpc-samr.h \ packet-dcerpc-spoolss.h \ packet-dcerpc-srvsvc.h \ diff --git a/epan/dissectors/packet-dcerpc-pnp.c b/epan/dissectors/packet-dcerpc-pnp.c new file mode 100644 index 0000000000..1c948298ef --- /dev/null +++ b/epan/dissectors/packet-dcerpc-pnp.c @@ -0,0 +1,209 @@ +/* packet-dcerpc-pnp.c + * Routines for the pnp (Plug and Play) MSRPC interface + * Copyright 2005 Jean-Baptiste Marchand <jbm@hsc.fr> + * + * $Id$ + * + * 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 + +#include <glib.h> +#include <epan/packet.h> +#include "packet-dcerpc.h" +#include "packet-dcerpc-pnp.h" + +static int proto_dcerpc_pnp = -1; + +static int hf_pnp_opnum = 0; + +static gint ett_dcerpc_pnp = -1; + +/* + * The pnp MSRPC interface is typically reached using the ncacn_np transport + * and the \pipe\ntsvcs named pipe as endpoint. + */ + +static e_uuid_t uuid_dcerpc_pnp = { + 0x8d9f4e40, 0xa03d, 0x11ce, + { 0x8f, 0x69, 0x08, 0x00, 0x3e, 0x30, 0x05, 0x1b } +}; + +static guint16 ver_dcerpc_pnp = 1; + + +static dcerpc_sub_dissector dcerpc_pnp_dissectors[] = { + { PNP_DISCONNECT, "PNP_Disconnect", NULL, NULL }, + { PNP_CONNECT, "PNP_Connect", NULL, NULL }, + { PNP_GET_VERSION, "PNP_GetVersion", NULL, NULL }, + { PNP_GET_GLOBAL_STATE, "PNP_GetGlobalState", NULL, NULL }, + { PNP_INIT_DETECTION, "PNP_InitDetection", NULL, NULL }, + { PNP_REPORT_LOGON, "PNP_ReportLogOn", NULL, NULL }, + { PNP_VALIDATE_DEVICE_INSTANCE, + "PNP_ValidateDeviceInstance", NULL, NULL }, + { PNP_GET_ROOT_DEVICE_INSTANCE, + "PNP_GetRootDeviceInstance", NULL, NULL }, + { PNP_GET_RELATED_DEVICE_INSTANCE, + "PNP_GetRelatedDeviceInstance", NULL, NULL }, + { PNP_ENUMERATE_SUB_KEYS, + "PNP_EnumerateSubKeys", NULL, NULL }, + { PNP_GET_DEVICE_LIST, + "PNP_GetDeviceList", NULL, NULL }, + { PNP_GET_DEVICE_LIST_SIZE, + "PNP_GetDeviceListSize", NULL, NULL }, + { PNP_GET_DEPTH, "PNP_GetDepth", NULL, NULL }, + { PNP_GET_DEVICE_REG_PROP, + "PNP_GetDeviceRegProp", NULL, NULL }, + { PNP_SET_DEVICE_REG_PROP, + "PNP_SetDeviceRegProp", NULL, NULL }, + { PNP_GET_CLASS_INSTANCE, + "PNP_GetClassInstance", NULL, NULL }, + { PNP_CREATE_KEY, "PNP_CreateKey", NULL, NULL }, + { PNP_DELETE_REGISTRY_KEY, + "PNP_DeleteRegistryKey", NULL, NULL }, + { PNP_GET_CLASS_COUNT, + "PNP_GetClassCount", NULL, NULL }, + { PNP_GET_CLASS_NAME, + "PNP_GetClassName", NULL, NULL }, + { PNP_DELETE_CLASS_KEY, + "PNP_DeleteClassKey", NULL, NULL }, + { PNP_GET_INTERFACE_DEVICE_ALIAS, + "PNP_GetInterfaceDeviceAlias", NULL, NULL }, + { PNP_GET_INTERFACE_DEVICE_LIST, + "PNP_GetInterfaceDeviceList", NULL, NULL }, + { PNP_GET_INTERFACE_DEVICE_LIST_SIZE, + "PNP_GetInterfaceDeviceListSize", NULL, NULL }, + { PNP_REGISTER_DEVICE_CLASS_ASSOCIATION, + "PNP_RegisterDeviceClassAssociation", NULL, NULL }, + { PNP_UNREGISTER_DEVICE_CLASS_ASSOCIATION, + "PNP_UnregisterDeviceClassAssociation", NULL, NULL }, + { PNP_GET_CLASS_REG_PROP, + "PNP_GetClassRegProp", NULL, NULL }, + { PNP_SET_CLASS_REG_PROP, + "PNP_SetClassRegProp", NULL, NULL }, + { PNP_CREATE_DEV_INST, "PNP_CreateDevInst", NULL, NULL }, + { PNP_DEVICE_INSTANCE_ACTION, + "PNP_DeviceInstanceAction", NULL, NULL }, + { PNP_GET_DEVICE_STATUS, + "PNP_GetDeviceStatus", NULL, NULL }, + { PNP_SET_DEVICE_PROBLEM, + "PNP_SetDeviceProblem", NULL, NULL }, + { PNP_DISABLE_DEV_INST, + "PNP_DisableDevInst", NULL, NULL }, + { PNP_UNINSTALL_DEV_INST, + "PNP_UninstallDevInst", NULL, NULL }, + { PNP_ADD_ID, "PNP_AddID", NULL, NULL }, + { PNP_REGISTER_DRIVER, + "PNP_RegisterDriver", NULL, NULL }, + { PNP_QUERY_REMOVE, + "PNP_QueryRemove", NULL, NULL }, + { PNP_REQUEST_DEVICE_EJECT, + "PNP_RequestDeviceEject", NULL, NULL }, + { PNP_IS_DOCKSTATION_PRESENT, + "PNP_IsDockStationPresent", NULL, NULL }, + { PNP_REQUEST_EJECT_PC, + "PNP_RequestEjectPC", NULL, NULL }, + { PNP_HW_PROT_FLAGS, + "PNP_HwProfFlags", NULL, NULL }, + { PNP_GET_HW_PROT_INFO, + "PNP_GetHwProfInfo", NULL, NULL }, + { PNP_ADD_EMPTY_LOG_CONF, + "PNP_AddEmptyLogConf", NULL, NULL }, + { PNP_FREE_LOG_CONF, + "PNP_FreeLogConf", NULL, NULL }, + { PNP_GET_FIRST_LOG_CONF, + "PNP_GetFirstLogConf", NULL, NULL }, + { PNP_GET_NEXT_LOG_CONF, + "PNP_GetNextLogConf", NULL, NULL }, + { PNP_GET_LOG_CONF_PRIORITY, + "PNP_GetLogConfPriority", NULL, NULL }, + { PNP_ADD_RES_DES, "PNP_AddResDes", NULL, NULL }, + { PNP_FREE_RES_DES, "PNP_FreeResDes", NULL, NULL }, + { PNP_GET_NEXT_RES_DES, "PNP_GetNextResDes", NULL, NULL }, + { PNP_GET_RES_DES_DATA, "PNP_GetResDesData", NULL, NULL }, + { PNP_GET_RES_DES_DATA_SIZE, "PNP_GetResDesDataSize", NULL, NULL }, + { PNP_MODIFY_RES_DES, "PNP_ModifyResDes", NULL, NULL }, + { PNP_DETECT_RESOURCE_CONFLICT, + "PNP_DetectResourceConflict", NULL, NULL }, + { PNP_QUERY_RES_CONFLICT, + "PNP_QueryResConfList", NULL, NULL }, + { PNP_SET_HW_PROF, + "PNP_SetHwProf", NULL, NULL }, + { PNP_QUERY_ARBITRATOR_FREE_DATA, + "PNP_QueryArbitratorFreeData", NULL, NULL }, + { PNP_QUERY_ARBITRATOR_FREE_SIZE, + "PNP_QueryArbitratorFreeSize", NULL, NULL }, + { PNP_RUN_DETECTION, + "PNP_RunDetection", NULL, NULL }, + { PNP_REGISTER_NOTIFICATION, + "PNP_RegisterNotification", NULL, NULL }, + { PNP_UNREGISTER_NOTIFICATION, + "PNP_UnregisterNotification", NULL, NULL }, + { PNP_GET_CUSTOM_DEV_PROP, + "PNP_GetCustomDevProp", NULL, NULL }, + { PNP_GET_VERSION_INTERNAL, + "PNP_GetVersionInternal", NULL, NULL }, + { PNP_GET_BLOCKED_DRIVER_INFO, + "PNP_GetBlockedDriverInfo", NULL, NULL }, + { PNP_GET_SERVER_SIDE_DEV_INSTALL_FLAGS, + "PNP_GetServerSideDeviceInstallFlags", NULL, NULL }, + { 0, NULL, NULL, NULL } +}; + + +void +proto_register_dcerpc_pnp(void) +{ + + static hf_register_info hf[] = { + + { &hf_pnp_opnum, + { "Operation", "pnp.opnum", FT_UINT16, BASE_DEC, + NULL, 0x0, "Operation", HFILL }}, + }; + + + static gint *ett[] = { + &ett_dcerpc_pnp, + }; + + + proto_dcerpc_pnp = proto_register_protocol( + "Microsoft Plug and Play service", "PNP", "pnp"); + + proto_register_field_array(proto_dcerpc_pnp, hf, array_length(hf)); + + proto_register_subtree_array(ett, array_length(ett)); + +} + + +void +proto_reg_handoff_dcerpc_pnp(void) +{ + /* register protocol as dcerpc */ + + dcerpc_init_uuid( + proto_dcerpc_pnp, ett_dcerpc_pnp, &uuid_dcerpc_pnp, + ver_dcerpc_pnp, dcerpc_pnp_dissectors, hf_pnp_opnum); +} diff --git a/epan/dissectors/packet-dcerpc-pnp.h b/epan/dissectors/packet-dcerpc-pnp.h new file mode 100644 index 0000000000..7845ed483f --- /dev/null +++ b/epan/dissectors/packet-dcerpc-pnp.h @@ -0,0 +1,97 @@ +/* packet-dcerpc-pnp.h + * Routines for the pnp (Plug and Play) MSRPC interface + * Copyright 2005 Jean-Baptiste Marchand <jbm@hsc.fr> + * + * $Id$ + * + * 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. + */ + +#ifndef __PACKET_DCERPC_PNP_H +#define __PACKET_DCERPC_PNP_H + +/* MSRPC functions available in the pnp interface */ + +#define PNP_DISCONNECT 0x00 +#define PNP_CONNECT 0x01 +#define PNP_GET_VERSION 0x02 +#define PNP_GET_GLOBAL_STATE 0x03 +#define PNP_INIT_DETECTION 0x04 +#define PNP_REPORT_LOGON 0x05 +#define PNP_VALIDATE_DEVICE_INSTANCE 0x06 +#define PNP_GET_ROOT_DEVICE_INSTANCE 0x07 +#define PNP_GET_RELATED_DEVICE_INSTANCE 0x08 +#define PNP_ENUMERATE_SUB_KEYS 0x09 +#define PNP_GET_DEVICE_LIST 0x0a +#define PNP_GET_DEVICE_LIST_SIZE 0x0b +#define PNP_GET_DEPTH 0x0c +#define PNP_GET_DEVICE_REG_PROP 0x0d +#define PNP_SET_DEVICE_REG_PROP 0x0e +#define PNP_GET_CLASS_INSTANCE 0x0f +#define PNP_CREATE_KEY 0x10 +#define PNP_DELETE_REGISTRY_KEY 0x11 +#define PNP_GET_CLASS_COUNT 0x12 +#define PNP_GET_CLASS_NAME 0x13 +#define PNP_DELETE_CLASS_KEY 0x14 +#define PNP_GET_INTERFACE_DEVICE_ALIAS 0x15 +#define PNP_GET_INTERFACE_DEVICE_LIST 0x16 +#define PNP_GET_INTERFACE_DEVICE_LIST_SIZE 0x17 +#define PNP_REGISTER_DEVICE_CLASS_ASSOCIATION 0x18 +#define PNP_UNREGISTER_DEVICE_CLASS_ASSOCIATION 0x19 +#define PNP_GET_CLASS_REG_PROP 0x1a +#define PNP_SET_CLASS_REG_PROP 0x1b +#define PNP_CREATE_DEV_INST 0x1c +#define PNP_DEVICE_INSTANCE_ACTION 0x1d +#define PNP_GET_DEVICE_STATUS 0x1e +#define PNP_SET_DEVICE_PROBLEM 0x1f +#define PNP_DISABLE_DEV_INST 0x20 +#define PNP_UNINSTALL_DEV_INST 0x21 +#define PNP_ADD_ID 0x22 +#define PNP_REGISTER_DRIVER 0x23 +#define PNP_QUERY_REMOVE 0x24 +#define PNP_REQUEST_DEVICE_EJECT 0x25 +#define PNP_IS_DOCKSTATION_PRESENT 0x26 +#define PNP_REQUEST_EJECT_PC 0x27 +#define PNP_HW_PROT_FLAGS 0x28 +#define PNP_GET_HW_PROT_INFO 0x29 +#define PNP_ADD_EMPTY_LOG_CONF 0x2a +#define PNP_FREE_LOG_CONF 0x2b +#define PNP_GET_FIRST_LOG_CONF 0x2c +#define PNP_GET_NEXT_LOG_CONF 0x2d +#define PNP_GET_LOG_CONF_PRIORITY 0x2e +#define PNP_ADD_RES_DES 0x2f +#define PNP_FREE_RES_DES 0x30 +#define PNP_GET_NEXT_RES_DES 0x31 +#define PNP_GET_RES_DES_DATA 0x32 +#define PNP_GET_RES_DES_DATA_SIZE 0x33 +#define PNP_MODIFY_RES_DES 0x34 +#define PNP_DETECT_RESOURCE_CONFLICT 0x35 +#define PNP_QUERY_RES_CONFLICT 0x36 +#define PNP_SET_HW_PROF 0x37 +#define PNP_QUERY_ARBITRATOR_FREE_DATA 0x38 +#define PNP_QUERY_ARBITRATOR_FREE_SIZE 0x39 +#define PNP_RUN_DETECTION 0x3a +#define PNP_REGISTER_NOTIFICATION 0x3b +#define PNP_UNREGISTER_NOTIFICATION 0x3c +#define PNP_GET_CUSTOM_DEV_PROP 0x3d +#define PNP_GET_VERSION_INTERNAL 0x3e +#define PNP_GET_BLOCKED_DRIVER_INFO 0x3f +#define PNP_GET_SERVER_SIDE_DEV_INSTALL_FLAGS 0x40 + +#endif /* packet-dcerpc-pnp.h */ diff --git a/epan/dissectors/packet-dcerpc-rras.c b/epan/dissectors/packet-dcerpc-rras.c new file mode 100644 index 0000000000..19db413ba2 --- /dev/null +++ b/epan/dissectors/packet-dcerpc-rras.c @@ -0,0 +1,167 @@ +/* packet-dcerpc-rras.c + * Routines for the rras (Routing and Remote Access service) MSRPC interface + * Copyright 2005 Jean-Baptiste Marchand <jbm@hsc.fr> + * + * $Id$ + * + * 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 + +#include <glib.h> +#include <epan/packet.h> +#include "packet-dcerpc.h" +#include "packet-dcerpc-rras.h" + +static int proto_dcerpc_rras = -1; + +static int hf_rras_opnum = 0; + +static gint ett_dcerpc_rras = -1; + +/* + * The rras MSRPC interface is typically reached using the ncacn_np transport + * and the \pipe\ROUTER named pipe as endpoint. + */ + +static e_uuid_t uuid_dcerpc_rras = { + 0x8f09f000, 0xb7ed, 0x11ce, + { 0xbb, 0xd2, 0x00, 0x00, 0x1a, 0x18, 0x1c, 0xad } +}; + +static guint16 ver_dcerpc_rras = 0; + + +static dcerpc_sub_dissector dcerpc_rras_dissectors[] = { + { RRAS_ADMIN_SERVER_GETINFO, + "MprAdminServerGetInfo", NULL, NULL }, + { RRAS_ADMIN_CONNECTION_ENUM, + "RasAdminConnectionEnum", NULL, NULL }, + { RRAS_ADMIN_CONNECTION_GETINFO, + "RasAdminConnectionGetInfo", NULL, NULL }, + { RRAS_ADMIN_CONNECTION_CLEARSTATS, + "RasAdminConnectionClearStats", NULL, NULL }, + { RRAS_ADMIN_PORT_ENUM, + "RasAdminPortEnum", NULL, NULL }, + { RRAS_ADMIN_PORT_GETINFO, + "RasAdminPortGetInfo", NULL, NULL }, + { RRAS_ADMIN_PORT_CLEARSTATS, + "RasAdminPortClearStats", NULL, NULL }, + { RRAS_ADMIN_PORT_RESET, + "RasAdminPortReset", NULL, NULL }, + { RRAS_ADMIN_PORT_DISCONNECT, + "RasAdminPortDisconnect", NULL, NULL }, + { RRAS_RI_TRANS_SET_GLOBALINFO, + "RouterInterfaceTransportSetGlobalInfo", NULL, NULL }, + { RRAS_RI_TRANS_GET_GLOBALINFO, + "RouterInterfaceTransportGetGlobalInfo", NULL, NULL }, + { RRAS_RI_GET_HANDLE, + "RouterInterfaceGetHandle", NULL, NULL }, + { RRAS_RI_CREATE, + "RouterInterfaceCreate", NULL, NULL }, + { RRAS_RI_GETINFO, + "RouterInterfaceGetInfo", NULL, NULL }, + { RRAS_RI_SETINFO, + "RouterInterfaceSetInfo", NULL, NULL }, + { RRAS_RI_DELETE, + "RouterInterfaceDelete", NULL, NULL }, + { RRAS_TRANS_REMOVE, + "RouterInterfaceTransportRemove", NULL, NULL }, + { RRAS_TRANS_ADD, + "RouterInterfaceTransportAdd", NULL, NULL }, + { RRAS_TRANS_GETINFO, + "RouterInterfaceTransportGetInfo", NULL, NULL }, + { RRAS_TRANS_SETINFO, + "RouterInterfaceTransportSetInfo", NULL, NULL }, + { RRAS_RI_ENUM, + "RouterInterfaceEnum", NULL, NULL }, + { RRAS_RI_CONNECT, + "RouterInterfaceConnect", NULL, NULL }, + { RRAS_RI_DISCONNECT, + "RouterInterfaceDisconnect", NULL, NULL }, + { RRAS_RI_UPDATE_ROUTES, + "RouterInterfaceUpdateRoutes", NULL, NULL }, + { RRAS_RI_QUERY_UPDATE_RESULT, + "RouterInterfaceQueryUpdateResult", NULL, NULL }, + { RRAS_RI_UPDATE_PB_INFO, + "RouterInterfaceUpdatePhonebookInfo", NULL, NULL }, + { RRAS_MIB_ENTRY_CREATE, "MIBEntryCreate", NULL, NULL }, + { RRAS_MIB_ENTRY_DELETE, "MIBEntryDelete", NULL, NULL }, + { RRAS_MIB_ENTRY_SET, "MIBEntrySet", NULL, NULL }, + { RRAS_MIB_ENTRY_GET, "MIBEntryGet", NULL, NULL }, + { RRAS_MIB_GET_FIRST, "MIBEntryGetFirst", NULL, NULL }, + { RRAS_MIB_GET_NEXT, "MIBEntryGetNext", NULL, NULL }, + { RRAS_GET_TRAP_INFO, "MIBGetTrapInfo", NULL, NULL }, + { RRAS_SET_TRAP_INFO, "MIBSetTrapInfo", NULL, NULL }, + { RRAS_ADMIN_CONNECTION_NOTIFICATION, + "RasAdminConnectionNotification", NULL, NULL }, + { RRAS_ADMIN_SEND_USER_MSG, "RasAdminSendUserMessage", NULL, NULL }, + { RRAS_ROUTER_DEVICE_ENUM, "RouterDeviceEnum", NULL, NULL }, + { RRAS_RI_TRANSPORT_CREATE, + "RouterInterfaceTransportCreate", NULL, NULL }, + { RRAS_RI_DEV_GETINFO, "RouterInterfaceDeviceGetInfo", NULL, NULL }, + { RRAS_RI_DEV_SETINFO, "RouterInterfaceDeviceSetInfo", NULL, NULL }, + { RRAS_RI_SET_CRED_EX, "RouterInterfaceSetCredentialsEx", NULL, NULL }, + { RRAS_RI_GET_CRED_EX, "RouterInterfaceGetCredentialsEx", NULL, NULL }, + { RRAS_ADMIN_CONNECTION_REM_QUARANT, + "RasAdminConnectionRemoveQuarantine", NULL, NULL }, + { 0, NULL, NULL, NULL } +}; + + +void +proto_register_dcerpc_rras(void) +{ + + static hf_register_info hf[] = { + + { &hf_rras_opnum, + { "Operation", "rras.opnum", FT_UINT16, BASE_DEC, + NULL, 0x0, "Operation", HFILL }}, + }; + + + static gint *ett[] = { + &ett_dcerpc_rras, + }; + + + proto_dcerpc_rras = proto_register_protocol( + "Microsoft Routing and Remote Access Service", "RRAS", "rras"); + + proto_register_field_array(proto_dcerpc_rras, hf, array_length(hf)); + + proto_register_subtree_array(ett, array_length(ett)); + +} + + +void +proto_reg_handoff_dcerpc_rras(void) +{ + /* register protocol as dcerpc */ + + dcerpc_init_uuid( + proto_dcerpc_rras, ett_dcerpc_rras, &uuid_dcerpc_rras, + ver_dcerpc_rras, dcerpc_rras_dissectors, hf_rras_opnum); +} diff --git a/epan/dissectors/packet-dcerpc-rras.h b/epan/dissectors/packet-dcerpc-rras.h new file mode 100644 index 0000000000..649adc2369 --- /dev/null +++ b/epan/dissectors/packet-dcerpc-rras.h @@ -0,0 +1,78 @@ +/* packet-dcerpc-rras.h + * Routines for the rras (Routing and Remote Access service) MSRPC interface + * Copyright 2005 Jean-Baptiste Marchand <jbm@hsc.fr> + * + * $Id$ + * + * 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. + */ + +#ifndef __PACKET_DCERPC_RRAS_H +#define __PACKET_DCERPC_RRAS_H + +/* MSRPC functions available in the rras interface */ + +#define RRAS_ADMIN_SERVER_GETINFO 0x00 +#define RRAS_ADMIN_CONNECTION_ENUM 0x01 +#define RRAS_ADMIN_CONNECTION_GETINFO 0x02 +#define RRAS_ADMIN_CONNECTION_CLEARSTATS 0x03 +#define RRAS_ADMIN_PORT_ENUM 0x04 +#define RRAS_ADMIN_PORT_GETINFO 0x05 +#define RRAS_ADMIN_PORT_CLEARSTATS 0x06 +#define RRAS_ADMIN_PORT_RESET 0x07 +#define RRAS_ADMIN_PORT_DISCONNECT 0x08 +#define RRAS_RI_TRANS_SET_GLOBALINFO 0x09 +#define RRAS_RI_TRANS_GET_GLOBALINFO 0x0a +#define RRAS_RI_GET_HANDLE 0x0b +#define RRAS_RI_CREATE 0x0c +#define RRAS_RI_GETINFO 0x0d +#define RRAS_RI_SETINFO 0x0e +#define RRAS_RI_DELETE 0x0f +#define RRAS_TRANS_REMOVE 0x10 +#define RRAS_TRANS_ADD 0x11 +#define RRAS_TRANS_GETINFO 0x12 +#define RRAS_TRANS_SETINFO 0x13 +#define RRAS_RI_ENUM 0x14 +#define RRAS_RI_CONNECT 0x15 +#define RRAS_RI_DISCONNECT 0x16 +#define RRAS_RI_UPDATE_ROUTES 0x17 +#define RRAS_RI_QUERY_UPDATE_RESULT 0x18 +#define RRAS_RI_UPDATE_PB_INFO 0x19 +#define RRAS_MIB_ENTRY_CREATE 0x1a +#define RRAS_MIB_ENTRY_DELETE 0x1b +#define RRAS_MIB_ENTRY_SET 0x1c +#define RRAS_MIB_ENTRY_GET 0x1d +#define RRAS_MIB_GET_FIRST 0x1e +#define RRAS_MIB_GET_NEXT 0x1f +#define RRAS_GET_TRAP_INFO 0x20 +#define RRAS_SET_TRAP_INFO 0x21 +#define RRAS_ADMIN_CONNECTION_NOTIFICATION 0x22 +#define RRAS_ADMIN_SEND_USER_MSG 0x23 +#define RRAS_ROUTER_DEVICE_ENUM 0x24 +#define RRAS_RI_TRANSPORT_CREATE 0x25 +#define RRAS_RI_DEV_GETINFO 0x26 +#define RRAS_RI_DEV_SETINFO 0x27 +#define RRAS_RI_SET_CRED_EX 0x28 +#define RRAS_RI_GET_CRED_EX 0x29 +#define RRAS_ADMIN_CONNECTION_REM_QUARANT 0x2a + +#endif /* packet-dcerpc-rras.h */ + + + |