from Gerhard Gappmeier (ULFL: only slightly changed the unused prevention):
authorulfl <ulfl@f5534014-38df-0310-8fa8-9805f1628bb7>
Wed, 16 May 2007 08:13:11 +0000 (08:13 +0000)
committerulfl <ulfl@f5534014-38df-0310-8fa8-9805f1628bb7>
Wed, 16 May 2007 08:13:11 +0000 (08:13 +0000)
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.

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@21802 f5534014-38df-0310-8fa8-9805f1628bb7

plugins/opcua/Makefile.am
plugins/opcua/Makefile.common
plugins/opcua/Makefile.nmake
plugins/opcua/moduleinfo.nmake [new file with mode: 0644]
plugins/opcua/opcua.c
plugins/opcua/opcua_application_layer.c
plugins/opcua/opcua_complextypeparser.c
plugins/opcua/opcua_security_layer.c
plugins/opcua/plugin.rc.in [new file with mode: 0644]

index bd10e17b83958597ef5fe8426516f458ec3816c7..fafb8bf8e2677bb1dd252efc0e24ef5f6fe7873b 100644 (file)
@@ -27,6 +27,10 @@ INCLUDES = -I$(top_srcdir) -I$(includedir)
 
 include Makefile.common
 
+if HAVE_WARNINGS_AS_ERRORS
+AM_CFLAGS = -Werror
+endif
+
 plugindir = @plugindir@
 
 plugin_LTLIBRARIES = opcua.la
@@ -34,6 +38,7 @@ opcua_la_SOURCES = \
        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 @@ MAINTAINERCLEANFILES = \
 
 EXTRA_DIST = \
        Makefile.common         \
-       Makefile.nmake
+       Makefile.nmake          \
+       moduleinfo.nmake        \
+       plugin.rc.in            \
+       README
index 689f4807a2ddcfdc886f97f24cfdff14133f7416..6a5b0d9ecc87093d4b77426ff9bb9c896d09482d 100644 (file)
@@ -29,16 +29,7 @@ PLUGIN_NAME = opcua
 
 # 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 @@ DISSECTOR_INCLUDES = \
        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 daf998f2dc9e820930b35adce7d4d98c743814e2..c265b1cbc5cfca1fc9ea58d0ac7b3bcfa9f94b6e 100644 (file)
@@ -5,12 +5,11 @@
 #
 
 include ..\..\config.nmake
-
-############### no need to modify below this line #########
+include moduleinfo.nmake
 
 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 @@ CFLAGS=/DHAVE_WIN32_LIBWIRESHARK_LIB /D_NEED_VAR_IMPORT_ $(CFLAGS)
 
 DISSECTOR_OBJECTS = $(DISSECTOR_SRC:.c=.obj)
 
-OBJECTS=$(DISSECTOR_OBJECTS) plugin.obj
+DISSECTOR_SUPPORT_OBJECTS = $(DISSECTOR_SUPPORT_SRC:.c=.obj)
+
+OBJECTS = $(DISSECTOR_OBJECTS) $(DISSECTOR_SUPPORT_OBJECTS) plugin.obj
+
+RESOURCE=$(PLUGIN_NAME).res
+
+all: $(PLUGIN_NAME).dll
 
-opcua.dll opcua.exp opcua.lib : $(OBJECTS) $(LINK_PLUGIN_WITH) 
-       link -dll /out:opcua.dll $(LDFLAGS) $(OBJECTS) $(LINK_PLUGIN_WITH)  \
-       $(GLIB_LIBS)
+$(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 @@ opcua.dll opcua.exp opcua.lib : $(OBJECTS) $(LINK_PLUGIN_WITH)
 # 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 @@ plugin.c: $(DISSECTOR_SRC)
 !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
 
diff --git a/plugins/opcua/moduleinfo.nmake b/plugins/opcua/moduleinfo.nmake
new file mode 100644 (file)
index 0000000..c4b165f
--- /dev/null
@@ -0,0 +1,28 @@
+#\r
+# $Id$\r
+#\r
+\r
+# The name\r
+PACKAGE=opcua\r
+\r
+# The version\r
+MODULE_VERSION_MAJOR=0\r
+MODULE_VERSION_MINOR=0\r
+MODULE_VERSION_MICRO=1\r
+MODULE_VERSION_EXTRA=0\r
+\r
+#\r
+# The RC_VERSION should be comma-separated, not dot-separated, \r
+# as per Graham Bloice's message in\r
+#\r
+#      http://www.ethereal.com/lists/ethereal-dev/200303/msg00283.html\r
+#\r
+# "The RC_VERSION variable in config.nmake should be comma separated. \r
+# This allows the resources to be built correctly and the version\r
+# number to be correctly displayed in the explorer properties dialog\r
+# for the executables, and XP's tooltip, rather than 0.0.0.0."\r
+#\r
+\r
+MODULE_VERSION=$(MODULE_VERSION_MAJOR).$(MODULE_VERSION_MINOR).$(MODULE_VERSION_MICRO).$(MODULE_VERSION_EXTRA)\r
+RC_MODULE_VERSION=$(MODULE_VERSION_MAJOR),$(MODULE_VERSION_MINOR),$(MODULE_VERSION_MICRO),$(MODULE_VERSION_EXTRA)\r
+\r
index 6f21594bd16672a73afed9638ae00d39e4bc2778..920a29862a99a28e16db0820e00f1dc63d34d62e 100644 (file)
@@ -148,7 +148,7 @@ void proto_reg_handoff_opcua(void)
   * This function reads the length information from
   * the transport header.
   */
-static guint get_opcua_message_len(packet_info *pinfo, tvbuff_t *tvb, int offset)
+static guint get_opcua_message_len(packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
 {
     gint32 plen;
 
@@ -254,3 +254,4 @@ static void dissect_opcua_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree
 
 
 
+
index 0626cfb517a64c108b9a317962e0b96d09e3c623..4f68cccdedfb4871f0d9bee34f27d97a36713e2b 100644 (file)
@@ -75,7 +75,7 @@ void registerApplicationLayerTypes(int proto)
 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 @@ int parseServiceNodeId(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szF
         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 @@ int parseServiceNodeId(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szF
         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);
@@ -120,3 +118,4 @@ int parseServiceNodeId(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szF
     return Numeric;
 }
 
+
index cffedb312b96a50643b848bbd508edc4989e8790..b1ee709af71e040c9a6e9f5da8f98f8d3eda1462 100644 (file)
@@ -294,11 +294,11 @@ void parseEndpointConfiguration(proto_tree *tree, tvbuff_t *tvb, gint *pOffset,
 }
 
 gint ett_opcua_UserIdentityToken = -1;
-void parseUserIdentityToken(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+void parseUserIdentityToken(proto_tree *tree, tvbuff_t *tvb, gint *pOffset _U_, char *szFieldName)
 {
   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; 
 }
 
 gint ett_opcua_UserNameIdentityToken = -1;
@@ -1155,11 +1155,11 @@ void parseContentFilter(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *sz
 }
 
 gint ett_opcua_FilterOperand = -1;
-void parseFilterOperand(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+void parseFilterOperand(proto_tree *tree, tvbuff_t *tvb, gint *pOffset _U_, char *szFieldName)
 {
   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; 
 }
 
 gint ett_opcua_ElementOperand = -1;
@@ -1269,11 +1269,11 @@ void parseHistoryReadResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char
 }
 
 gint ett_opcua_MonitoringFilter = -1;
-void parseMonitoringFilter(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+void parseMonitoringFilter(proto_tree *tree, tvbuff_t *tvb, gint *pOffset _U_, char *szFieldName)
 {
   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; 
 }
 
 gint ett_opcua_EventFilter = -1;
@@ -1485,11 +1485,11 @@ void parseDataChangeFilter(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char
 }
 
 gint ett_opcua_MonitoringFilterResult = -1;
-void parseMonitoringFilterResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset, char *szFieldName)
+void parseMonitoringFilterResult(proto_tree *tree, tvbuff_t *tvb, gint *pOffset _U_, char *szFieldName)
 {
   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; 
 }
 
 gint ett_opcua_EventFilterResult = -1;
@@ -1747,3 +1747,4 @@ void registerComplexTypes()
   proto_register_subtree_array(ett, array_length(ett));
 }
 
+
index 61d97e5c40e334faee1d9ab815a23b70cd910f65..fc19dc57f66de1e01fbead2d3e674293e425e218 100644 (file)
@@ -38,7 +38,6 @@ static const value_string g_SecSigTable[] = {
   { 3, "Message" },
   { 0, NULL }
 };
-static int hf_opcua_SecuritySigEnum = -1;
 
 static int hf_opcua_security_sig = -1;
 static int hf_opcua_security_policy = -1;
@@ -97,3 +96,4 @@ void parseSecurityLayer(proto_tree *tree, tvbuff_t *tvb, gint *pOffset)
     }
 }
 
+
diff --git a/plugins/opcua/plugin.rc.in b/plugins/opcua/plugin.rc.in
new file mode 100644 (file)
index 0000000..7e181a4
--- /dev/null
@@ -0,0 +1,34 @@
+#include "winver.h"\r
+\r
+VS_VERSION_INFO VERSIONINFO\r
+ FILEVERSION @RC_MODULE_VERSION@\r
+ PRODUCTVERSION @RC_VERSION@,0\r
+ FILEFLAGSMASK 0x0L\r
+#ifdef _DEBUG\r
+ FILEFLAGS VS_FF_PRERELEASE+VS_FF_DEBUG\r
+#else\r
+ FILEFLAGS VS_FF_PRERELEASE\r
+#endif\r
+ FILEOS VOS_NT_WINDOWS32\r
+ FILETYPE VFT_DLL\r
+BEGIN\r
+    BLOCK "StringFileInfo"\r
+    BEGIN\r
+        BLOCK "040904b0"\r
+        BEGIN\r
+            VALUE "CompanyName", "The Wireshark developer community, http://www.wireshark.org/\0"\r
+            VALUE "FileDescription", "OPC Unified Architecture Dissector\0"\r
+            VALUE "FileVersion", "@MODULE_VERSION@\0"\r
+            VALUE "InternalName", "@PACKAGE@ @MODULE_VERSION@\0"\r
+            VALUE "LegalCopyright", "Copyright © 1998 Gerald Combs <gerald@wireshark.org>, Gilbert Ramirez <gram@alumni.rice.edu> and others\0"\r
+            VALUE "OriginalFilename", "@PLUGIN_NAME@.dll\0"\r
+            VALUE "ProductName", "Wireshark\0"\r
+            VALUE "ProductVersion", "@VERSION@\0"\r
+            VALUE "Comments", "Build with @MSVC_VARIANT@\0"\r
+        END\r
+    END\r
+    BLOCK "VarFileInfo"\r
+    BEGIN\r
+        VALUE "Translation", 0x409, 1200\r
+    END\r
+END\r