Wireshark-bugs: [Wireshark-bugs] [Bug 9442] New: DNP3 Bug Fix for Analog Data Sign Bit Handling

Date: Fri, 15 Nov 2013 21:20:27 +0000
Bug ID 9442
Summary DNP3 Bug Fix for Analog Data Sign Bit Handling
Classification Unclassified
Product Wireshark
Version 1.11.x (Experimental)
Hardware x86
OS Windows 8
Status UNCONFIRMED
Severity Minor
Priority Low
Component Dissection engine (libwireshark)
Assignee [email protected]
Reporter [email protected]

Created attachment 12101 [details]
DNP3 Analog Data Sign-Bit-Handling Patch 11-15-2013

Build Information:
Version 1.11.1 (SVN Rev Unknown from unknown)

Copyright 1998-2013 Gerald Combs <[email protected]> and contributors.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiled (32-bit) with GTK+ 3.4.4, with Cairo 1.10.2, with Pango 1.30.1, with
GLib 2.32.4, with WinPcap (4_1_3), with libz 1.2.5, with SMI 0.4.8, with c-ares
1.9.1, with Lua 5.1, without Python, with GnuTLS 2.12.18, with Gcrypt 1.4.6,
with MIT Kerberos, with GeoIP, with PortAudio V19-devel (built Nov 14 2013),
with AirPcap.

Running on 64-bit Windows 8, build 9200, with WinPcap version 4.1.3 (packet.dll
version 4.1.0.2980), based on libpcap version 1.0 branch 1_0_rel0b (20091008),
GnuTLS 2.12.18, Gcrypt 1.4.6, without AirPcap.
       Intel(R) Core(TM) i7-3687U CPU @ 2.10GHz, with 8074MB of physical
memory.


Built using Microsoft Visual C++ 10.0 build 30319

Wireshark is Open Source Software released under the GNU General Public
License.

Check the man page and http://www.wireshark.org for more information.
--
This is a patch file for a fix I've been meaning to submit for around 8 years
or so.  :)

The DNP3 protocol document set does specify that certain analog data types are
to be interpreted as signed (with negative values possible).  The rules are
roughly as follows:

Analog Input or Output (16 or 32-bit Integer) - range of -32768 -> +32767 or
-2147483648 -> +2147483647
Counter (16 or 32-bit Integer) - Unsigned, 0->65535 or 0->4294967296

This patch corrects handling for Analog Input/Output data when negative values
are returned in messages.  Previously, all analog data was handled as unsigned,
therefore negative values were returned as high positive values.

A sample capture is included illustrating analog input data (16 and 32-bit)
with various positive and negative values.


You are receiving this mail because:
  • You are watching all bug changes.