This is our old Q&A Site. Please post any new questions and answers at ask.wireshark.org.

Hello,

After a long way :D I have written my RTP Extensions. So first I would like to say thanks, because I get help from that forum.

I have written my Plugin and have compiled it with MS VS 2012 with the source from the stable 1.10.07. Now I have a 32 bit plugin.dll. That is very nice and Works with the stable Version 1.10.07 very good.

Now I would like to change to Version 1.11.03. So I have Install that Version, but with my Plugin Wireshark don't start. I have then download the source code and build my Plugin with the 1.11.03 and with that new dll Wireshark start with the Version 1.11.03.

Now my Question: Is it possible to make a plugin what works in 1.10.07 and 1.11.03 without recompile?

My Plugin looks like: I Post the code but i dont think it is important for my Question

#include "config.h"
#include glib.h
#include epan/packet.h
#include "packet-rtpExtensions.h"

void proto_register_rsExtensions(void);
void proto_reg_handoff_rsExtensions(void);

static int rtpext = 0x0001;  
static int rtpproto= 0x80;

static void
proto_register_rsExtensions(void)
{   ...    }

static void
extdissectxtensions(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{   .... }
static void
dissectxtensions(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{   .... }

void
proto_reg_handoff_rsExtensions(void)
{
 dissector_handle_t dis1; 
 dissector_handle_t dis2;

rdeo = create_dissector_handle( extdissectxtensions, foo); 
dissector_add_uint("rtp.hdr_ext", rtpext , rdeo );

rEx = create_dissector_handle( dissectxtensions, foo); 
dissector_add_uint("rtp.pt", rtpproto, rEx );

}

Have a nice day

asked 28 Apr '14, 06:20

Alias_alias's gravatar image

Alias_alias
21558
accept rate: 0%


Hi,

too many internal APIs have changed between 1.10 branch and the 1.12 development branch to ensure that you have a plugin compatible between major versions.

That's the drawback with plugins: you need to provide one library per major (stable) version. You can use compilation flags to have a single source code, but the recompilation is unavoidable unfortunately.

For your information, once a major version is frozen (1.10.0 or 1.12.0), we try to keep the APIs stable between minor versions (1.10.1, 1.10.2, ...) so as to ensure compatibility.

permanent link

answered 28 Apr '14, 06:58

Pascal%20Quantin's gravatar image

Pascal Quantin
5.5k1060
accept rate: 30%

Ok thanks. That is not perfekt but Ok.

How can i add compilation flags ? I never have make this did you have an example ?

(28 Apr '14, 07:56) Alias_alias

You can use the VERSION_MAJOR, VERSION_MINOR and VERSION_MICRO defines to identify the Wireshark source code used to build your plugin.

(28 Apr '14, 11:13) Pascal Quantin
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×173
×37
×10

question asked: 28 Apr '14, 06:20

question was seen: 1,315 times

last updated: 28 Apr '14, 11:13

p​o​w​e​r​e​d by O​S​Q​A