Commit graph

234 commits

Author SHA1 Message Date
Gilbert Ramirez
4cc694839d Fix all -fstrict-alias warnings found by gcc 4.1.2
The majority of the fixes are for calls to uat_new(). Instead of
having each caller cast its private data to (void**), we use void*
in the uat_new() API itself. Inside uat_new(), we cast the void*
to void**.

Some dissectors use val64_string arrays, so a VALS64() macro was
added for those, to avoid using VALS(), which is useful only for
value_string arrays.

packet-mq.c was changed because dissect_nt_sid() requires
a char**, not a guint**. All other callers of dissect_nt_sid() use
char*'s (and take the address of it) for their local storage. So,
this was changed to follow the other practices.

A confusion between gint and absolute_time_display_e in packet-time.c
was cleared up.

The ugliest fix is the addition of ip6_guint8_to_str(), for exactly
one caller. The caller uses one type of ip6 address byte array,
while ip6_to_str() expects another. This new function is in place
until the various address implementations can be consolidated.

Add VALS64() to the developer documentation.

Change-Id: If93ff5c6c8c7cc3c9510d7fb78fa9108e4552805
Reviewed-on: https://code.wireshark.org/review/48
Reviewed-by: Evan Huus <eapache@gmail.com>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2014-02-03 09:26:10 +00:00
Alexis La Goutte
a5e795812b Fix encoding arg (found by encoding arg tools)
svn path=/trunk/; revision=54901
2014-01-22 07:49:40 +00:00
Alexis La Goutte
923c5b3b86 Fix the second argument of some proto_item_add_subtree (function : dissect_vendor_tr111_suboption and dissect_vendor_cl_suboption)
It is a ett variable no hf variable

svn path=/trunk/; revision=54900
2014-01-22 07:49:31 +00:00
Anders Broman
5fc0904093 packet-bootp.c: In function 'dissect_vendor_generic_suboption':
packet-bootp.c:3293: warning: unused parameter 'pinfo'
packet-bootp.c:3293: warning: unused parameter 'v_ti'
packet-bootp.c:3294: warning: unused parameter 'optend'

svn path=/trunk/; revision=54861
2014-01-20 20:30:41 +00:00
Anders Broman
6402d8590e Add generic dissection of unknown vendor sub options.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9594

svn path=/trunk/; revision=54859
2014-01-20 20:03:49 +00:00
Evan Huus
2ae8edccea Rename more to_str functions to have ep_ in the name if they return ephemeral
buffers. Remove two unused functions.

svn path=/trunk/; revision=54250
2013-12-19 16:28:39 +00:00
Evan Huus
a6415ece0a Rename a couple of to_str functions to have ep_ in the name. This makes it
obvious that the returned string is ephemeral, and opens up the original names
in the API for versions that take a wmem pool (and thus can work in any scope).

svn path=/trunk/; revision=54249
2013-12-19 15:49:09 +00:00
Bill Meier
746e796e83 (Try to) fix VS Clang Analysis warning:
C6297: Arithmetic overflow: 32-bit value is shifted, then cast to 64-bit value. Results might not be an expected value

svn path=/trunk/; revision=54019
2013-12-13 03:24:08 +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
Jakub Zawadzki
7b89063243 Don't include <epan/strutil.h> when not needed.
svn path=/trunk/; revision=53194
2013-11-09 14:58:28 +00:00
Evan Huus
95f484a91e Add a very small hack to make the UAT update callback error string freeable, and
convert all existing UAT update callbacks to use glib memory instead of
ephemeral memory for that string.

UAT code paths are entirely distinct from packet dissection, so using ephemeral
memory was the wrong choice, because there was no guarantees about when it would
be freed.

The move away from emem still needs to be propogated deeper into the UAT code
itself at some point.

Net effect: remove another bunch of emem calls from dissectors, where replacing
with wmem would have caused assertions.

svn path=/trunk/; revision=52854
2013-10-25 22:14:25 +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
Evan Huus
7584f77567 Only access val_other if tlv_len is sufficiently long. Fixes
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9150

Also add modelines.

svn path=/trunk/; revision=52037
2013-09-14 13:30:02 +00:00
Pascal Quantin
5635a1f8bb Revert to emem for uat
svn path=/trunk/; revision=52032
2013-09-14 11:56:45 +00:00
Pascal Quantin
6cedc2c336 Convert a few more dissectors to wmem
svn path=/trunk/; revision=51991
2013-09-12 22:03:31 +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
Chris Maynard
543e05b1ec Group all "Seconds elapsed appears to be encoded as little-endian" expert info messages together, regardless of the computed value of the seconds field. This adds a single expandable entry instead of multiple entries (up to 255 potentially) and makes the expert info generally nicer to view (IMO).
svn path=/trunk/; revision=51383
2013-08-15 15:26:12 +00:00
Jakub Zawadzki
f4bcbeb9f2 Keep result of [new_]register_dissector in some dissectors. [2 of x]
(don't create new dissector handle if we can use already existing one)

svn path=/trunk/; revision=51159
2013-08-05 19:09:44 +00:00
Michael Mann
57fc882623 Simplify the "bad length" expert info into a single filterable item with formatting determining the particulars because the filter names just didn't make much sense to separate.
svn path=/trunk/; revision=49801
2013-06-06 02:10:22 +00:00
Michael Mann
b2027be0f8 Add filterable expert info.
svn path=/trunk/; revision=49573
2013-05-25 03:27:31 +00:00
Anders Broman
81e80f2c0b From beroset:
remove C++ incompatibilities 
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8416

svn path=/trunk/; revision=48355
2013-03-17 16:48:47 +00:00
Anders Broman
54eb4a6cec [-Wmissing-prototypes]
Use explicit casts.

svn path=/trunk/; revision=48319
2013-03-15 16:39:30 +00:00
Anders Broman
d0efafbcb1 From beroset:
remove C++ incompatibilities from UAT_VS_DEF macro and all uses

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

svn path=/trunk/; revision=48259
2013-03-12 06:40:13 +00:00
Pascal Quantin
2e05d7256c Fix typo error
svn path=/trunk/; revision=47318
2013-01-27 18:57:08 +00:00
Evan Huus
5eb312b04b From Hadar Shoham via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8262
Bootp updates, fixes and additional options.

svn path=/trunk/; revision=47317
2013-01-27 16:07:02 +00:00
Guy Harris
8ed7a73e22 Fix a bunch of warnings.
Cast away some implicit 64-bit-to-32-bit conversion errors due to use of
sizeof.

Cast away some implicit 64-bit-to-32-bit conversion errors due to use of
strtol() and strtoul().

Change some data types to avoid those implicit conversion warnings.

When assigning a constant to a float, make sure the constant isn't a
double, by appending "f" to the constant.

Constify a bunch of variables, parameters, and return values to
eliminate warnings due to strings being given const qualifiers.  Cast
away those warnings in some cases where an API we don't control forces
us to do so.

Enable a bunch of additional warnings by default.  Note why at least
some of the other warnings aren't enabled.

randpkt.c and text2pcap.c are used to build programs, so they don't need
to be in EXTRA_DIST.

If the user specifies --enable-warnings-as-errors, add -Werror *even if
the user specified --enable-extra-gcc-flags; assume they know what
they're doing and are willing to have the compile fail due to the extra
GCC warnings being treated as errors.

svn path=/trunk/; revision=46748
2012-12-26 05:57:06 +00:00
Jeff Morriss
dcd8c7151f Followup to r46565 and r46568: don't even create the composite TVB if we're
not going to put anything into it.  And don't try to finalize the composite
if we didn't create it or put anything in it.

svn path=/trunk/; revision=46569
2012-12-16 19:22:00 +00:00
Jeff Morriss
72f5595125 Apply r46565 to another spot.
svn path=/trunk/; revision=46568
2012-12-16 18:32:50 +00:00
Jeff Morriss
142aaa9c5b Another part of the fix for https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8097 :
Don't try to add a zero-length TVB to a composite TVB.

svn path=/trunk/; revision=46565
2012-12-16 16:40:36 +00:00
Jeff Morriss
0266cceef3 Make all enum_val_t's const.
svn path=/trunk/; revision=46292
2012-11-29 20:15:37 +00:00
Bill Meier
c230713b57 Fix several [-Wshadow] warnings;
Also: Do some minor whitespace and formatting changes.
-This line, and those below, will be ignored--

M    dissectors/packet-bootp.c
M    dissectors/packet-bssgp.c
M    dissectors/packet-babel.c

svn path=/trunk/; revision=46191
2012-11-25 23:16:30 +00:00
Anders Broman
22d1aa1f6c From Jérôme LAFORGE:
Improvement option 120 : RFC 3396 add split option & RFC 1035 full support compression pointer


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

svn path=/trunk/; revision=46042
2012-11-16 13:58:51 +00:00
Anders Broman
c2d6e54458 From Jérôme LAFORGE:
[BOOTP] Add control on option length and UC_Len for option 77

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

svn path=/trunk/; revision=46041
2012-11-16 11:39:46 +00:00
Pascal Quantin
5c30c4715b From Jérôme LAFORGE via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7966 :
[DHCPv4] Fix bad decoding on option 119 with more than 3 fqdn

svn path=/trunk/; revision=45993
2012-11-10 21:46:06 +00:00
Jaap Keuter
51d307df06 From Jérôme LAFORGE:
Please find this patch that adds option 117 (RFC 2937).

svn path=/trunk/; revision=45963
2012-11-07 21:54:32 +00:00
Anders Broman
db6feef877 Use a define for max number of characters and use that for the array size
svn path=/trunk/; revision=45904
2012-11-04 17:17:39 +00:00
Alexis La Goutte
c66efd679c From Jérôme LAFORGE via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7942
[BOOTP] Implement option 119 : RFC3397 RFC3396 RFC1035

svn path=/trunk/; revision=45900
2012-11-04 16:29:15 +00:00
Alexis La Goutte
78ff79be82 From Jérôme LAFORGE via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7896 [DHCPv4] Implement RFC3004 for DHCP option 77
From me:
* Fix checkAPIs warning
* Add RFC3004 to the list of supported RFC

svn path=/trunk/; revision=45824
2012-10-29 11:10:26 +00:00
Bill Meier
8e9db03197 Minor cleanup:
- revert incorrect replacement of FALSE by ENC_BIG_ENDIAN
  done a while back;
  [The incorrect use of ENC_BIG_ENDIAN was benign since
   ENC_BIG_ENDIAN is currently defined as 0x0000000];

svn path=/trunk/; revision=45651
2012-10-18 22:22:25 +00:00
Michael Mann
8856e1a03a convert proto_tree_add_text to proto_tree_add_item and expert_add_info_format for packet-dhcpv6.c and packet-dhcp-failover.c
"Refactor" value_string in ARP dissector

svn path=/trunk/; revision=45535
2012-10-14 15:27:52 +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
Pascal Quantin
d2715d3b5f Fix https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7701 :
Do sanity check on option length earlier

svn path=/trunk/; revision=44785
2012-09-05 21:23:50 +00:00
Pascal Quantin
5cdcf9c280 Add dissection of SIP Servers option to DHCPv4 (RFC 3361)
svn path=/trunk/; revision=44773
2012-09-04 20:43:24 +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
Guy Harris
659cf0527a UATs could be put into "categories". The categories were defined only
implicitly by the #define name and string they were defined to; not all
UATs neatly fit into any of the categories, so some of them were put
into categories that weren't obviously correct for them, and one - the
display filter macro UAT - wasn't put into any category at all (which
caused crashes when editing them, as the GUI code that handled UAT
changes from a dialog assumed the category field was non-null).

The category was, in practice, used only to decide, in the
aforementioned GUI code, whether the packet summary pane needed to be
updated or not.  It also offered no option of "don't update the packet
summary pane *and* don't redissect anything", which is what would be
appropriate for the display filter macro UAT.

Replace the category with a set of fields indicating what the UAT
affects; we currently offer "dissection", which applies to most UATs
(any UAT in libwireshark presumably affects dissection at a minimum) and
"the set of named fields that exist".  Changing any UAT that affects
dissection requires a redissection; changing any UAT that affects the
set of named fields that exist requires a redissection *and* rebuilding
the packet summary pane.

Perhaps we also need "filtering", so that if you change a display filter
macro, we re-filter, in case the display is currently filtered with a
display filter that uses a macro that changed.

svn path=/trunk/; revision=43603
2012-07-08 01:00:46 +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
10f6bcc140 Fix https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7391 :
Do not use same name for filters with incompatible types

svn path=/trunk/; revision=43443
2012-06-22 20:44:52 +00:00
Guy Harris
20e4f9468f Get rid of remaining Booleans-as-encoding-arguments in
proto_tree_add_item() calls.

svn path=/trunk/; revision=42476
2012-05-07 18:03:43 +00:00
Bill Meier
8bfe44619f Revert 3 conversions of spaces --> tabs (in text strings) done in SVN #42354.
svn path=/trunk/; revision=42356
2012-04-30 19:20:59 +00:00
Bill Meier
0f3c6a288e Whitespace cleanup; reformat hf[] entries.
svn path=/trunk/; revision=42354
2012-04-30 19:08:15 +00:00