Ethereal-dev: Re: [Ethereal-dev] Next Release

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

From: Olivier Abad <oabad@xxxxxxx>
Date: Mon, 9 Jul 2001 22:52:15 +0200
On Mon, Jul 09, 2001 at 11:16:22AM -0500, Frank Singleton wrote:
> Jeff Foster wrote:
> > 
> > I'm starting work on the next release and plan to finish
> > it this week, today if I get lucky. I plan to make it
> > release 0.8.19. I would like to roll to release 0.9.0 on
> > the next release, assuming that we get all the dissectors
> > to tvbuffers. At that point I think that we should review
> > the features for a 1.0 release and start work to get
> > to the 1.0 release.
> 
> 
> 1 thing for GIOP and idl2eth
> 
> 1.Lets decide where we put giop subdissectors, so I can
>   put some useful ones in there.
>   (giop subdirectory has been proposed)

If we use plugins for the giop subdissectors, as was suggested by Craig,
we can put it in plugins/giop/

I'm attaching a patch for ethereal_gen.py in order to generate plugin
code. We should also add the functions you use (get_CDR_xxx, maybe
others) in plugin_api.[ch]

Olivier
-- 
May Euell Gibbons eat your only copy of the manual!
--- ethereal/ethereal_gen.py	Sun Jul  1 19:34:52 2001
+++ ethereal.build/ethereal_gen.py	Mon Jul  9 22:22:50 2001
@@ -999,7 +999,7 @@
     template_proto_reg_handoff_start = """
 /* register me as handler for these interfaces */
 
-void proto_register_handoff_giop_@dissector_name@(void) {
+G_MODULE_EXPORT void plugin_reg_handoff(void) {
 
 """
 
@@ -1081,7 +1081,7 @@
 
 /* Register the protocol with Ethereal */
 
-void proto_register_giop_@dissector_name@(void) {
+G_MODULE_EXPORT void plugin_init(plugin_address_table_t *pat) {
 
    /* setup list of header fields */
 
@@ -1097,12 +1097,16 @@
       &ett_@dissector_name@,
    };
 
+   plugin_address_table_init(pat);
+
    /* Register the protocol name and description */
    
-   proto_@dissector_name@ = proto_register_protocol(\"@description@\" , \"@protocol_name@\", \"giop-@dissector_name@\" );
+   if (proto_@dissector_name@ == -1) {
+      proto_@dissector_name@ = proto_register_protocol(\"@description@\" , \"@protocol_name@\", \"giop-@dissector_name@\" );
 
-   proto_register_field_array(proto_@dissector_name@, hf, array_length(hf));
-   proto_register_subtree_array(ett,array_length(ett));
+      proto_register_field_array(proto_@dissector_name@, hf, array_length(hf));
+      proto_register_subtree_array(ett,array_length(ett));
+   }
    
 }
 
@@ -1496,8 +1500,11 @@
 # include "config.h"
 #endif
 
+#include "plugins/plugin_api.h"
+
 #include <stdio.h>
 #include <stdlib.h>
+#include <gmodule.h>
 
 #ifdef HAVE_SYS_TYPES_H
 # include <sys/types.h>
@@ -1521,6 +1528,8 @@
 #include "packet.h"
 #include "proto.h"
 #include "packet-giop.h"
+
+G_MODULE_EXPORT const gchar version[] = "0.0.1";
 
 """