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

I am trying to build Wireshark 1.12.4 with CORBA dissectors that my company developed. We have been using a very old version of Wireshark with the dissectors successfully but we need to update due to new IDL files that have been created. I am using omniORB4.2.0 and omniidl to convert the .idl files to .c files for the Wireshark plugins. I am using the wireshark_be from the Wireshark build as the backend.

When I build Wireshark, I see the errors below for multiple converted .idl files. To me, it seems like omnidil is causing the problem because when I look in the UserManagement.c file, hf_CORBA_StructMember_type is not declared. I can get the error to go away if I manually declare the variables in the UserManagement.c file, but there are hundreds of files that I need to convert and most of them are exhibiting the same problem.

UserManagement.c(769) : error C2065: 'hf_CORBA_StructMember_type' : undeclared identifier

UserManagement.c(771) : error C2065: 'hf_CORBA_UnionMember_type' : undeclared identifier

UserManagement.c(776) : error C2065: 'hf_CORBA_ValueMember_type' : undeclared identifier

Can anyone help please!!

asked 10 Mar '15, 08:27

central1ny's gravatar image

central1ny
6113
accept rate: 0%

edited 10 Mar '15, 09:13

grahamb's gravatar image

grahamb ♦
19.8k330206

With your current setup can you regenerate the existing idl dissectors, e.g. idl2wrs Parlay.idl?

(10 Mar '15, 09:06) grahamb ♦

I regenerated the packet-parlay.c file successfully from the .idl file and used beyond compare to compare the Wireshark generated file versus mine and they are identical.

(10 Mar '15, 09:15) central1ny

That would suggest the tools work (at least with the Parlay.idl file) which possibly leaves your idl files.

(10 Mar '15, 09:19) grahamb ♦

Do you have any idea what could be wrong with an idl file to cause this error? The idl files converted and worked fine years ago for a much older version of wireshark

(10 Mar '15, 09:34) central1ny

OK - so I think I tracked the failure down to a omniORB file named ir.idl. All other files in the #include tree compile ok with Wireshark. Any ideas? Is there a way to attach the file? The ir.idl file is located in in idl folder of the omniORB distribution. I am running v4.2.0

(10 Mar '15, 09:54) central1ny

Without looking into ir.idl, I would guess that it contains (or is missing) something that borks the idl2wrs process such that the output won't compile.

I'm not aware of much work being done either with idl2wrs or other dissectors that use it so you're kind of on your own here.

(10 Mar '15, 10:34) grahamb ♦

I solved the original problem by creating a customized orb.idl file that works. I am seeing a different problem now when trying to convert some of the .idl files. The error is below. Any ideas? Seems to be internal to the wireshark_be file.

File "C:\wireshark-1.12.4\tools\wireshark_gen.py", line 1465, in get_CDR_alias_hf self.getCDR_hf(type.decl().alias().aliasType(), pn ) TypeError: getCDR_hf() takes at least 4 arguments (3 given)

(11 Mar '15, 12:01) central1ny

I further narrowed it down to arrays. The following is some sample .idl code that gives the TypeError.Can anyone tell me whats wrong here that is causing this error?

module iddMessages { typedef long TempArray[1];

struct HardwareStatus
{
  TempArray temperatures;
};

};

(11 Mar '15, 13:35) central1ny

I was wrong stating that I fixed the original problem with the undeclared identifier. I have found that the problem is related to the use of a type named "TypeCode" in the omniORB corbaidl.idl file. When I run omniidl to convert the .idl files to .c files, the .c files are generated with no errors but the variables from the corbaidl files defined as TypeCode do not get defined in the resulting .c files.

It seems like I could be missing some import but I can't find any omniORB .idl file that defines TypeCode. Anyone familiar with this?

(12 Mar '15, 11:10) central1ny
showing 5 of 9 show 4 more comments
Be the first one to answer this question!
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:

×193
×110
×37
×4
×1

question asked: 10 Mar '15, 08:27

question was seen: 1,672 times

last updated: 12 Mar '15, 11:10

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