Ethereal-dev: Re: [Ethereal-dev] [packet-dcerpc-tapi.c] Operations names

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Jean-Baptiste Marchand <Jean-Baptiste.Marchand@xxxxxx>
Date: Thu, 23 Oct 2003 15:01:59 +0200
* Guy Harris <guy@xxxxxxxxxxxx> [23/10/03 - 10:01]:

> On Tue, Oct 21, 2003 at 02:47:24PM +0200, Jean-Baptiste Marchand wrote:
> > All operations dissected by Ethereal DCE RPC dissectors should now be
> > correctly recognized (i.e, no more unknown operations names). 
> 
> Replace "T" with "M" in "TAPI", and you'll see a dissector that still
> has an unknown operation name (MAPI_UNKNOWN_02).  All we have for MAPI
> are "Logon" and "Logoff".

See the attached patches.

Jean-Baptiste Marchand
-- 
Jean-Baptiste.Marchand@xxxxxx
HSC - http://www.hsc.fr/
Index: packet-dcerpc-mapi.c
===================================================================
RCS file: /cvsroot/ethereal/packet-dcerpc-mapi.c,v
retrieving revision 1.24
diff -u -r1.24 packet-dcerpc-mapi.c
--- packet-dcerpc-mapi.c	4 Aug 2003 02:49:02 -0000	1.24
+++ packet-dcerpc-mapi.c	23 Oct 2003 12:59:03 -0000
@@ -280,7 +280,7 @@
 }
 
 static int
-mapi_unknown_02_request(tvbuff_t *tvb, int offset,
+mapi_ec_do_rpc_request(tvbuff_t *tvb, int offset,
 	packet_info *pinfo, proto_tree *tree, char *drep)
 {
 	offset = dissect_nt_policy_hnd(tvb, offset, pinfo, tree, drep,
@@ -306,7 +306,7 @@
 	return offset;
 }
 static int
-mapi_unknown_02_reply(tvbuff_t *tvb, int offset,
+mapi_ec_do_rpc_reply(tvbuff_t *tvb, int offset,
 	packet_info *pinfo, proto_tree *tree, char *drep)
 {
 	offset = dissect_nt_policy_hnd(tvb, offset, pinfo, tree, drep,
@@ -357,16 +357,24 @@
 
 
 static dcerpc_sub_dissector dcerpc_mapi_dissectors[] = {
-        { MAPI_LOGON,		"Logon",
+        { MAPI_EC_DO_CONNECT,	"EcDoConnect",
 		mapi_logon_rqst,
 		mapi_logon_reply },
-        { MAPI_LOGOFF,		"Logoff",
+        { MAPI_EC_DO_DISCONNECT,"EcDoDisconnect",
 		mapi_logoff_rqst,
 		mapi_logoff_reply },
-        { MAPI_UNKNOWN_02,	"unknown_02",
-		mapi_unknown_02_request,
-		mapi_unknown_02_reply },
-
+        { MAPI_EC_DO_RPC,	"EcDoRpc",
+		mapi_ec_do_rpc_request,
+		mapi_ec_do_rpc_reply },
+	{ MAPI_EC_GET_MORE_RPC, "EcGetMoreRpc", NULL, NULL },
+	{ MAPI_EC_REGISTER_PUSH_NOTIFICATION, "EcRRegisterPushNotification",
+		NULL, NULL },
+	{ MAPI_EC_UNREGISTER_PUSH_NOTIFICATION, "EcRUnregisterPushNotification",
+		NULL, NULL },
+	{ MAPI_EC_DUMMY_RPC, "EcDummyRpc", NULL, NULL },
+	{ MAPI_EC_GET_DC_NAME, "EcRGetDCName", NULL, NULL },
+ 	{ MAPI_EC_NET_GET_DC_NAME, "EcRNetGetDCName", NULL, NULL },
+	{ MAPI_EC_DO_RPC_EXT, "EcDoRpcExt", NULL, NULL },
         {0, NULL, NULL,  NULL }
 };
 
Index: packet-dcerpc-mapi.h
===================================================================
RCS file: /cvsroot/ethereal/packet-dcerpc-mapi.h,v
retrieving revision 1.3
diff -u -r1.3 packet-dcerpc-mapi.h
--- packet-dcerpc-mapi.h	28 Aug 2002 21:00:09 -0000	1.3
+++ packet-dcerpc-mapi.h	23 Oct 2003 12:59:10 -0000
@@ -26,8 +26,16 @@
 #ifndef __PACKET_DCERPC_MAPI_H
 #define __PACKET_DCERPC_MAPI_H
 
-#define MAPI_LOGON		0x00
-#define MAPI_LOGOFF		0x01
-#define MAPI_UNKNOWN_02		0x02
+#define MAPI_EC_DO_CONNECT			0x00
+#define MAPI_EC_DO_DISCONNECT			0x01
+#define MAPI_EC_DO_RPC				0x02
+#define MAPI_EC_GET_MORE_RPC			0x03
+#define MAPI_EC_REGISTER_PUSH_NOTIFICATION 	0x04
+#define MAPI_EC_UNREGISTER_PUSH_NOTIFICATION	0x05
+#define MAPI_EC_DUMMY_RPC			0x06
+#define MAPI_EC_GET_DC_NAME			0x07
+#define MAPI_EC_NET_GET_DC_NAME			0x08
+#define MAPI_EC_DO_RPC_EXT			0x09 
+
 
 #endif