Commit graph

89 commits

Author SHA1 Message Date
Michael Mann
4088a8286d SET_ADDRESS -> TVB_SET_ADDRESS to "hide" some of the tvb_get_ptr use.
Not all changes were able to remove their corresponding tvb_get_ptr, because there are other API dependent on the (tvb_get)pointer, but future iterations optimizing those other APIs will then be able to remove it.

Change-Id: Id7cefd440b81834de1d1aace7cd0789b1c871a22
Reviewed-on: https://code.wireshark.org/review/6358
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-01-07 12:37:52 +00:00
Martin Mathieson
86ed26f0b8 Deleting unnecessary #includes from dissectors.
Third batch (packet-icmpv6.c -> packet-mac-lte.c).

Will look at cleaning up and committing script afterwards.

Change-Id: Ib91e36ad200db01c3000605f6a7a21125b96a640
Reviewed-on: https://code.wireshark.org/review/6018
Petri-Dish: Martin Mathieson <martin.r.mathieson@googlemail.com>
Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>
2014-12-23 14:44:28 +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
Guy Harris
2b006ad30e Have a heur_dissector_list_t be an opaque handle.
This allows dissector lists to be looked up by name, so they can be
shared by multiple dissectors.

(This means that there's no "udplite" heuristic dissector list, but
there shouldn't be one - protocols can run atop UDP or UDPLite equally
well, and they share a port namespace and uint dissector table, so they
should share a heuristic dissector table as well.)

Change-Id: Ifb2d2c294938c06d348a159adea7a57db8d770a7
Reviewed-on: https://code.wireshark.org/review/5936
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-21 04:14:24 +00:00
Michael Mann
a2c2f872f4 Remove the use of pinfo->private_data from dissectors that just save it to restore it.
Change-Id: I13197cc48068bb35ee12a7023cfe5f76bbc4e264
Reviewed-on: https://code.wireshark.org/review/5486
Petri-Dish: Michael Mann <mmann78@netscape.net>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-11-26 16:20:59 +00:00
Joe Fowler
392dae58db Add new dissector for Shared Memory Communications over RDMA protocol (SMC-R)
RFC draft http://www.ietf.org/id/draft-fox-tcpm-shared-memory-rdma-05.txt
used as reference for packet dissection.

A small change was made to packet-infiniband, to add the Queue Number to the
info column.  This allows for easy indentification of session traffic for a
particular QP.

Also: infiniband: tvb_length() --> tvb_captured_length()

Bug: 10715
Change-Id: I774ceffaa5c271cb6a28ab4ed21e53cd42f2547b
Reviewed-on: https://code.wireshark.org/review/5386
Petri-Dish: Bill Meier <wmeier@newsguy.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-11-25 04:48:27 +00:00
Alexis La Goutte
f62d60b082 Infiniband: fix warning: C++ style comments are not allowed in ISO C90
Change-Id: I706d6b7cf4c8d0367f485b55fa11a905bff426d1
Reviewed-on: https://code.wireshark.org/review/4957
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-10-28 01:26:05 +00:00
Tim (Thanh) Nguyen
a9497befeb RoCE and CM dissector fixes
- fixed cm.req cm.rep bit fields
- fixed packetLength and CRC length for RoCE
- use "RoCE" or "RRoCE" instead of "InfiniBand" in COL_PROTOCOL where appropriate

Change-Id: Id491658f9368034bb2267922fa5618e1c259cd56
Reviewed-on: https://code.wireshark.org/review/4614
Petri-Dish: Bill Meier <wmeier@newsguy.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-10-13 15:45:33 +00:00
Bill Meier
10406870f5 Add editor modelines; fix indentation as needed.
Change-Id: I1ad94654343e5a018a0b3159481d45ffb3a91263
Reviewed-on: https://code.wireshark.org/review/4363
Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-09-29 13:47:02 +00:00
Wasim Abu Moch
a886f8f740 packet-infiniband: added support for RoCE-v2 (RRocE)
Added support for the new Routable RDMA over Converged Ethernet.
    (NEW PATCH)

Change-Id: I857a27c4f29cc78fcea8efa113e3c7e968eb041b
Reviewed-on: https://code.wireshark.org/review/4156
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-09-22 02:57:46 +00:00
Evan Huus
f0b4411783 Revert "packet-infiniband: added support for RoCE-v2 (RRocE)"
This reverts commit 07078921e4.

Change-Id: I5b88f0203558c86562694ca841d28314bff336a5
Reviewed-on: https://code.wireshark.org/review/4152
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-09-17 14:12:57 +00:00
Evan Huus
933ae8ea8b Add missing initializer
Change-Id: I60917502ef869bb519b37bb0252371dbc91a608d
Reviewed-on: https://code.wireshark.org/review/4146
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-09-17 13:36:57 +00:00
Wasim Abu Moch
07078921e4 packet-infiniband: added support for RoCE-v2 (RRocE)
Added support for the new Routable RDMA over Converged Ethernet.

Change-Id: I97bc29fdc92bdcb12888f38383107a965837963e
Reviewed-on: https://code.wireshark.org/review/3723
Petri-Dish: Evan Huus <eapache@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-09-17 13:11:44 +00:00
Wasim Abu Moch
b6cb2ad049 packet-infiniband: added support for Mellanox DC transport type
*marked parse_DCCETH() function's unesed parameters with _U_ macro instead of (void) */
*Added few whitespaces (new lines), were mistakenly removed"*

Adding minimal support for Mellanox DC transport type which
replaces RD (RD isn't implemented in any HW yet).
It's minimal in the sense of skipping new headers without
parsing/showing them, this allows at least to keep correct IB packet parsing
due to the new added header for this TS. (in this stage we can't expose
the protocol details including it's header layout)

Change-Id: I6cffa6497632ba19a6f9ec60a4f68da60b28e821
Reviewed-on: https://code.wireshark.org/review/3719
Reviewed-by: Evan Huus <eapache@gmail.com>
Petri-Dish: Evan Huus <eapache@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-08-22 10:54:40 +00:00
Wasim Abu Moch
401469880b packet-erf: added dissector table for "erf.types.type" type field.
1- removed unnecessary include <wiretap/erf.h>
2- used fall through in protocol switch case instead of calling same
function with same params.

fixes/changes after review with Evan Huus, changes ETH/IPv4/IPv6/Infiniband/InfinibandLink
to use dissector table instead of direct function calls.
other protocols should be called in the same way, we'll do it when have
the time.

instead of calling subdissector directly from packet-erf.c code it's
easier to declare this and each time we need to register a new
protocol over erf format we sould easily extend it from the protcol module
instead using "dissector_add_uint()" function.

the change is still backward compatible, if no upper protocol is
registered for the specifc type an old fasion direct function call
is performed.

Change-Id: I3ae1ccfdd49ab8f90667185296cc950dc2184475
Reviewed-on: https://code.wireshark.org/review/3670
Petri-Dish: Evan Huus <eapache@gmail.com>
Reviewed-by: Evan Huus <eapache@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-08-21 02:20:17 +00:00
Yan Burman
17872b57e9 Fix setting PT_IBQP type
Without this patch, pinfo->ptype is PT_UNKNOWN

Change-Id: Ia15b5115f874d0c9ff69be11ed7ee3dac1fadbd5
Signed-off-by: Yan Burman <yanb@mellanox.com>
Reviewed-on: https://code.wireshark.org/review/2941
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-07-08 15:18:17 +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
AndersBroman
2cfda31ff0 Change the signature of dissector_try_heuristic() to return hdtbl_entry
which can be used to call the found heuristic dissector on the next pass.

Introduce call_heur_dissector_direct() to be used to call a heuristic
dissector which accepted the frame on the first pass.

Change-Id: I524edd717b7d92b510bd60acfeea686d5f2b4582
Reviewed-on: https://code.wireshark.org/review/1697
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-05-21 20:17:29 +00:00
Michael Mann
5838881f2e Have Infiniband dissector show payload. Bug 9929.
The trees in the infiniband dissectors were incorrectly setup causing the data dissector to always have a NULL tree (so it wouldn't appear in packet view).

Also cleaned up some other unnecessary global variables.

Change-Id: I778073bdca864dfc5087cdcfc7ef0018f9bd704c
Reviewed-on: https://code.wireshark.org/review/915
Tested-by: Michael Mann <mmann78@netscape.net>
Reviewed-by: Graham Bloice <graham.bloice@trihedral.com>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-04-02 14:05:43 +00:00
Bart Van Assche
761464f8ad Fix InfiniBand dissector. Bug 9719
Change-Id: I7b9df14b4d9aa520c3fe28c86014665461b758f2
Reviewed-on: https://code.wireshark.org/review/917
Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-04-02 08:14:53 +00:00
Patrick MacArthur
eff7a9b645 Fix dissection of RDMA WRITE ONLY IMM packets.
Change-Id: Icdc4aaa243191dc85e067a75a068c175fa09296b
Reviewed-on: https://code.wireshark.org/review/637
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2014-03-13 21:46:31 +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
Pascal Quantin
985d334f9b Replace tabs by spaces
Change-Id: Ib7b97c415fdf924783637bfe566f1e7d21e28369
Reviewed-on: https://code.wireshark.org/review/401
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2014-02-26 09:23:23 +00:00
Stefan Metzmacher
8242756aed packet-infiniband: pass a struct infinibandinfo to subdissectors
Change-Id: I187a1a91f34b1b758cad03bd9902ba132272cd3a
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-on: https://code.wireshark.org/review/357
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2014-02-26 09:12:20 +00:00
Jakub Zawadzki
deb2b236f2 Add missing includes
svn path=/trunk/; revision=54332
2013-12-21 17:23:17 +00:00
Anders Broman
e8b935ad6e Fix [-Wmissing-prototypes]
svn path=/trunk/; revision=54209
2013-12-18 06:51:09 +00:00
Jakub Zawadzki
c45475ab45 Fix [-Wmissing-prototypes]
svn path=/trunk/; revision=54135
2013-12-15 23:44:12 +00:00
Michael Mann
eabaddaca9 Remove ethertype, mpls_label and ppids from packet_info structure.
The information was converted to "proto" data within their respective dissectors strictly for use in "Decode As".

svn path=/trunk/; revision=53489
2013-11-21 20:08:20 +00:00
Jakub Zawadzki
ae59b09443 Add missing includes in order to remove exceptions.h from proto.h (next commit).
svn path=/trunk/; revision=53230
2013-11-10 15:59:37 +00:00
Bill Meier
0ad98563a2 From didier gautheron: remove redundant or use faster col_xxx functions
- when the text parameter is constant col_add_str() and col_set_str() are equivalent but col_set_str() is faster.
- same for  replace col_append_fstr and col_append_str
- remove col_clear() when it's redundant:
    + before a col_set/col_add if the dissector can't throw an exception.
- replace col_append() after a col_clear() with faster col_add... or col_set

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


svn path=/trunk/; revision=52948
2013-10-29 14:09:20 +00:00
Gerald Combs
6079691af4 Convert each of the address.h macros to inline functions.
Document each function. Note that we now call tvb_get_ptr() before
modifying the address in tvb_set_address() and tvb_set_address_hf(). The
caller doesn't have to worry about doing that any more. Add
add_address_to_hash64().

svn path=/trunk/; revision=52106
2013-09-16 21:15:49 +00:00
Pascal Quantin
9486a3d974 More wmem conversion (leaving uat related functions aside)
svn path=/trunk/; revision=52055
2013-09-15 13:46:13 +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
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
Guy Harris
6b629c4d92 Move show_exception() and show_reported_bounds_error() to
epan/show_exception.c, as it's used outside
epan/dissectors/packet-frame.c.  Update their callers to include
<epan/show_exception.h> to get their declaration.

Add a CATCH_NONFATAL_ERRORS macro that catches all exceptions that, if
there's more stuff in the packet to dissect after the dissector call
that threw the exception, doesn't mean you shouldn't go ahead and
dissect that stuff.  Use it in all those cases, including ones where
BoundsError was inappropriately being caught (you want those passed up
to the top level, so that the packet is reported as having been cut
short in the capture process).

Add a CATCH_BOUNDS_ERRORS macro that catches all exceptions that
correspond to running past the end of the data for a tvbuff; use it
rather than explicitly catching those exceptions individually, and
rather than just catching all exceptions (the only place that
DissectorError should be caught, for example, is at the top level, so
dissector bugs show up in the protocol tree).

Don't catch and then immediately rethrow exceptions without doing
anything else; just let the exceptions go up to the final catcher.

Use show_exception() to report non-fatal errors, rather than doing it
yourself.
 
If a dissector is called from Lua, catch all non-fatal errors and use
show_exception() to report them rather than catching only
ReportedBoundsError and adding a proto_malformed item.

Don't catch exceptions when constructing a trailer tvbuff in
packet-ieee8023.c - just construct it after the payload has been
dissected, and let whatever exceptions that throws be handled at the top
level.

Avoid some TRY/CATCH/ENDTRY cases by using checks such as
tvb_bytes_exist() before even looking in the tvbuff.

svn path=/trunk/; revision=47924
2013-02-27 22:43:54 +00:00
Bill Meier
96a24cc79f Fix spelling/typos found using a list of commonly misspelled words.
The misspellings were mostly in comments but some were
in text strings visible to the user.


svn path=/trunk/; revision=47899
2013-02-26 04:42:26 +00:00
Gilbert Ramirez
10dd94fa0b Add support for HFI and infiniband interfaces in AIX iptrace files.
svn path=/trunk/; revision=47258
2013-01-24 18:08:25 +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
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
Bill Meier
bc55ee0616 Fix "Function call argument is an uninitialized value" issue found by scan-build.
(It seems to me that this issue would rarely, if ever, actually occur).

Also:
- Use val_to_str_const() as appropriate;
- Localize some variables;
- Remove unneeded initializers;
- Do some parenthesizing;
- Use a consistent formatting style;
- Do whitespace cleanup.

svn path=/trunk/; revision=42754
2012-05-21 18:25:29 +00:00
Jakub Zawadzki
a125dc89b7 Fix bug #7053, change ep_ to se_
** ERROR **: Memory corrupted (not scrubbed) dead0004

svn path=/trunk/; revision=42002
2012-04-10 07:26:23 +00:00
Jakub Zawadzki
a7420029a8 Fix invalid use of sizeof, it should be array length.
svn path=/trunk/; revision=41960
2012-04-05 20:03:49 +00:00
Alexis La Goutte
27f56dd47f Fix some Dead Store (Dead assignement/Dead increment) Warning found by Clang
svn path=/trunk/; revision=41467
2012-03-10 17:49:00 +00:00
Alexis La Goutte
ba94f6f0a5 Fix some Dead Store (Dead assignement/Dead increment) Warning found by Clang
svn path=/trunk/; revision=40042
2011-11-29 19:54:00 +00:00
Bill Meier
4b79db3e55 Add missing hf[] entries (and fix proto_tree_add_item() encoding args).
svn path=/trunk/; revision=39605
2011-10-26 17:04:26 +00:00
Bill Meier
54b72021bb Fix encoding arg for various fcn calls:
- proto_tree_add_bits_item
 - proto_tree_add_bits_ret_val
 - proto_tree_add_bitmask
 - tvb_get_bits
 - tvb_get_bits16
 - tvb_get_bits24
 - tvb_get_bits32
 - tvb_get_bits64


svn path=/trunk/; revision=39539
2011-10-24 19:57:53 +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
Gerald Combs
0c83f1655a From Huzaifa Sidhpurwala: Fix a null pointer dereference.
svn path=/trunk/; revision=39500
2011-10-20 23:46:04 +00:00