Ethereal-dev: [Ethereal-dev] Re: Release next week

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

From: Matthijs Melchior <mmelchior@xxxxxxxxx>
Date: Thu, 24 Apr 2003 22:58:05 +0200
ethereal-dev-request@xxxxxxxxxxxx wrote:


Subject:
Re: [Ethereal-dev] Adding COM Port Control Telnet Option (RFC-2217)
From:
Gerald Combs <gerald@xxxxxxxxxxxx>
Date:
Tue, 22 Apr 2003 15:35:49 -0500 (CDT)
To:
Richard Sharpe <rsharpe@xxxxxxxxxxxxxxxxx>


On Tue, 22 Apr 2003, Richard Sharpe wrote:

So an official release will be a happy day around here. Any idea when the next point release will be?
Gerald mostly does those ... I am not sure.

It's about that time again, isn't it?  Let's plan on a release in about a
week (on the 29th or 30th).  If anyone needs to postpone, please let me
know.

The attached patch contains the extra code to allow a plugin on Win32
to use the ASN.1 decoding routines.  The only change is the addition
of asn1_* routines to the end of the interface table, no changes needed
for existing, compiled, plugins.

Please add to the next release.

Thanks.

--
Regards,
----------------------------------------------------------------  -o)
Matthijs Melchior                                       Maarssen  /\\
mmelchior@xxxxxxxxx          +31 346 570616          Netherlands _\_v
---------------------------------------------------------------- ----

diff -r -u -x '*.obj' --strip-trailing-cr ORG/ethereal-0.9.11/epan/plugins.c ethereal-0.9.11/epan/plugins.c
--- ORG/ethereal-0.9.11/epan/plugins.c	2003-03-06 23:13:38.000000000 +0100
+++ ethereal-0.9.11/epan/plugins.c	2003-04-22 19:08:26.000000000 +0200
@@ -66,6 +66,7 @@
 #include "packet-tpkt.h"
 #include "packet-tcp.h"
 #include "tap.h"
+#include "asn1.h"
 #include "plugins/plugin_table.h"
 static plugin_address_table_t	patable;
 #endif
@@ -491,6 +492,31 @@
 	
 	patable.p_register_tap			= register_tap;
 	patable.p_tap_queue_packet		= tap_queue_packet;
+
+	patable.p_asn1_open			= asn1_open;
+	patable.p_asn1_close			= asn1_close;
+	patable.p_asn1_octet_decode		= asn1_octet_decode;
+	patable.p_asn1_tag_decode		= asn1_tag_decode;
+	patable.p_asn1_id_decode		= asn1_id_decode;
+	patable.p_asn1_length_decode		= asn1_length_decode;
+	patable.p_asn1_header_decode		= asn1_header_decode;
+	patable.p_asn1_eoc			= asn1_eoc;
+	patable.p_asn1_eoc_decode		= asn1_eoc_decode;
+	patable.p_asn1_null_decode		= asn1_null_decode;
+	patable.p_asn1_bool_decode		= asn1_bool_decode;
+	patable.p_asn1_int32_value_decode	= asn1_int32_value_decode;
+	patable.p_asn1_int32_decode		= asn1_int32_decode;
+	patable.p_asn1_uint32_value_decode	= asn1_uint32_value_decode;
+	patable.p_asn1_uint32_decode		= asn1_uint32_decode;
+	patable.p_asn1_bits_decode		= asn1_bits_decode;
+	patable.p_asn1_string_value_decode	= asn1_string_value_decode;
+	patable.p_asn1_string_decode		= asn1_octet_string_decode;
+	patable.p_asn1_octet_string_decode	= asn1_octet_string_decode;
+	patable.p_asn1_subid_decode		= asn1_subid_decode;
+	patable.p_asn1_oid_value_decode		= asn1_oid_value_decode;
+	patable.p_asn1_oid_decode		= asn1_oid_decode;
+	patable.p_asn1_sequence_decode		= asn1_sequence_decode;
+	patable.p_asn1_err_to_str		= asn1_err_to_str;
 	
 #endif
 
diff -r -u -x '*.obj' --strip-trailing-cr ORG/ethereal-0.9.11/plugins/plugin_api.c ethereal-0.9.11/plugins/plugin_api.c
--- ORG/ethereal-0.9.11/plugins/plugin_api.c	2003-03-06 23:13:40.000000000 +0100
+++ ethereal-0.9.11/plugins/plugin_api.c	2003-04-22 19:13:43.000000000 +0200
@@ -213,4 +213,30 @@
 
 	p_register_tap				= pat->p_register_tap;
 	p_tap_queue_packet			= pat->p_tap_queue_packet;
+
+	p_asn1_open				= pat->p_asn1_open;
+	p_asn1_close				= pat->p_asn1_close;
+	p_asn1_octet_decode			= pat->p_asn1_octet_decode;
+	p_asn1_tag_decode			= pat->p_asn1_tag_decode;
+	p_asn1_id_decode			= pat->p_asn1_id_decode;
+	p_asn1_length_decode			= pat->p_asn1_length_decode;
+	p_asn1_header_decode			= pat->p_asn1_header_decode;
+	p_asn1_eoc				= pat->p_asn1_eoc;
+	p_asn1_eoc_decode			= pat->p_asn1_eoc_decode;
+	p_asn1_null_decode			= pat->p_asn1_null_decode;
+	p_asn1_bool_decode			= pat->p_asn1_bool_decode;
+	p_asn1_int32_value_decode		= pat->p_asn1_int32_value_decode;
+	p_asn1_int32_decode			= pat->p_asn1_int32_decode;
+	p_asn1_uint32_value_decode		= pat->p_asn1_uint32_value_decode;
+	p_asn1_uint32_decode			= pat->p_asn1_uint32_decode;
+	p_asn1_bits_decode			= pat->p_asn1_bits_decode;
+	p_asn1_string_value_decode		= pat->p_asn1_string_value_decode;
+	p_asn1_string_decode			= pat->p_asn1_string_decode;
+	p_asn1_octet_string_decode		= pat->p_asn1_octet_string_decode;
+	p_asn1_subid_decode			= pat->p_asn1_subid_decode;
+	p_asn1_oid_value_decode			= pat->p_asn1_oid_value_decode;
+	p_asn1_oid_decode			= pat->p_asn1_oid_decode;
+	p_asn1_sequence_decode			= pat->p_asn1_sequence_decode;
+	p_asn1_err_to_str			= pat->p_asn1_err_to_str;
+
 }
diff -r -u -x '*.obj' --strip-trailing-cr ORG/ethereal-0.9.11/plugins/plugin_api.h ethereal-0.9.11/plugins/plugin_api.h
--- ORG/ethereal-0.9.11/plugins/plugin_api.h	2003-03-06 23:13:40.000000000 +0100
+++ ethereal-0.9.11/plugins/plugin_api.h	2003-04-22 19:14:10.000000000 +0200
@@ -244,6 +244,31 @@
 #define register_tap			(*p_register_tap)
 #define tap_queue_packet		(*p_tap_queue_packet)
 
+#define	asn1_open			(*p_asn1_open)
+#define	asn1_close			(*p_asn1_close)
+#define	asn1_octet_decode		(*p_asn1_octet_decode)
+#define	asn1_tag_decode			(*p_asn1_tag_decode)
+#define	asn1_id_decode			(*p_asn1_id_decode)
+#define	asn1_length_decode		(*p_asn1_length_decode)
+#define	asn1_header_decode		(*p_asn1_header_decode)
+#define	asn1_eoc			(*p_asn1_eoc)
+#define	asn1_eoc_decode			(*p_asn1_eoc_decode)
+#define	asn1_null_decode		(*p_asn1_null_decode)
+#define	asn1_bool_decode		(*p_asn1_bool_decode)
+#define	asn1_int32_value_decode		(*p_asn1_int32_value_decode)
+#define	asn1_int32_decode		(*p_asn1_int32_decode)
+#define	asn1_uint32_value_decode	(*p_asn1_uint32_value_decode)
+#define	asn1_uint32_decode		(*p_asn1_uint32_decode)
+#define	asn1_bits_decode		(*p_asn1_bits_decode)
+#define	asn1_string_value_decode	(*p_asn1_string_value_decode)
+#define	asn1_string_decode		(*p_asn1_string_decode)
+#define	asn1_octet_string_decode	(*p_asn1_octet_string_decode)
+#define	asn1_subid_decode		(*p_asn1_subid_decode)
+#define	asn1_oid_value_decode		(*p_asn1_oid_value_decode)
+#define	asn1_oid_decode			(*p_asn1_oid_decode)
+#define	asn1_sequence_decode		(*p_asn1_sequence_decode)
+#define	asn1_err_to_str			(*p_asn1_err_to_str)
+
 #endif
 
 #include <epan/packet.h>
@@ -254,6 +279,7 @@
 #include "packet-tpkt.h"
 #include "packet-tcp.h"
 #include "tap.h"
+#include "asn1.h"
 
 #include "plugin_table.h"
 
diff -r -u -x '*.obj' --strip-trailing-cr ORG/ethereal-0.9.11/plugins/plugin_api_decls.h ethereal-0.9.11/plugins/plugin_api_decls.h
--- ORG/ethereal-0.9.11/plugins/plugin_api_decls.h	2003-03-06 23:13:40.000000000 +0100
+++ ethereal-0.9.11/plugins/plugin_api_decls.h	2003-04-22 18:41:37.000000000 +0200
@@ -252,3 +252,28 @@
 
 addr_register_tap			p_register_tap;
 addr_tap_queue_packet			p_tap_queue_packet;
+
+addr_asn1_open				p_asn1_open;
+addr_asn1_close				p_asn1_close;
+addr_asn1_octet_decode			p_asn1_octet_decode;
+addr_asn1_tag_decode			p_asn1_tag_decode;
+addr_asn1_id_decode			p_asn1_id_decode;
+addr_asn1_length_decode			p_asn1_length_decode;
+addr_asn1_header_decode			p_asn1_header_decode;
+addr_asn1_eoc				p_asn1_eoc;
+addr_asn1_eoc_decode			p_asn1_eoc_decode;
+addr_asn1_null_decode			p_asn1_null_decode;
+addr_asn1_bool_decode			p_asn1_bool_decode;
+addr_asn1_int32_value_decode		p_asn1_int32_value_decode;
+addr_asn1_int32_decode			p_asn1_int32_decode;
+addr_asn1_uint32_value_decode		p_asn1_uint32_value_decode;
+addr_asn1_uint32_decode			p_asn1_uint32_decode;
+addr_asn1_bits_decode			p_asn1_bits_decode;
+addr_asn1_string_value_decode		p_asn1_string_value_decode;
+addr_asn1_string_decode			p_asn1_string_decode;
+addr_asn1_octet_string_decode		p_asn1_octet_string_decode;
+addr_asn1_subid_decode			p_asn1_subid_decode;
+addr_asn1_oid_value_decode		p_asn1_oid_value_decode;
+addr_asn1_oid_decode			p_asn1_oid_decode;
+addr_asn1_sequence_decode		p_asn1_sequence_decode;
+addr_asn1_err_to_str			p_asn1_err_to_str;
diff -r -u -x '*.obj' --strip-trailing-cr ORG/ethereal-0.9.11/plugins/plugin_table.h ethereal-0.9.11/plugins/plugin_table.h
--- ORG/ethereal-0.9.11/plugins/plugin_table.h	2003-03-06 23:13:40.000000000 +0100
+++ ethereal-0.9.11/plugins/plugin_table.h	2003-04-22 19:09:05.000000000 +0200
@@ -282,6 +282,47 @@
 typedef int (*addr_register_tap)(char *);
 typedef void (*addr_tap_queue_packet)(int, packet_info *, void *);
 
+typedef void (*addr_asn1_open)(ASN1_SCK *, tvbuff_t *, int );
+typedef void (*addr_asn1_close)(ASN1_SCK *, int *);
+typedef int (*addr_asn1_octet_decode)(ASN1_SCK *, guchar *);
+typedef int (*addr_asn1_tag_decode)(ASN1_SCK *, guint *);
+typedef int (*addr_asn1_id_decode)(ASN1_SCK *, guint *, guint *, guint *);
+typedef int (*addr_asn1_length_decode)(ASN1_SCK *, gboolean *, guint *);
+typedef int (*addr_asn1_header_decode)(ASN1_SCK *, guint *, guint *, guint *,
+			gboolean *, guint *);
+typedef int (*addr_asn1_eoc)(ASN1_SCK *, int );
+typedef int (*addr_asn1_eoc_decode)(ASN1_SCK *, int );
+typedef int (*addr_asn1_null_decode)(ASN1_SCK *, int );
+typedef int (*addr_asn1_bool_decode)(ASN1_SCK *, int , gboolean *);
+typedef int (*addr_asn1_int32_value_decode)(ASN1_SCK *, int , gint32 *);
+typedef int (*addr_asn1_int32_decode)(ASN1_SCK *, gint32 *, guint *);
+typedef int (*addr_asn1_uint32_value_decode)(ASN1_SCK *, int , guint *);
+typedef int (*addr_asn1_uint32_decode)(ASN1_SCK *, guint32 *, guint *);
+typedef int (*addr_asn1_bits_decode)(ASN1_SCK *, int , guchar **,
+                             guint *, guchar *);
+typedef int (*addr_asn1_string_value_decode)(ASN1_SCK *, int ,
+			guchar **);
+typedef int (*addr_asn1_string_decode)(ASN1_SCK *, guchar **, guint *,
+			guint *, guint );
+typedef int (*addr_asn1_octet_string_decode)(ASN1_SCK *, guchar **, guint *,
+			guint *);
+typedef int (*addr_asn1_subid_decode)(ASN1_SCK *, subid_t *);
+typedef int (*addr_asn1_oid_value_decode)(ASN1_SCK *, int , subid_t **,
+			guint *);
+typedef int (*addr_asn1_oid_decode)( ASN1_SCK *, subid_t **, guint *, guint *);
+typedef int (*addr_asn1_sequence_decode)( ASN1_SCK *, guint *, guint *);
+
+typedef char *(*addr_asn1_err_to_str)(int );
+
 typedef struct  {
 
 #include "plugin_api_decls.h"