Commit graph

173 commits

Author SHA1 Message Date
Gerald Combs
86fe2be4dc Use address functions instead of ADDRESS macros in asn1 and epan
Replace CMP_ADDRESS, COPY_ADDRESS, et al with their lower-case
equivalents in the asn1 and epan directories.

Change-Id: I4043b0931d4353d60cffbd829e30269eb8d08cf4
Reviewed-on: https://code.wireshark.org/review/11200
Petri-Dish: Michal Labedzki <michal.labedzki@tieto.com>
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-10-22 11:45:56 +00:00
João Valverde
a643d14187 Change proto_tree_add_ipv6() to take a struct e_in6_addr pointer
tvb_get_ipv6() takes a struct e_in6_addr *, use that here too.

Change-Id: Id8b368daa05c151a61d4bc01dc88c00da13e9c88
Reviewed-on: https://code.wireshark.org/review/10953
Reviewed-by: Michael Mann <mmann78@netscape.net>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Balint Reczey <balint@balintreczey.hu>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2015-10-14 12:18:00 +00:00
Pascal Quantin
c04d54fbd4 Preparation Host Flows: make ICMP(v6) code and type retrieval more robust
Do not retrieve type and code base on the info column content.
Instead store type and code in pinfo structure and retrieve them in sequence analysis tap.

Change-Id: I71cd505d7faf713c2372731495d47b45928a41f8
Reviewed-on: https://code.wireshark.org/review/10280
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: Pascal Artho <pascalartho@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2015-08-28 18:54:34 +00:00
Pascal Artho
9e72779636 Preparation Host Flows: Dissector Packet ICMP and ICMPv6
see https://code.wireshark.org/review/#/c/9976/

Change-Id: Ic301db4deea1a02b9e08c123b3e21e70817a2c85
Reviewed-on: https://code.wireshark.org/review/10097
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-08-18 08:47:20 +00:00
Cenk Gündoğan
b216d266fc extend the RPL dissector with basic P2P RPL support
Bug: 11301
Change-Id: I5569322a05c770524e0f0e7892addd15c7f7dbab
Reviewed-on: https://code.wireshark.org/review/9053
Reviewed-by: Evan Huus <eapache@gmail.com>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-06-23 20:14:16 +00:00
Alexis La Goutte
ce9ac00757 ICMPv6: Enhance / Update dissector
* Update to the last IANA icmpv6-parameters (2014-01-30)
* Add ICMP Locator Update message (RFC 6743)
* Add RFC 7400 (6LoWPAN-GHC: Generic Header Compression for IPv6 over Low-Power Wireless Personal Area Networks) (Add new ND Option)

Change-Id: I3d6c7f06b6f654e57844046d63c8091e5e33037a
Reviewed-on: https://code.wireshark.org/review/7629
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-03-11 05:04:43 +00:00
Michael Mann
47d670d3d7 Add tvb_address_to_str.
This is intended to handle ALL address types retrieved from a tvbuff.

One of the (good) side effects of this function is that it can replace a lot of the "hidden" ep_alloc calls used to allocate memory for the address string.

A few existing "popular" helper tvb_ functions were turned into pure macros calling tvb_address_to_str.  Some of the "less used" helper tvb_ functions were just directly replaced with tvb_address_to_str.

Change-Id: I361d991c4ad90142173e63eae02a94d68af3ec43
Reviewed-on: https://code.wireshark.org/review/6333
Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-01-07 04:25:07 +00:00
Michael Mann
1d598bbff7 Replace ip6_to_str and ip6_guint8_to_str with address_to_str and tvb_ip_to_str.
Change-Id: I1d258923a7a63539ec8456d3e306bca5016a1e4b
Reviewed-on: https://code.wireshark.org/review/6060
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-12-28 14:09:27 +00:00
Martin Mathieson
48db2548a9 Deleting unneccessary #includes from dissectors.
Second batch (packet-eth.c -> packet-icmpv6.d).

Will look at cleaning up and committing script afterwards.

Change-Id: I14295758b81a59115d8c88899f166cc3d5d17594
Reviewed-on: https://code.wireshark.org/review/6013
Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>
2014-12-23 12:22:54 +00:00
Bill Meier
b5d7b7ab6e Cleanup use of #includes in non-generated epan/dissector/*.c
Specifically:
- Set packet.h to be the first wireshark #include after
   config.h and "system" #includes.
   packet.h added as an #include in some cases when missing.
- Remove some #includes included (directly/indirectly) in
   packet.h. E.g., glib.h.
   (Done only for those files including packet.h).
- As needed, move "system" #includes to be after config.h and
   before wireshark #includes.
- Rework various #include file specifications for consistency.
- Misc.

Change-Id: Ifaa1a14b50b69fbad38ea4838a49dfe595c54c95
Reviewed-on: https://code.wireshark.org/review/5923
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-12-21 05:46:22 +00:00
Jeff Morriss
74e8613fe1 Don't check the checksum if we're encapsulated in an (ICMP) error packet.
This is the case when an ICMP echo is returned (e.g., because it's too big).

This effectively applies SVN rev 36193 to ICMPv6.

Bug: 10620
Change-Id: I29aeaabc2467c818714df448e39b3a93027c8961
Reviewed-on: https://code.wireshark.org/review/5030
Petri-Dish: Jeff Morriss <jeff.morriss.ws@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2014-11-01 15:51:58 +00:00
Pascal Quantin
b515cd3aec 6LoWPAN: fix storage of contexts coming from ICMPv6 Router Advertisement messages
Bug: 10443
Change-Id: I1a74b4d3036c61f0c8e1fca6373845ea40d87808
Reviewed-on: https://code.wireshark.org/review/4008
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Pascal Quantin <pascal.quantin@gmail.com>
2014-09-05 22:39:02 +00:00
Alexis La Goutte
82f5bdf1e1 ICMPv6: Remove soft deprecated API (tvb_length -> tvb_captured_length)
Change-Id: Ib6161f778d902430f0903f5aef2df40c8166c5aa
Reviewed-on: https://code.wireshark.org/review/3992
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-09-04 20:21:22 +00:00
Alexis La Goutte
241df8550a ICMPv6: fix missing space before 6LBR
Change-Id: Ibfb53df05691b67ac08a4f54ab0949ea17a89f89
Reviewed-on: https://code.wireshark.org/review/3971
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-09-03 19:14:31 +00:00
Guy Harris
ebff85fdbb Clean up Internet checksum handling.
Add macros to set entries of a vec_t, one for use when you have a
pointer to private data, and one for use when you have data in a tvbuff.
The latter wraps the use of tvb_get_ptr(), so that you're not directly
calling it in a dissector.

Move ip_checksum() to epan/in_cksum.c, and add an ip_checksum_tvb() that
wraps the use of tvb_get_ptr().

In the CARP dissector, give the length variable an unsigned type -
there's no benefit to it being signed, and that requires some casts to
be thrown around.

In the DCCP dissector, check only against the coverage length to see if
we have enough data, combine the "should we check the checksum?" check
with the "*can* we check the checksum?" check in a single if, and throw
a dissector assertion if the source network address type isn't IPv4 or
IPv6.

Get rid of inclues of <epan/in_cksum.h> in dissectors that don't use any
of the Internet checksum routines.

In the HIP dissector, make sure we have the data to calculate the
checksum before doing so.

Change-Id: I2f9674775dbb54c533d33082632809f7d32ec8ae
Reviewed-on: https://code.wireshark.org/review/3517
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-08-09 01:09:34 +00:00
Michael Mann
14824e6adf Revert "Fixup: tvb_* -> tvb_captured"
https://www.wireshark.org/lists/wireshark-dev/201406/msg00131.html

This reverts commit 246fe2ca4c.

Change-Id: Ib24bae0198c13a84bd7f731bf4af921212109a8f
Reviewed-on: https://code.wireshark.org/review/2430
Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-06-19 18:25:59 +00:00
Dario Lombardo
246fe2ca4c Fixup: tvb_* -> tvb_captured
Change-Id: I9209c1271967405c34c1b6fa43e1726a4d3a5a3f
Reviewed-on: https://code.wireshark.org/review/2377
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-06-18 14:14:58 +00:00
Alexis La Goutte
296591399f Remove all $Id$ from top of file
(Using sed : sed -i '/^ \* \$Id\$/,+1 d')

Fix manually some typo (in export_object_dicom.c and crc16-plain.c)

Change-Id: I4c1ae68d1c4afeace8cb195b53c715cf9e1227a8
Reviewed-on: https://code.wireshark.org/review/497
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-03-04 14:27:33 +00:00
Alexis La Goutte
b84d5ac17e Enhance / Update ICMPv6 dissector
* Update to the last IANA icmpv6-parameters (2014-01-30)
* Update to final draft (for RFC 6743 and RFC 6775)
* Add RFC 7112 (Implications of Oversized IPv6 Header Chains) support (Add new Parameter Problem code)
* Fix a encoding arg

Change-Id: I90f65dfc54e5c0aff21a0e7ec2c937304aced02d
Reviewed-on: https://code.wireshark.org/review/62
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2014-01-31 16:08:23 +00:00
Jakub Zawadzki
4cf7cdd387 fix some warnings.
svn path=/trunk/; revision=54334
2013-12-21 17:34:41 +00:00
Jakub Zawadzki
1053e722ed Fix warnings
svn path=/trunk/; revision=54089
2013-12-14 12:45:57 +00:00
Chris Maynard
87d36305f9 Fix Coverity CID 1134046: Structurally dead code.
svn path=/trunk/; revision=53704
2013-12-02 00:45:44 +00:00
Martin Mathieson
da7af5c1f7 Also add filter and expert info for ICMPv6 requests with no responses.
svn path=/trunk/; revision=53687
2013-12-01 08:51:07 +00:00
Michael Mann
55c6869980 Remove ip_ttl from packet_info structure.
Part of the fix includes having the IPv6 dissector populate as much of a ws_ip structure as possible to pass to subdissectors of the "ip.proto" table, so the ttl value can be picked up.

svn path=/trunk/; revision=53522
2013-11-23 19:16:05 +00:00
Michael Mann
9b7fb8a811 Create the ability to have packet scoped "proto" data. Bug 9470 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9470)
I'm not sold on the name or module the proto_data functions live in, but I believe the function arguments are solid and gives us the most flexibility for the future.  And search/replace of a function name is easy enough to do.

The big driving force for getting this in sooner rather than later is the saved memory on ethernet packets (and IP packets soon), that used to have file_scope() proto data when all it needed was packet_scope() data (technically packet_info->pool scoped), strictly for Decode As.

All dissectors that use p_add_proto_data() only for Decode As functionality have been converted to using packet_scope().  All other dissectors were converted to using file_scope() which was the original scope for "proto" data.

svn path=/trunk/; revision=53520
2013-11-23 02:20:13 +00:00
Alexis La Goutte
ccb8b8fd36 Remove some #include (Found by iwyu)
svn path=/trunk/; revision=53269
2013-11-12 09:23:37 +00:00
Michael Mann
9e3f9b449f expert_add_info_format_text -> expert_add_info_format
svn path=/trunk/; revision=51852
2013-09-09 00:44:09 +00:00
Evan Huus
c0763b00bd More wmem.
svn path=/trunk/; revision=51619
2013-08-31 16:17:31 +00:00
Jakub Zawadzki
5fa2a99087 Keep result of [new_]register_dissector in some dissectors.
svn path=/trunk/; revision=51156
2013-08-05 18:09:43 +00:00
Michael Mann
6229ab6266 Batch of filterable expert infos.
svn path=/trunk/; revision=49845
2013-06-08 02:06:24 +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
Alexis La Goutte
93873346ce Make fix-encodings-args Happy
svn path=/trunk/; revision=48785
2013-04-07 18:56:56 +00:00
Alexis La Goutte
5bd548e9b5 From report TheDarkEye via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8554 Part of Ping Reply Message in ICMPv6 Reply Message is marked as "Malformed Packet"
(Wrong offset variable...)

#BACKPORT(1.8)

svn path=/trunk/; revision=48767
2013-04-07 15:57:01 +00:00
Chris Maynard
67ffb10e64 Add checksum_bad, set to FALSE to the tree when the checksum is correct. Use PROTO_ITEM_SET_HIDDEN instead of PROTO_ITEM_SET_GENERATED so ICMP and ICMPv6 are consistent.
See: http://ask.wireshark.org/questions/19844/icmp-display-filter-checksum_bad-ignored

#BACKPORT(1.6, 1.8)

svn path=/trunk/; revision=48563
2013-03-26 18:08:05 +00:00
Anders Broman
55c498169d From beroset:
remove C++ incompatibilities 
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8416

svn path=/trunk/; revision=48400
2013-03-18 21:16:23 +00:00
Bill Meier
ad0219d033 Change 'for (i=1; i<=n;...' to 'for (i=0; i<n; ...)
The changes fix definite problems or
are done "just in case" for cases not esily determined
to be a problem by quick inspection.

Note: in some cases for loop index variables have been renamed
      to ensure  all required codes changes detected.

##backport

svn path=/trunk/; revision=45477
2012-10-11 19:20:21 +00:00
Guy Harris
f154882eb5 The usual idiom in C for "do this N times" is "for (i = 0; i < N; i++)",
not "for (i = 1; i < N+1; i++)".

Even if it weren't the idiom, it'd be safer, at least for unsigned
values, as, if i and N are the same width, and N has the maximum
possible value for that width, the first of those runs i from 0 to N-1,
all of which fit in a variable of that width, and the second of those
runs i from 1 to N, the latter of which doesn't fit into a variable of
that width, so modulo arithmetic turns it into 0 and the loop keeps
running forever.

Fixes bug 7844.

svn path=/trunk/; revision=45459
2012-10-11 00:02:14 +00:00
Chris Maynard
a50e1a98ae Apply Ronnie Sahlberg's ICMP request/response tracking improvements from r45343 to ICMPv6. (Tested using captures from bug 5810).
svn path=/trunk/; revision=45439
2012-10-09 22:34:40 +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
Chris Maynard
4b5a9a2663 Since r41681, IPv6 sets pinfo->ip_ttl as the hop limit, so display that in the
INFO column, similar to how IPv4 displays the TTL.

svn path=/trunk/; revision=45008
2012-09-19 19:12:25 +00:00
Chris Maynard
86db174948 Fix request/response tracking with checksum corner case.
svn path=/trunk/; revision=45007
2012-09-19 17:57:54 +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
Alexis La Goutte
01079fba93 From Owen Kirby via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7704
IANA assignments for 6LoWPAN-ND

draft-ietf-6lowpan-nd-21 has entered the RFC editor's queue, and has been
officially assigned values for the ICMPv6 message and option type codes ( as
seen at http://www.iana.org/assignments/icmpv6-parameters/icmpv6-parameters.xml
)

This patch replaces the old placeholder values for the 6LoWPAN-ND types with
the official IANA assignments.

svn path=/trunk/; revision=44808
2012-09-07 11:54:25 +00:00
Anders Broman
e128334750 From Owen Kirby:
6LoWPAN: Automatic context detection and draft-ietf-6lowpan-nd-19 updates.

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

svn path=/trunk/; revision=44723
2012-09-01 11:54:16 +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
Alexis La Goutte
d229d813d0 Update to the last draft-ietf-6lowpan-nd-19 updates
Extended ABRO with longer version number and valid lifetime, 
while maintaining backward compatibility

svn path=/trunk/; revision=44164
2012-07-31 19:42:20 +00:00
Alexis La Goutte
e761d193c9 Update ICMPv6 to last IANA Parameters (2012-07-18)
Add draft-irtf-rrg-ilnp-icmpv6-06: ICMP Locator Update message for ILNPv6 ID (Conflit with draft-ietf-6lowpan-nd-18...)

svn path=/trunk/; revision=44160
2012-07-31 17:16:52 +00:00
Jakub Zawadzki
bf81b42e1e Update Free Software Foundation address.
(COPYING will be updated in next commit)

svn path=/trunk/; revision=43536
2012-06-28 22:56:06 +00:00
Pascal Quantin
472f036552 Do not use same name for filters with incompatible types
svn path=/trunk/; revision=43448
2012-06-23 14:36:21 +00:00
Guy Harris
5d4e982e93 Get rid of remaining Booleans-as-encoding-arguments in
proto_tree_add_item() calls.

svn path=/trunk/; revision=42491
2012-05-07 23:40:44 +00:00