Wireshark-dev: Re: [Wireshark-dev] OpCua faulty checkin and breaks the build
From: Gerhard Gappmeier <gerhard.gappmeier@xxxxxxxxxxx>
Date: Tue, 15 May 2007 15:28:59 +0200
Hi, I need to send you another patch. Forget the last one. The last didn't compile all sources on linux, because some files have moved from DISSECTOR_SRC to DISSECTOR_SUPPORT_SRC. I added this new target to Makefile.am to solve this problem and added some temporary workarounds for unsed variables in opcua_complextypeparser.c to be able to compile on linux without warnings. Gerhard Gappmeier schrieb: Hi I updated the files for the build process to fit the current wireshark version. I don't know much about it so a just copied the missing parts from another module. I'm not sure of it's right, so please have a look at it. Modifications: * added plugin.rc.in * added moduleinfo.nmake * updated Makefile.am/nmake/common * removed unused variable from opcua_application_layer.c * fixed unused parameter warning in opcua.c I tested it on Windows with VC6 and on Gentoo linux with gcc 3.4.6. regards, Gerhard. |
Index: Makefile.am =================================================================== --- Makefile.am (revision 21784) +++ Makefile.am (working copy) @@ -27,6 +27,10 @@ include Makefile.common +if HAVE_WARNINGS_AS_ERRORS +AM_CFLAGS = -Werror +endif + plugindir = @plugindir@ plugin_LTLIBRARIES = opcua.la @@ -34,6 +38,7 @@ plugin.c \ moduleinfo.h \ $(DISSECTOR_SRC) \ + $(DISSECTOR_SUPPORT_SRC) \ $(DISSECTOR_INCLUDES) opcua_la_LDFLAGS = -module -avoid-version opcua_la_LIBADD = @PLUGIN_LIBS@ @@ -116,4 +121,7 @@ EXTRA_DIST = \ Makefile.common \ - Makefile.nmake + Makefile.nmake \ + moduleinfo.nmake \ + plugin.rc.in \ + README Index: Makefile.common =================================================================== --- Makefile.common (revision 21784) +++ Makefile.common (working copy) @@ -29,16 +29,7 @@ # the dissector sources (without any helpers) DISSECTOR_SRC = \ - opcua.c \ - opcua_transport_layer.c \ - opcua_security_layer.c \ - opcua_application_layer.c \ - opcua_serviceparser.c \ - opcua_complextypeparser.c \ - opcua_enumparser.c \ - opcua_simpletypes.c \ - opcua_servicetable.c \ - opcua_hfindeces.c + opcua.c # corresponding headers DISSECTOR_INCLUDES = \ @@ -51,3 +42,15 @@ opcua_application_layer.h \ opcua_security_layer.h \ opcua_transport_layer.h + +# other sources +DISSECTOR_SUPPORT_SRC = \ + opcua_transport_layer.c \ + opcua_security_layer.c \ + opcua_application_layer.c \ + opcua_serviceparser.c \ + opcua_complextypeparser.c \ + opcua_enumparser.c \ + opcua_simpletypes.c \ + opcua_servicetable.c \ + opcua_hfindeces.c Index: Makefile.nmake =================================================================== --- Makefile.nmake (revision 21784) +++ Makefile.nmake (working copy) @@ -5,12 +5,11 @@ # include ..\..\config.nmake +include moduleinfo.nmake -############### no need to modify below this line ######### - include Makefile.common -CFLAGS=/DHAVE_CONFIG_H /I../.. /I../../wiretap $(GLIB_CFLAGS) \ +CFLAGS=/WX /DHAVE_CONFIG_H /I../.. /I../../wiretap $(GLIB_CFLAGS) \ /I$(PCAP_DIR)\include -D_U_="" $(LOCAL_CFLAGS) LDFLAGS = /NOLOGO /INCREMENTAL:no /MACHINE:I386 $(LOCAL_LDFLAGS) @@ -21,12 +20,27 @@ DISSECTOR_OBJECTS = $(DISSECTOR_SRC:.c=.obj) -OBJECTS=$(DISSECTOR_OBJECTS) plugin.obj +DISSECTOR_SUPPORT_OBJECTS = $(DISSECTOR_SUPPORT_SRC:.c=.obj) -opcua.dll opcua.exp opcua.lib : $(OBJECTS) $(LINK_PLUGIN_WITH) - link -dll /out:opcua.dll $(LDFLAGS) $(OBJECTS) $(LINK_PLUGIN_WITH) \ - $(GLIB_LIBS) +OBJECTS = $(DISSECTOR_OBJECTS) $(DISSECTOR_SUPPORT_OBJECTS) plugin.obj +RESOURCE=$(PLUGIN_NAME).res + +all: $(PLUGIN_NAME).dll + +$(PLUGIN_NAME).rc : moduleinfo.nmake + sed -e s/@PLUGIN_NAME@/$(PLUGIN_NAME)/ \ + -e s/@RC_MODULE_VERSION@/$(RC_MODULE_VERSION)/ \ + -e s/@RC_VERSION@/$(RC_VERSION)/ \ + -e s/@MODULE_VERSION@/$(MODULE_VERSION)/ \ + -e s/@PACKAGE@/$(PACKAGE)/ \ + -e s/@VERSION@/$(VERSION)/ \ + -e s/@MSVC_VARIANT@/$(MSVC_VARIANT)/ \ + < plugin.rc.in > $@ + +$(PLUGIN_NAME).dll $(PLUGIN_NAME).exp $(PLUGIN_NAME).lib : $(OBJECTS) $(LINK_PLUGIN_WITH) $(RESOURCE) + link -dll /out:$(PLUGIN_NAME).dll $(LDFLAGS) $(OBJECTS) $(LINK_PLUGIN_WITH) \ + $(GLIB_LIBS) $(RESOURCE) # # Build plugin.c, which contains the plugin version[] string, a # function plugin_register() that calls the register routines for all @@ -60,7 +74,7 @@ # a plugin.c file for a plugin. # All subsequent arguments are the files to scan. # -plugin.c: $(DISSECTOR_SRC) +plugin.c: $(DISSECTOR_SRC) ../../tools/make-dissector-reg.py ../../tools/make-dissector-reg !IFDEF PYTHON @echo Making plugin.c (using python) @$(PYTHON) "../../tools/make-dissector-reg.py" . plugin $(DISSECTOR_SRC) @@ -72,7 +86,9 @@ !ENDIF clean: - rm -f $(OBJECTS) opcua.dll opcua.exp opcua.lib *.pdb + rm -f $(OBJECTS) $(RESOURCE) plugin.c *.pdb \ + $(PLUGIN_NAME).dll $(PLUGIN_NAME).dll.manifest $(PLUGIN_NAME).lib \ + $(PLUGIN_NAME).exp $(PLUGIN_NAME).rc distclean: clean Index: moduleinfo.nmake =================================================================== --- moduleinfo.nmake (revision 0) +++ moduleinfo.nmake (revision 0) @@ -0,0 +1,28 @@ +# +# $Id$ +# + +# The name +PACKAGE=opcua + +# The version +MODULE_VERSION_MAJOR=0 +MODULE_VERSION_MINOR=0 +MODULE_VERSION_MICRO=1 +MODULE_VERSION_EXTRA=0 + +# +# The RC_VERSION should be comma-separated, not dot-separated, +# as per Graham Bloice's message in +# +# http://www.ethereal.com/lists/ethereal-dev/200303/msg00283.html +# +# "The RC_VERSION variable in config.nmake should be comma separated. +# This allows the resources to be built correctly and the version +# number to be correctly displayed in the explorer properties dialog +# for the executables, and XP's tooltip, rather than 0.0.0.0." +# + +MODULE_VERSION=$(MODULE_VERSION_MAJOR).$(MODULE_VERSION_MINOR).$(MODULE_VERSION_MICRO).$(MODULE_VERSION_EXTRA) +RC_MODULE_VERSION=$(MODULE_VERSION_MAJOR),$(MODULE_VERSION_MINOR),$(MODULE_VERSION_MICRO),$(MODULE_VERSION_EXTRA) + Index: opcua.c =================================================================== --- opcua.c (revision 21784) +++ opcua.c (working copy) @@ -151,6 +151,9 @@ static guint get_opcua_message_len(packet_info *pinfo, tvbuff_t *tvb, int offset) { gint32 plen; + + /* use parameter to avoid warning */ + pinfo = 0; /* the message length starts at offset 4 */ plen = tvb_get_letohl(tvb, offset + 4); Index: opcua_application_layer.c =================================================================== --- opcua_application_layer.c (revision 21784) +++ opcua_application_layer.c (working copy) @@ -75,7 +75,7 @@ int parseServiceNodeId(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName) { gint iOffset = *pOffset; - guint8 EncodingMask, NSId = 0; + guint8 EncodingMask; guint32 Numeric = 0; szFieldName = 0; /* avoid warning */ @@ -92,7 +92,6 @@ iOffset+=1; break; case 0x01: /* four byte node id */ - NSId = tvb_get_guint8(tvb, iOffset); proto_tree_add_item(tree, hf_opcua_app_nsid, tvb, iOffset, 1, TRUE); iOffset+=1; Numeric = tvb_get_letohs(tvb, iOffset); @@ -100,7 +99,6 @@ iOffset+=2; break; case 0x02: /* numeric, that does not fit into four bytes */ - NSId = tvb_get_letohl(tvb, iOffset); proto_tree_add_item(tree, hf_opcua_app_nsid, tvb, iOffset, 4, TRUE); iOffset+=4; Numeric = tvb_get_letohl(tvb, iOffset); Index: opcua_complextypeparser.c =================================================================== --- opcua_complextypeparser.c (revision 21784) +++ opcua_complextypeparser.c (working copy) @@ -298,7 +298,8 @@ { proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : UserIdentityToken", szFieldName); proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_UserIdentityToken); - + subtree = 0; + pOffset = 0; } gint ett_opcua_UserNameIdentityToken = -1; @@ -1159,7 +1160,8 @@ { proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : FilterOperand", szFieldName); proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_FilterOperand); - + subtree = 0; + pOffset = 0; } gint ett_opcua_ElementOperand = -1; @@ -1273,7 +1275,8 @@ { proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : MonitoringFilter", szFieldName); proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_MonitoringFilter); - + subtree = 0; + pOffset = 0; } gint ett_opcua_EventFilter = -1; @@ -1489,7 +1492,8 @@ { proto_item *ti = proto_tree_add_text(tree, tvb, 0, -1, "%s : MonitoringFilterResult", szFieldName); proto_tree *subtree = proto_item_add_subtree(ti, ett_opcua_MonitoringFilterResult); - + subtree = 0; + pOffset = 0; } gint ett_opcua_EventFilterResult = -1; Index: opcua_security_layer.c =================================================================== --- opcua_security_layer.c (revision 21784) +++ opcua_security_layer.c (working copy) @@ -38,7 +38,6 @@ { 3, "Message" }, { 0, NULL } }; -static int hf_opcua_SecuritySigEnum = -1; static int hf_opcua_security_sig = -1; static int hf_opcua_security_policy = -1; Index: plugin.rc.in =================================================================== --- plugin.rc.in (revision 0) +++ plugin.rc.in (revision 0) @@ -0,0 +1,34 @@ +#include "winver.h" + +VS_VERSION_INFO VERSIONINFO + FILEVERSION @RC_MODULE_VERSION@ + PRODUCTVERSION @RC_VERSION@,0 + FILEFLAGSMASK 0x0L +#ifdef _DEBUG + FILEFLAGS VS_FF_PRERELEASE+VS_FF_DEBUG +#else + FILEFLAGS VS_FF_PRERELEASE +#endif + FILEOS VOS_NT_WINDOWS32 + FILETYPE VFT_DLL +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "The Wireshark developer community, http://www.wireshark.org/\0" + VALUE "FileDescription", "OPC Unified Architecture Dissector\0" + VALUE "FileVersion", "@MODULE_VERSION@\0" + VALUE "InternalName", "@PACKAGE@ @MODULE_VERSION@\0" + VALUE "LegalCopyright", "Copyright © 1998 Gerald Combs <gerald@xxxxxxxxxxxxx>, Gilbert Ramirez <gram@xxxxxxxxxxxxxxx> and others\0" + VALUE "OriginalFilename", "@PLUGIN_NAME@.dll\0" + VALUE "ProductName", "Wireshark\0" + VALUE "ProductVersion", "@VERSION@\0" + VALUE "Comments", "Build with @MSVC_VARIANT@\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END
- References:
- [Wireshark-dev] OpCua faulty checkin and breaks the build
- From: Jaap Keuter
- Re: [Wireshark-dev] OpCua faulty checkin and breaks the build
- From: Ulf Lamping
- Re: [Wireshark-dev] OpCua faulty checkin and breaks the build
- From: Gerhard Gappmeier
- [Wireshark-dev] OpCua faulty checkin and breaks the build
- Prev by Date: Re: [Wireshark-dev] OpCua faulty checkin and breaks the build
- Next by Date: [Wireshark-dev] Improve wireshark to fault injection tool
- Previous by thread: Re: [Wireshark-dev] OpCua faulty checkin and breaks the build
- Next by thread: Re: [Wireshark-dev] OpCua faulty checkin and breaks the build
- Index(es):