Commit Graph

70 Commits

Author SHA1 Message Date
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
Bill Meier d53320919a Remove unneeded #includes (stdlib, stdio, ctypes, time);
In a few cases: do some whitespace, indentation cleanup & reformatting.

svn path=/trunk/; revision=42632
2012-05-15 19:23:35 +00:00
Jeff Morriss 0b52b73a46 dissect_esp(): 'i' is only (really) used if we HAVE_LIBGCRYPT.
svn path=/trunk/; revision=40383
2012-01-05 02:06:08 +00:00
Bill Meier 199da73e21 Prevent memory leakage of uncompress tvb and associated data buffer (step 1).
(tvb memory leak will actually remain until a bug in tvbuff.c is also fixed).

svn path=/trunk/; revision=40171
2011-12-13 02:56:44 +00:00
Anders Broman 443fe1e7f8 Use to display ESP SPI BASE_HEX_DEC as it is in decimal in SIP.
svn path=/trunk/; revision=40118
2011-12-08 19:34:04 +00:00
Anders Broman 1b75d2a3f3 ..Filter is not used any more.
svn path=/trunk/; revision=39639
2011-10-27 19:20:39 +00:00
Anders Broman e595aec776 Fix comparison with UAT keys.
svn path=/trunk/; revision=39637
2011-10-27 16:49:53 +00:00
Anders Broman 2c2fb429f7 Fix indentation.
svn path=/trunk/; revision=39634
2011-10-27 15:38:32 +00:00
Anders Broman 4d0e343dbf The comparison with the UAT keys are broken, this is
a fix for fetching the IP address.

svn path=/trunk/; revision=39633
2011-10-27 15:35:48 +00:00
Anders Broman 095c62b66e The comparison with the UAT keys are broken, this is
a fix for the SPI the src and dst IP address strings needs fixing too.
I'll look into that tomorrow if no one beats me too it.

svn path=/trunk/; revision=39621
2011-10-26 21:42: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 94f36ca4ff Use ENC_NA as encoding for proto_tree_add_item() calls which directly reference an hf item (in hf[] with types:
FT_NONE
   FT_BYTES
   FT_IPV6
   FT_IPXNET
   FT_OID

Note: Encoding field set to ENC_NA only if the field was previously TRUE|FALSE|ENC_LITTLE_ENDIAN|ENC_BIG_ENDIAN

svn path=/trunk/; revision=39260
2011-10-04 22:44:31 +00:00
Jörg Mayer 99e1b372f0 Commit 37516 broke compilation for me in 3 places (with -Werror):
- get_full_XXX functions are unused in the code
- A case statement which handles only 2 of the many enum elements
  creates another warning promoted to error
- The patch removed usage of a variable but not the variable declaration
  itself.

svn path=/trunk/; revision=37517
2011-06-02 07:46:08 +00:00
Anders Broman d5e45b5cce From Michael Mann:
UATification of ESP

UATification of ESP SA keys.  Some notes:
1. Trimmed a lot of fat removing the code that parsed (and reparsed) ESP SA
keys, since UATs can take care of all that. 
2. There was no validation on the src/dest, so that was carried through (ie
there is still no validation of src/dest fields)
3. Formatting of the source was a little off, so I attempted to fix the
functions I needed to deal with.  I know that's frowned upon, but the braces
were such that I couldn't tell if/else blocks to understand the code.  If
somebody wanted to run an indent program on the file, that would be
appreciated.

Added some casts to make it compile on win64.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=1123

svn path=/trunk/; revision=37516
2011-06-02 07:11:26 +00:00
Bill Meier a2b58f051d Add #include <stdlib.h> to files which reference fcns declared in stdlib.h;
(In many cases I previously incorrectly removed the #include <stdlib.h>).

svn path=/trunk/; revision=37334
2011-05-20 19:00:09 +00:00
Guy Harris a8bc4a0d13 Rename the routines that handle dissector tables with unsigned integer
keys to have _uint in their names, to match the routines that handle
dissector tables with string keys.  (Using _port can confuse people into
thinking they're intended solely for use with TCP/UDP/etc. ports when,
in fact, they work better for things such as Ethernet types, where the
binding of particular values to particular protocols are a lot
stronger.)

svn path=/trunk/; revision=35224
2010-12-20 05:35:29 +00:00
Chris Maynard 77673564bc From Alex Badea via bug #4149: IPcomp: decompress deflated payloads.
svn path=/trunk/; revision=35088
2010-12-01 15:45:24 +00:00
Jaap Keuter f7ed15f39e From John Fitzgibbon:
When specifying SA keys for AES-CTR, Wireshark expects a key length of 160, 224
or 288 bits, (i.e. 128, 192 or 256 bits, followed by the 32 bit nonce value),
but gcry_cipher_setkey() in packet_ipsec.c fails, as it expects 128, 192 or 256
bits.

Omitting the nonce won't work -- even if Wireshark liked those key lengths,
gcrypt wouldn't be able to decrypt without it.

svn path=/trunk/; revision=33105
2010-06-05 09:22:45 +00:00
Guy Harris 85fccb7f91 Constify, clean up indentation.
svn path=/trunk/; revision=32019
2010-02-27 00:43:44 +00:00
Bill Meier de4c6ff515 Fix a number of gcc _Wshadow warnings
svn path=/trunk/; revision=31557
2010-01-18 21:49:47 +00:00
Gerald Combs 8fc1491a60 Switch to using a bundled version of the openSUSE Build Service packages
for GNUTLS since they provide 32-bit and 64-bit Windows packages. We no
longer have winposixtype.h, so remove its #includes and add a ssize_t
typedef to config.h.win32.

svn path=/trunk/; revision=31341
2009-12-21 21:06:01 +00:00
Anders Broman 88bb44a51e From Jakub Zawadzki:
Cleanup dissector code - use proper memory functions.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4164

svn path=/trunk/; revision=30691
2009-10-25 11:43:30 +00:00
Jaap Keuter fe03355556 From Harald Welte:
Errors occur which means decrypted_len - esp_iv len will render a negative value and thus
cause the problem. This patch prevents the crash. Not sure if this is a proper fix. At least it 
looks like a sane check to do.

svn path=/trunk/; revision=29979
2009-09-18 06:29:00 +00:00
Bill Meier 7081039a23 Reformat some long lines for readability....
svn path=/trunk/; revision=29570
2009-08-26 19:30:44 +00:00
Kovarththanan Rajaratnam 8b515e9340 Switch a bunch of dissectors over to using tvb_new_subset_remaining()
svn path=/trunk/; revision=29446
2009-08-16 12:36:22 +00:00
Kovarththanan Rajaratnam 0a5b014cec Don't guard col_clear with col_check
svn path=/trunk/; revision=29344
2009-08-09 07:36:13 +00:00
Kovarththanan Rajaratnam e971354a54 Don't guard col_set_str (COL_PROTOCOL) with col_check
svn path=/trunk/; revision=29340
2009-08-09 06:26:46 +00:00
Jaap Keuter 05babef3b4 From David Dahlberg:
As for now, Wireshark supports only 96-bit (or 0-bit for NULL authentication)
integrity control values (ICVs) for IPsec ESP. While the autentication field is
of variable length, this may lead to situations where the whole packet is not
parsable.

To solve this, I added generic classes (not checked) for 128, 192 and 256 bit
ICVs to the ESP dissector. I also split the HMAC-SHA-256 autentication
algorithm to HMAC-SHA-256-128 (128 bit as defined in RFC 4868) and
HMAC-SHA-256-96 (from the very first draft, nevertheless unpatched Linux and
BSDs do it this way).

svn path=/trunk/; revision=29121
2009-07-16 19:57:15 +00:00
Stig Bjørlykke b228488bc0 From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
    for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
    FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero

svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
Anders Broman 4ec2c4ff47 Apply some of the patches from:
http://wiki.wireshark.org/Development/Optimization

svn path=/trunk/; revision=28363
2009-05-14 19:28:07 +00:00
Jaap Keuter 11de07c75c From Reinhard Speyerer:
This patch fixes several misspellings/typos in Wireshark SVN revision 28201.

svn path=/trunk/; revision=28213
2009-05-01 07:11:56 +00:00
Balint Reczey 974074c316 Fix ESP Initialization Vector dissection.
svn path=/trunk/; revision=27850
2009-03-26 14:40:18 +00:00
Balint Reczey 124533ce95 From Frederic Roudaut:
Add CAST5-CBC and HMAC-RIPEMD160-96 support.


svn path=/trunk/; revision=27847
2009-03-25 18:04:30 +00:00
Balint Reczey 40fd250351 Removed code duplication in ASCII key computation.
svn path=/trunk/; revision=27839
2009-03-24 11:54:56 +00:00
Balint Reczey 59fd8b7d32 Fix ASCII key computation.
This fixes bug 2943 thus allows ESP decoding again, which was 
broken since r25264.

svn path=/trunk/; revision=27835
2009-03-23 18:14:28 +00:00
Bill Meier 61465d4141 Fix some of the Errors/warnings detected by checkapi
svn path=/trunk/; revision=25274
2008-05-11 17:27:41 +00:00
Guy Harris 8d1a5fd0bd Redo the loops a bit; that fixes an uninitialized variable, and moves
the increments a bit closer to the point of use.

(XXX - is there more than one place where we turn a sequence of hex
digits into a string?  If so, we should make it a common utility.)

svn path=/trunk/; revision=25268
2008-05-09 18:45:22 +00:00
Guy Harris 4567d72fdc Null-terminate the hex-to-text-converted string.
svn path=/trunk/; revision=25266
2008-05-09 16:30:05 +00:00
Guy Harris 69efaa363d sprintf() and strtoul() are massive overkill for turning a string of hex
digits into a string of characters; use g_ascii_xdigit_value() to
convert individual hex digit characters to their hex value - and check
whether it succeeds or not, so we catch invalid hex digits! - and just
append the resulting byte value to the string.

Handle the case where compute_ascii_key() fails.

svn path=/trunk/; revision=25265
2008-05-09 16:15:22 +00:00
Anders Broman 63c5c71cf8 Remove:
#ifdef NEED_G_ASCII_STRCASECMP_H
#include "g_ascii_strcasecmp.h"
#endif

svn path=/trunk/; revision=24859
2008-04-09 05:36:08 +00:00
Guy Harris 9c89cdaaa3 strcasecmp(), strncasecmp(), g_strcasecmp(), and g_strncasecmp() delenda
est.  Use g_ascii_strcasecmp() and g_ascii_strncasecmp(), and supply our
own versions if they're missing from GLib (as is the case with GLib
1.x).

In the code to build the list of named fields for Diameter, don't use
g_strdown(); do our own g_ascii_-style upper-case to lower-case mapping
in the hash function and use g_ascii_strcasecmp() in the compare
function.

We do this because there is no guarantee that toupper(), tolower(), and
functions that use them will, for example, map between "I" and "i" in
all locales; in Turkish locales, for example, there are, in both
upper case and lower case, versions of "i" with and without a dot, and
the upper-case version of "i" is "I"-with-a-dot and the lower-case
version of "I" is "i"-without-a-dot.  This causes strings that should
match not to match.

This finishes fixing bug 2010 - an earlier checkin prevented the crash
(as there are other ways to produce the same crash, e.g. a bogus
dictionary.xml file), but didn't fix the case-insensitive string matching.

svn path=/trunk/; revision=23623
2007-11-27 18:52:51 +00:00
Anders Broman 90753a169e Apply yet another set of the optimization patches:
When offset parameter is 0 replace tvb_bytes_exist() with the faster tvb_length().
non heuristic dissectors

svn path=/trunk/; revision=23405
2007-11-08 22:40:20 +00:00
Gerald Combs 90975ad053 Move packet-ipsec.c to CLEAN_DISSECTOR_SRC.
svn path=/trunk/; revision=22287
2007-07-11 18:23:54 +00:00
Guy Harris 2361eb46de The data field of an address structure is now a void *; convert it as
appropriate.

svn path=/trunk/; revision=21566
2007-04-25 21:37:15 +00:00
Sebastien Tandel 68ad2f4b9b fix MacOSX gcc-3.3 warnings about unused tfs/value_string variables
most have been tagged unused (few have been deleted if dissector has not been
modified since a long time)

move packet-ssl-utils.c to DISSECTOR_SRC


svn path=/trunk/; revision=21431
2007-04-14 14:01:53 +00:00
Gerald Combs 536dd665a4 Fix a mis-labeled field reported in Ethereal bug 1101. Update all
of the short descriptions and fill in all of the long descriptions.
Fix up whitespace.

svn path=/trunk/; revision=21401
2007-04-13 05:44:57 +00:00
Martin Mathieson 315327f79d When key length wrong, show expected value.
Fix Preference label where %d was missing from specifier.

svn path=/trunk/; revision=19714
2006-10-27 10:16:22 +00:00
Gerald Combs b07b29f711 Simplify the preference string allocation code. Shorten the comments,
which (as Ulf pointed out) reduces the size of the prefs file
significantly.

svn path=/trunk/; revision=19486
2006-10-10 22:46:58 +00:00
Ronnie Sahlberg a92d1dc783 put the ah and esp payload as its own top level expansion in the tree instead of as an expansion inside the ah/esp layer.
since source/dest/protocol/info is updated by the content of the payload    it doesnt make sense to hide the actual payload inside esp/ah
it just would look confusing



svn path=/trunk/; revision=19206
2006-09-12 10:04:11 +00:00