Commit Graph

98 Commits

Author SHA1 Message Date
Bill Meier 2ac134b3c5 whitespace fixes; mostly: remove trailing blanks
svn path=/trunk/; revision=52591
2013-10-13 19:56:52 +00:00
Pascal Quantin a0c53ffaa1 emem -> wmem conversion:
- ep_tvb_get_bits() -> wmem_packet_tvb_get_bits()
- tvb_g_memdup()/ep_tvb_memdup() -> tvb_memdup()
- tvb_fake_unicode()/tvb_get_ephemeral_faked_unicode() -> tvb_get_faked_unicode()
- tvb_get_g_string()/tvb_get_ephemeral_string()/tvb_get_seasonal_string() -> tvb_get_string()
- tvb_get_g_unicode_string()/tvb_get_ephemeral_unicode_string() -> tvb_get_unicode_string()
- tvb_get_ephemeral_string_enc() -> tvb_get_string_enc()
- update docs accordingly

svn path=/trunk/; revision=52172
2013-09-22 15:50:55 +00:00
Pascal Quantin 7623232f25 Convert a few more dissectors to wmem
svn path=/trunk/; revision=52013
2013-09-13 17:25:54 +00:00
Michael Mann 7878e93cad expert_add_info_format_text + proto_tree_add_text = proto_tree_add_expert_format, where applicable.
svn path=/trunk/; revision=50377
2013-07-03 23:43:26 +00:00
Michael Mann 45658e1cbd first batch of dissectors to use the new expert info API.
svn path=/trunk/; revision=49560
2013-05-24 18:02:54 +00:00
Anders Broman 85a8e304dd Add the posibillity to use a key for per-packet-data.
svn path=/trunk/; revision=49259
2013-05-12 18:11:02 +00:00
Michael Mann 8e2c1312d8 dissect CIP-Safety application reply data
svn path=/trunk/; revision=48887
2013-04-16 21:16:41 +00:00
Evan Huus 37600a157b Rename value string (and similar) functions to use a consistent pattern. This
was done using textual search+replace, not anything syntax-aware, so presumably
it got most comments as well (except where there were typos).

Use a consistent coding style, and make proper use of the WS_DLL_* defines.

Group the functions appropriately in the header.

I ended up getting rid of most of the explanatory comments since many of them
duplicated what was in the value_string.c file (and were out of sync with the
recent updates I made to those in r48633). Presumably most of the comments
should be in the .h file not the .c file, but there's enough churn ahead that
it's not worth fixing yet.

Part of https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8467

svn path=/trunk/; revision=48634
2013-03-29 00:26:23 +00:00
Anders Broman ef249623e6 [-Wmissing-prototypes]
Use explicit casts.

svn path=/trunk/; revision=48313
2013-03-15 06:26:47 +00:00
Bill Meier 1823aa007c it's ==> its & its ==> it's as needed.
svn path=/trunk/; revision=47891
2013-02-26 01:06:19 +00:00
Michael Mann 158574f1d6 follow/clean up to rev 47389. The causes of some of the unused hf_ was typos and refactoring. hf_cip_reserved16 was a "placeholder", so it can remain commented out.
svn path=/trunk/; revision=47419
2013-02-01 16:16:05 +00:00
Bill Meier c439b805e2 Comment out unused hf[] entries & etc.
(found by checkhf)

svn path=/trunk/; revision=47389
2013-01-31 17:55:31 +00:00
Michael Mann 3a830bfe20 ENIP/CIP
Added the start of IPv6 support for I/O conversations (waiting for spec definitions to complete).
Added support for multiple messages in a single frame to be separated in the COL_INFO column.

ENIP
Added ListIdentity delay dissection
remove check_col()

CIP
Added TimeSync object dissection

svn path=/trunk/; revision=46020
2012-11-13 13:14:48 +00:00
Michael Mann 1fe105a5ab Improve Modbus/TCP dissector, Part 1
This is a portion of the patch supplied in bug 7902 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7902).  Breaking the functionality up into smaller chunks.

This definitively breaks the Modbus dissection into 3 dissectors:
Modbus - real protocol PDU
Modbus/TCP - Encapsulation of Modbus over TCP (with a small header before PDU)
Modbus RTU - Originally an encapsulation of Modbus over serial (with smaller header + CRC), but can also be sent over TCP.

General cleanup/refactoring (including display filter names) based on the 3 dissectors.
Also included:
1. Enhanced dissection to include preferences for register data to be dissected as UINT16, UINT32 or FLOAT
2. Dynamic port registration
3. Additional fields now filterable

svn path=/trunk/; revision=45793
2012-10-26 02:15:20 +00:00
Jeff Morriss 2552c750e5 We always HAVE_CONFIG_H so don't bother checking whether we have it or not.
svn path=/trunk/; revision=45017
2012-09-20 02:03:38 +00:00
Jakub Zawadzki dee4443809 Add data parameter to dissector_try_heuristic
svn path=/trunk/; revision=44871
2012-09-11 08:26:48 +00:00
Jakub Zawadzki 5a8783f5b1 Initial commit to support yet another method of passing data between dissectors.
Add new parameter 'data' to heur_dissector_t and new_dissector_t, for now it's always NULL

svn path=/trunk/; revision=44860
2012-09-10 21:40:21 +00:00
Bill Meier 638d74d43f Use val_to_str_const() where appropriate;
Also (for a few files):
- create/use some extended value strings;
- remove unneeded #include files;
- remove unneeded variable initialization;
- re-order fcns slightly so prefs_reg_handoff...() at end, etc

svn path=/trunk/; revision=44438
2012-08-10 22:55:02 +00:00
Bill Meier a410b946f2 registered init routine actions need be done just once in proto_reg_handoff...();
localize two handles to proto_reg_handoff();

svn path=/trunk/; revision=44372
2012-08-09 03:02:15 +00:00
Michael Mann 06c393807c Add a sanity check so we don't unnecessarily allocate memory for a Multiple Service Packet message. Bugfix 7570 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7570)
svn path=/trunk/; revision=44312
2012-08-07 20:09:59 +00:00
Bill Meier 4248fa670a Explicit value_string array size specifier not required.
svn path=/trunk/; revision=43669
2012-07-11 20:26:24 +00:00
Jakub Zawadzki b18e880040 Update FSF address - part II.
svn path=/trunk/; revision=43538
2012-06-28 23:18:38 +00:00
Bill Meier 1b17369504 Fix: code under 'if(tree)' (in)directly calls sub-dissector/col_...()/expert...() fcns
svn path=/trunk/; revision=43226
2012-06-12 21:22:46 +00:00
Jeff Morriss 2e11463277 Fix some more hf encodings.
svn path=/trunk/; revision=42434
2012-05-05 00:19:49 +00:00
Jakub Zawadzki 77dc38ec5a value_string_ext: Reorder entries in value_string arrays to get Binary Search instead of Linear Search.
svn path=/trunk/; revision=42418
2012-05-04 07:34:06 +00:00
Jakub Zawadzki 5728240af1 Fix conflicting entries in CIP vendor list.
344 is registered to KEBA.
(Ref: http://www.odva.org/Home/CIPSUPPLIERDIRECTORY/LicensedVendorList/tabid/86/lng/en-US/Default.aspx)


svn path=/trunk/; revision=42417
2012-05-04 07:27:41 +00:00
Jakub Zawadzki ac5c40e6c5 Mark some function static.
svn path=/trunk/; revision=41999
2012-04-09 19:43:19 +00:00
Bill Meier a768f90aa7 Whitespace cleanup.
svn path=/trunk/; revision=41386
2012-03-06 22:29:42 +00:00
Bill Meier be89c3824b Fix incorrect packet-details display of a 1 bit FT_BOOLEAN field.
svn path=/trunk/; revision=41378
2012-03-06 20:11:43 +00:00
Jeff Morriss bb9b8880af From Michael Mann via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6893 :
The attached patches fix the following issues:

1. CIP-Motion shouldn't be a heuristic dissector.  CIP-Motion packets are
determined by specific fields in a CIP ForwardOpen.  I ran into situations
where CIP-Motion's "vague" heuristics incorrectly dissected packets meant for
CIP-Safety.  Of course this requires the ForwardOpen to be in the trace, but it
is the most deterministic way to have CIP-Motion packets.

2. Minor bugfix to the CIP-Safety dissector.  A couple of fields were
"missing", causing errant malformed packets.

svn path=/trunk/; revision=41283
2012-03-02 03:39:16 +00:00
Anders Broman 6b2b82d213 From Michael Mann:
a dissector for the ODVA protocol: CIP Safety. More information
about the protocol can be found here: 

http://www.odva.org/Home/ODVATECHNOLOGIES/CIP/CIPTechnologyOverview/CIPSafety/CIPSafetyOverview/tabid/131/lng/en-US/Default.aspx

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6862

svn path=/trunk/; revision=41201
2012-02-27 09:30:26 +00:00
Alexis La Goutte 360f156220 Fix some Dead Store (Dead assignement/Dead increment) Warning found by Clang
svn path=/trunk/; revision=40372
2012-01-04 17:34:36 +00:00
Alexis La Goutte 00dd4b455e From Michael Mann via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6697
Modbus object support for CIP dissector

Support for the Modbus object within the CIP dissector.  Essentially wraps the Modbus protocol within a CIP object.

Also included update to Modbus error code per 
http://www.wireshark.org/lists/wireshark-dev/201111/msg00187.html

svn path=/trunk/; revision=40371
2012-01-04 13:29:48 +00:00
Anders Broman e8111a59aa From Michael Mann:
ENIP dissector - improved I/O connection dissection through "better conversation"

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6617

svn path=/trunk/; revision=40059
2011-12-01 06:05:39 +00:00
Anders Broman 47bc2af5fd From Michael Mann:
Bugfixes for both Buildbot issues:
1. seg-fault with multiple_service_packet
2. infinite loop

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6519

svn path=/trunk/; revision=39843
2011-11-15 07:18:39 +00:00
Anders Broman b0ceb1cc77 From Roland Knall:
Avoiding the fuzz-test crash, but still allowing for large parts of CIP to be dissected.

ref https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6519

svn path=/trunk/; revision=39718
2011-11-02 19:36:33 +00:00
Jeff Morriss cea1d2c231 Disable the CIP dissector until we can solve the fuzz failures.
svn path=/trunk/; revision=39698
2011-11-01 00:58:21 +00:00
Guy Harris f15386dd93 Don't set mr_mult_req_info->num_services *unless we're sure
mr_mult_req_info is non-null*!  This should fix bug 6514, and possibly a
bunch of other buildbot crashes.

svn path=/trunk/; revision=39667
2011-10-29 20:41:30 +00:00
Jeff Morriss 7b6f829483 Correct an off-by-one error introduced in r39626.
svn path=/trunk/; revision=39631
2011-10-27 14:39:12 +00:00
Jeff Morriss 01de3aea36 Fix https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6498 :
Initialize cip_req_info_t.ciaData, too.

svn path=/trunk/; revision=39630
2011-10-27 14:30:57 +00:00
Jeff Morriss 8d25051a28 Followup to r39626: It is also necessary to initialize the number of services
to 0 (in case we throw an exception decoding the first service).

svn path=/trunk/; revision=39629
2011-10-27 13:30:32 +00:00
Jeff Morriss 3c622f7b80 Fix https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6491 :
Don't set mr_mult_req_info->num_services until we're sure we've
initialized the full structure for that service.  Otherwise if we
happen to throw an exception before initializing the whole
structure, we'll core someplace (like dissect_cip_generic_service_rsp())
which expects all num_services entries to be fully initialized.


svn path=/trunk/; revision=39626
2011-10-27 01:48:39 +00:00
Bill Meier 269cc1920f Fix a [-Wunused-but-set-variable] compiler warning;
Also: Remove trailing whitespace from lines.

svn path=/trunk/; revision=39623
2011-10-26 23:16:04 +00:00
Michael Tüxen 406678d63b Declare unused parameters as such. Don't assign them to themselves.
svn path=/trunk/; revision=39620
2011-10-26 20:58:05 +00:00
Anders Broman 2d9d7449b2 Try to fix
cc1: warnings being treated as errors
packet-cip.c: In function 'dissect_cip_generic_service_req':
packet-cip.c:3281: warning: format not a string literal and no format arguments
packet-cip.c: In function 'dissect_cip_generic_service_rsp':
packet-cip.c:3631: warning: format not a string literal and no format arguments
packet-cip.c: In function 'dissect_cip_data':
packet-cip.c:4881: warning: comparison between signed and unsigned

svn path=/trunk/; revision=39599
2011-10-26 06:14:53 +00:00
Anders Broman 4cfaa22784 From Michael Mann:
Improved CIP and ENIP dissectors

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6416

svn path=/trunk/; revision=39595
2011-10-26 04:55:21 +00:00
Bill Meier d7a1840204 Replace use of tvb_get_ephemeral_faked_unicode() by use of tvb_get_ephemeral_unicode_string();
Fix encoding arg as needed.

svn path=/trunk/; revision=39530
2011-10-23 22:58:45 +00:00
Bill Meier 794757ae8f For proto_tree_add_item(..., proto_xxx, ...)use ENC_NA as the encoding arg.
Also: remove trailing whitespace for a number of files.

svn path=/trunk/; revision=39503
2011-10-21 02:10:19 +00:00
Bill Meier 293049dfba Do some conversions of proto_tree_add_item() 'encoding' arg.
(previously missed).

    57   FT_BOOLEAN:       FALSE-->ENC_BIG_ENDIAN
    31   FT_BOOLEAN:       TRUE-->ENC_LITTLE_ENDIAN

    10   FT_BYTES:         ENC_BIG_ENDIAN-->ENC_NA
     1   FT_BYTES:         ENC_LITTLE_ENDIAN-->ENC_NA
    21   FT_BYTES:         FALSE-->ENC_NA
     2   FT_BYTES:         TRUE-->ENC_NA

     2   FT_IPXNET:        ENC_BIG_ENDIAN-->ENC_NA

     6   FT_IPv6:          ENC_BIG_ENDIAN-->ENC_NA
     1   FT_IPv6:          FALSE-->ENC_NA

     6   FT_NONE:          ENC_BIG_ENDIAN-->ENC_NA
    19   FT_NONE:          FALSE-->ENC_NA
     3   FT_NONE:          TRUE-->ENC_NA

     1   FT_STRING:        ENC_BIG_ENDIAN-->ENC_ASCII|ENC_NA
     1   FT_STRING:        ENC_LITTLE_ENDIAN-->ENC_ASCII|ENC_NA
     5   FT_STRING:        FALSE-->ENC_ASCII|ENC_NA
     1   FT_STRING:        TRUE-->ENC_ASCII|ENC_NA

     4   FT_STRINGZ:       ENC_NA-->ENC_ASCII|ENC_NA
     8   FT_STRINGZ:       FALSE-->ENC_ASCII|ENC_NA

     1   FT_INT32:         FALSE-->ENC_BIG_ENDIAN
     1   FT_INT32:         TRUE-->ENC_LITTLE_ENDIAN

    11   FT_UINT8:         0-->ENC_BIG_ENDIAN
   111   FT_UINT8:         FALSE-->ENC_BIG_ENDIAN
    17   FT_UINT8:         TRUE-->ENC_LITTLE_ENDIAN
     1   FT_UINT16:        0-->ENC_BIG_ENDIAN
    68   FT_UINT16:        FALSE-->ENC_BIG_ENDIAN
    18   FT_UINT16:        TRUE-->ENC_LITTLE_ENDIAN
     4   FT_UINT24:        FALSE-->ENC_BIG_ENDIAN
    70   FT_UINT32:        FALSE-->ENC_BIG_ENDIAN
     1   FT_UINT32:        TRUE-->ENC_LITTLE_ENDIAN
     4   FT_UINT64:        FALSE-->ENC_BIG_ENDIAN
     1   FT_UINT64:        TRUE-->ENC_LITTLE_ENDIAN

     1   FT_UINT_STRING:   FALSE-->ENC_ASCII|ENC_BIG_ENDIAN


svn path=/trunk/; revision=39442
2011-10-16 23:38:49 +00:00
Bill Meier 126aa85393 Convert proto_tree_add_item() 'encoding' arg for field types FT_STRING, FT_STRINGZ, FT_UINT_STRING as follows:
1. If there's no character encoding (ENC_ASCII, ...) specified
    then use ENC_ASCII.
 2. For all but FT_UINT_STRING, always use ENC_NA
    (replacing any existing True/1/FALSE/0
    /ENC_BIG_ENDIAN/ENC_LITTLE_ENDIAN).



svn path=/trunk/; revision=39426
2011-10-15 18:46:26 +00:00