MSWSP: add two more Property Sets
[wireshark-wip.git] / epan / dissectors / packet-dcerpc-rras.c
blob630b51e840a70eb9fb4b048297161a99d5c3c0d1
1 /* packet-dcerpc-rras.c
2 * Routines for the rras (Routing and Remote Access service) MSRPC interface
3 * Copyright 2005 Jean-Baptiste Marchand <jbm@hsc.fr>
5 * $Id$
7 * Wireshark - Network traffic analyzer
8 * By Gerald Combs <gerald@wireshark.org>
9 * Copyright 1998 Gerald Combs
11 * This program is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License
13 * as published by the Free Software Foundation; either version 2
14 * of the License, or (at your option) any later version.
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
21 * You should have received a copy of the GNU General Public License
22 * along with this program; if not, write to the Free Software
23 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
27 #include "config.h"
29 #include <glib.h>
30 #include <epan/packet.h>
31 #include "packet-dcerpc.h"
32 #include "packet-dcerpc-rras.h"
34 static int proto_dcerpc_rras = -1;
36 static int hf_rras_opnum = -1;
38 static gint ett_dcerpc_rras = -1;
41 * The rras MSRPC interface is typically reached using the ncacn_np transport
42 * and the \pipe\ROUTER named pipe as endpoint.
45 static e_uuid_t uuid_dcerpc_rras = {
46 0x8f09f000, 0xb7ed, 0x11ce,
47 { 0xbb, 0xd2, 0x00, 0x00, 0x1a, 0x18, 0x1c, 0xad }
50 static guint16 ver_dcerpc_rras = 0;
53 static dcerpc_sub_dissector dcerpc_rras_dissectors[] = {
54 { RRAS_ADMIN_SERVER_GETINFO,
55 "MprAdminServerGetInfo", NULL, NULL },
56 { RRAS_ADMIN_CONNECTION_ENUM,
57 "RasAdminConnectionEnum", NULL, NULL },
58 { RRAS_ADMIN_CONNECTION_GETINFO,
59 "RasAdminConnectionGetInfo", NULL, NULL },
60 { RRAS_ADMIN_CONNECTION_CLEARSTATS,
61 "RasAdminConnectionClearStats", NULL, NULL },
62 { RRAS_ADMIN_PORT_ENUM,
63 "RasAdminPortEnum", NULL, NULL },
64 { RRAS_ADMIN_PORT_GETINFO,
65 "RasAdminPortGetInfo", NULL, NULL },
66 { RRAS_ADMIN_PORT_CLEARSTATS,
67 "RasAdminPortClearStats", NULL, NULL },
68 { RRAS_ADMIN_PORT_RESET,
69 "RasAdminPortReset", NULL, NULL },
70 { RRAS_ADMIN_PORT_DISCONNECT,
71 "RasAdminPortDisconnect", NULL, NULL },
72 { RRAS_RI_TRANS_SET_GLOBALINFO,
73 "RouterInterfaceTransportSetGlobalInfo", NULL, NULL },
74 { RRAS_RI_TRANS_GET_GLOBALINFO,
75 "RouterInterfaceTransportGetGlobalInfo", NULL, NULL },
76 { RRAS_RI_GET_HANDLE,
77 "RouterInterfaceGetHandle", NULL, NULL },
78 { RRAS_RI_CREATE,
79 "RouterInterfaceCreate", NULL, NULL },
80 { RRAS_RI_GETINFO,
81 "RouterInterfaceGetInfo", NULL, NULL },
82 { RRAS_RI_SETINFO,
83 "RouterInterfaceSetInfo", NULL, NULL },
84 { RRAS_RI_DELETE,
85 "RouterInterfaceDelete", NULL, NULL },
86 { RRAS_TRANS_REMOVE,
87 "RouterInterfaceTransportRemove", NULL, NULL },
88 { RRAS_TRANS_ADD,
89 "RouterInterfaceTransportAdd", NULL, NULL },
90 { RRAS_TRANS_GETINFO,
91 "RouterInterfaceTransportGetInfo", NULL, NULL },
92 { RRAS_TRANS_SETINFO,
93 "RouterInterfaceTransportSetInfo", NULL, NULL },
94 { RRAS_RI_ENUM,
95 "RouterInterfaceEnum", NULL, NULL },
96 { RRAS_RI_CONNECT,
97 "RouterInterfaceConnect", NULL, NULL },
98 { RRAS_RI_DISCONNECT,
99 "RouterInterfaceDisconnect", NULL, NULL },
100 { RRAS_RI_UPDATE_ROUTES,
101 "RouterInterfaceUpdateRoutes", NULL, NULL },
102 { RRAS_RI_QUERY_UPDATE_RESULT,
103 "RouterInterfaceQueryUpdateResult", NULL, NULL },
104 { RRAS_RI_UPDATE_PB_INFO,
105 "RouterInterfaceUpdatePhonebookInfo", NULL, NULL },
106 { RRAS_MIB_ENTRY_CREATE, "MIBEntryCreate", NULL, NULL },
107 { RRAS_MIB_ENTRY_DELETE, "MIBEntryDelete", NULL, NULL },
108 { RRAS_MIB_ENTRY_SET, "MIBEntrySet", NULL, NULL },
109 { RRAS_MIB_ENTRY_GET, "MIBEntryGet", NULL, NULL },
110 { RRAS_MIB_GET_FIRST, "MIBEntryGetFirst", NULL, NULL },
111 { RRAS_MIB_GET_NEXT, "MIBEntryGetNext", NULL, NULL },
112 { RRAS_GET_TRAP_INFO, "MIBGetTrapInfo", NULL, NULL },
113 { RRAS_SET_TRAP_INFO, "MIBSetTrapInfo", NULL, NULL },
114 { RRAS_ADMIN_CONNECTION_NOTIFICATION,
115 "RasAdminConnectionNotification", NULL, NULL },
116 { RRAS_ADMIN_SEND_USER_MSG, "RasAdminSendUserMessage", NULL, NULL },
117 { RRAS_ROUTER_DEVICE_ENUM, "RouterDeviceEnum", NULL, NULL },
118 { RRAS_RI_TRANSPORT_CREATE,
119 "RouterInterfaceTransportCreate", NULL, NULL },
120 { RRAS_RI_DEV_GETINFO, "RouterInterfaceDeviceGetInfo", NULL, NULL },
121 { RRAS_RI_DEV_SETINFO, "RouterInterfaceDeviceSetInfo", NULL, NULL },
122 { RRAS_RI_SET_CRED_EX, "RouterInterfaceSetCredentialsEx", NULL, NULL },
123 { RRAS_RI_GET_CRED_EX, "RouterInterfaceGetCredentialsEx", NULL, NULL },
124 { RRAS_ADMIN_CONNECTION_REM_QUARANT,
125 "RasAdminConnectionRemoveQuarantine", NULL, NULL },
126 { 0, NULL, NULL, NULL }
130 void
131 proto_register_dcerpc_rras(void)
134 static hf_register_info hf[] = {
136 { &hf_rras_opnum,
137 { "Operation", "rras.opnum", FT_UINT16, BASE_DEC,
138 NULL, 0x0, NULL, HFILL }},
142 static gint *ett[] = {
143 &ett_dcerpc_rras,
147 proto_dcerpc_rras = proto_register_protocol(
148 "Microsoft Routing and Remote Access Service", "RRAS", "rras");
150 proto_register_field_array(proto_dcerpc_rras, hf, array_length(hf));
152 proto_register_subtree_array(ett, array_length(ett));
157 void
158 proto_reg_handoff_dcerpc_rras(void)
160 /* register protocol as dcerpc */
162 dcerpc_init_uuid(
163 proto_dcerpc_rras, ett_dcerpc_rras, &uuid_dcerpc_rras,
164 ver_dcerpc_rras, dcerpc_rras_dissectors, hf_rras_opnum);