Commit Graph

3565 Commits

Author SHA1 Message Date
Anders Broman 2bac3e70c5 From Graeme Lunt
allows the dissection of ContentInfo based upon it's OID - something that is used for a secure X.400 messages (Protecting Content Type (PCT)).

svn path=/trunk/; revision=16069
2005-10-02 21:14:35 +00:00
Anders Broman 093040a179 From Jeff Snyder
00-iax.diff
 Modifications to the IAX2 dissector so that it offers desegmentation to 
subdissectors using the same API as TCP offers (pinfo->desegment_len etc)

01-amr.diff
 Modifications to the AMR dissector to allow AMR IF2 data to be dissected via 
call_dissector() from packet-h223.c. This patch also causes the AMR dissector 
to append the frame type string to the info column, so that the info column 
shows what protocols an H.223 frame contains.

02-h263-data.diff
 Modifications to packet-h263.c to separate the dissection of h.263 RTP 
encpasulation from the dissection of the actual h.263 data. The data 
dissection functions are added as a second dissector. This data-only 
dissector is used to dissect the video channel in our h.223 streams. As with 
the AMR modification, this makes the H.263 dissector append to the info 
column.

svn path=/trunk/; revision=16068
2005-10-02 20:59:54 +00:00
Ulf Lamping e11c4aac89 enhancements COL_INFO output and make bittorrent protocol filterable
svn path=/trunk/; revision=16067
2005-10-02 15:41:11 +00:00
Ulf Lamping 3b66410f77 add doxygen comments to column-utils.h and do a slight code cleanup
svn path=/trunk/; revision=16066
2005-10-02 14:56:27 +00:00
Luis Ontanon 154d8ae087 one step further...
TPG now uses the ignore feature of tvbparse
 named sub_rules can have cardinality

epan/tvbparse.c:
   do not crash on zero cardinality


svn path=/trunk/; revision=16065
2005-10-01 15:19:36 +00:00
Luis Ontanon 54695fec80 propperly initialize vendor->ett if the vendor is not found while radius_register_avp_dissector().
fixes bug 488.


svn path=/trunk/; revision=16064
2005-10-01 11:16:17 +00:00
Luis Ontanon 9860d26c68 emem.[ch]:
Add a simple stack implememtation that uses ep_alloc
Add ep_new() ep_new0() macros

tpg.[ch]:
use the stack in tpg helpers


svn path=/trunk/; revision=16061
2005-10-01 10:36:57 +00:00
Olivier Biot 6f5e84b2d7 Fix bug 492 - the MMSE dissector calls add_content_type() defined in WSP, which
uses proto_item_append_string(). The visibility hack must be present, otherwise
a dissector assert is generated within the MMSE dissector.

svn path=/trunk/; revision=16060
2005-09-30 19:29:21 +00:00
Luis Ontanon 46e293cc16 I needed to cut'n'paste something more...
I did not even try to compile it before check it in, sorry!


svn path=/trunk/; revision=16057
2005-09-29 20:37:05 +00:00
Anders Broman 855e39b91c Update to the latest version of the standard.
svn path=/trunk/; revision=16056
2005-09-29 20:24:02 +00:00
Anders Broman 647742574e make n a guint32 to not wrap around at 65536
svn path=/trunk/; revision=16055
2005-09-29 20:22:55 +00:00
Luis Ontanon e07a98a869 add a debugging function that creates a tree exploding the parsed elements
svn path=/trunk/; revision=16054
2005-09-29 20:07:29 +00:00
Anders Broman 598dc71801 From Mike Duigou
A patch to allow the JXTA dissector to pass fuzz testing. It 
also removes a couple of unused things and optimizes handling of the raw 
data dissector.

svn path=/trunk/; revision=16051
2005-09-29 05:37:27 +00:00
Guy Harris a275cd2495 Move the Diameter dictionary files to a "diameter" subdirectory, along
the lines of what's done for RADIUS.  That keeps them together (and
separate from other files), and makes the layout of the top-level source
directory closer to the layout of the installation directory, so that if
you run Ethereal or Tethereal from the top-level directory on Windows
it'll pick up the Diameter dictionary files (if it supports loading
them), and can do so on UN*X if we support a mechanism to let it find
its control files in the directory in which the binary resides.

Use the diameter_DATA, dtds_DATA, and radius_DATA macros in the
EXTRA_DIST macro, so you only have to change the lists of Diameter, DTD,
and RADIUS files in one place if you add or remove a file.

svn path=/trunk/; revision=16050
2005-09-29 02:20:29 +00:00
Guy Harris 7aa4b4ffe1 Make "top_tree" static; nobody else uses it, and if they're both not
static, they collide with one another in builds on at least some
platforms.

svn path=/trunk/; revision=16049
2005-09-29 01:31:19 +00:00
Ulf Lamping 9a42ef9536 fix #480: Change defaults for all reassembling settings to ON
I've changed all settings I could find to TRUE. It might be reasonable to change some protocol settings back to FALSE, if reassembling fails very often.

svn path=/trunk/; revision=16048
2005-09-28 22:15:38 +00:00
Luis Ontanon f9a96d8a16 be more flexible in what's a name
svn path=/trunk/; revision=16047
2005-09-28 21:35:14 +00:00
Luis Ontanon 925dd72039 one leak less...
svn path=/trunk/; revision=16046
2005-09-28 21:33:44 +00:00
Luis Ontanon c6ed07b117 tvbparse.[ch]:
- add a tvbparse_handle() (for recursion)
- change tvbparse_until() to allow more control when parsing
- make the wanted control an union so that different types of data can be used

packet-xml.c:
- change the parser definition to match changes to tvbparse_until()


svn path=/trunk/; revision=16045
2005-09-28 21:32:47 +00:00
Anders Broman 399144a591 Handle sigcomp over TCP.
svn path=/trunk/; revision=16043
2005-09-28 19:57:45 +00:00
Jörg Mayer 66596fe354 Updates for foundry addresses/protocols
svn path=/trunk/; revision=16042
2005-09-28 17:16:30 +00:00
Anders Broman 264288023c It's the UDVM_MEMORY_SIZE that should be checked.
svn path=/trunk/; revision=16040
2005-09-28 16:38:40 +00:00
Guy Harris f6ef22c553 Have show_exception() take a "const char *" as its exception message,
and not free the string to which it points.  Pass to
REPORT_DISSECTOR_BUG() strings allocated with ep_strdup_printf(), so
that they're freed automatically.

svn path=/trunk/; revision=16039
2005-09-28 16:16:37 +00:00
Guy Harris e2d774be16 Don't change the Info column if we have an unknown opcode; we've already
set it to a value that should indicate that the opcode is unknown, and
also indicates what the value is.  (Especially don't do it without
calling check_col() to check whether we *should* change the info column,
as we'll dereference a null pointer if we shouldn't; this change should
fix bug 489.)

svn path=/trunk/; revision=16038
2005-09-28 09:31:37 +00:00
Guy Harris 322999c545 Note that we should redo the handling of OIDs when
"dissect_ber_object_identifier()" can return the OID in a binary form.

svn path=/trunk/; revision=16036
2005-09-28 08:01:54 +00:00
Olivier Biot 3452023b80 The TRY_TO_FAKE_THIS_ITEM() speed optimization has a side effect in that it
will only process FT_PROTOCOL fields. As a result, proto_item_append_string()
calls may throw a dissector exception, as only a FT_STRING or FT_STRINGZ can be
appended to with this call.

In order to prevent these dissector assertions, silently return from the append
call if the field is a FT_PROTOCOL.

Note that when the tree is visible, the updates of the fields occur normally,
as expected.

svn path=/trunk/; revision=16035
2005-09-28 07:08:57 +00:00
Luis Ontanon 02a506e15f make sure we tell tvbparse_until() to include the last token.
svn path=/trunk/; revision=16033
2005-09-28 01:17:45 +00:00
Luis Ontanon 217b73a0b1 update tpg
tvbparse:
     - for tvbparse_until spend the target token even if it isn't included


svn path=/trunk/; revision=16032
2005-09-28 01:06:39 +00:00
Luis Ontanon 95d60cc7ea in tvbparse:
- tvbparse_some now handles 0 items.
  - added accessors for a tt's offset and remaining length.

in packet-xml:
  - min_len=0 for tvbparse_chars() is soon going to mean zero instead of 1 change the 0s to 1s.
  - attribute names can have ':' even if it's namespaces isn't managed yet.
  - split the xml grammar in more elements so It can be actually read by a human being.


svn path=/trunk/; revision=16031
2005-09-27 22:57:07 +00:00
Luis Ontanon 1407da9827 http_dissector_add doesn't belong here!
svn path=/trunk/; revision=16029
2005-09-27 21:56:14 +00:00
Jörg Mayer 74ca6adb4a Op Code 3 (Advertisement) dissection
svn path=/trunk/; revision=16026
2005-09-27 21:50:50 +00:00
Luis Ontanon 72cbc6410b TPG TVB Parser Generator
Given a bnf-like grammar generate a set of helpers for a dissector

It's not working yet, however I need this checkin as a cheeckpoint

(I'll write the doc when it starts to be ready)


svn path=/trunk/; revision=16021
2005-09-27 20:48:48 +00:00
Tomas Kukosa 9a66525b71 new option whether tunnelled H.245 and tunnelled protocol are displayed inside H.225 tree or outside
svn path=/trunk/; revision=16020
2005-09-27 10:05:42 +00:00
Ronnie Sahlberg 70f17cd417 remove all strcpy from fcels
ito make it easier to read use doublespace to separate the items on the expansion line instead of ',' since so many of the strings contain spaces.

cleanup fc slightly and remove a redundant parameter


svn path=/trunk/; revision=16019
2005-09-27 08:03:13 +00:00
Tomas Kukosa 04fc893ad7 bug in dissect_per_object_identifier_str() fixed, wrong pointer was passed to oid_to_str()
svn path=/trunk/; revision=16018
2005-09-27 07:14:07 +00:00
Tomas Kukosa 0539569e1b get rid of warnings about qualifier discarding
svn path=/trunk/; revision=16017
2005-09-27 06:09:14 +00:00
Anders Broman 0f2584c4d2 - Make the reassemble TCP preference default TRUE.
- in dissect_tpkt_encap() only check the desegment flag passed in the function.


svn path=/trunk/; revision=16016
2005-09-27 05:39:58 +00:00
Guy Harris 13c7fec8f5 Give more details about too-short AVPs, give up immediately for AVPs
shorter than 2 bytes, and make the item for an AVP with a length < 2 a
generated item.

Put the top-level item for an AVP into the tree the same way regardless
of whether it's Vendor-Specific or not, and skip past the type and
length right after that, before we check for Vendor-Specific.  (This
means we no longer treat "vendor ID = 0" as an indication that this
isn't Vendor-Specific - nothing prevents a packet from getting onto the
wire with a vendor ID of 0; this fixes bug 485.)

Don't require a Vendor-Specific AVP to be at least 6 bytes long; it
might not be particularly useful to have one that has a vendor ID and
nothing else, but we might as well dissect the vendor ID portion.

Do some other cleanups.

svn path=/trunk/; revision=16015
2005-09-27 00:03:45 +00:00
Olivier Biot 122105370d Part 2 of the fix: also add the correct offset for non-WSP address records.
svn path=/trunk/; revision=16014
2005-09-26 20:49:33 +00:00
Guy Harris 92cc6da06c Make "REPORT_DISSECTOR_BUG()" (and the macros that use it) call
"abort()" if the ETHEREAL_ABORT_ON_DISSECTOR_BUG environment variable is
set; this is for debugging purposes, to make it easier to get a stack
trace of the offending call.

svn path=/trunk/; revision=16013
2005-09-26 20:34:13 +00:00
Olivier Biot 875fb98655 Fix WSP redirect and SIR address parsing:
- The incorrect number of octets were highlighted (bearer type and port number
   were disregarded).

 - In SIR version 1 content, correct the parsing (full WSP address length was
   not added to the offset for parsing the non-WSP contact points).

svn path=/trunk/; revision=16012
2005-09-26 20:00:37 +00:00
Anders Broman 510476e2ea Remove dependencies on asn1.c, stil endes to be included to define subid_t.
svn path=/trunk/; revision=16010
2005-09-26 18:18:06 +00:00
Ronnie Sahlberg 94df2dc3f4 remove all strcpy() from packet-fc.c
rewrite the functions to do proto_item_append_text() instead of building a string and then printing it.

The new function is functionally equivalent to the previous function except it does not print the values of the multi-bit fields to the expansion
(the expansion line is already a km wide as it is)



there are now only 202 strcpy() left in epan/dissectors  down from 300+ instances some weeks ago.



svn path=/trunk/; revision=16009
2005-09-26 10:11:38 +00:00
Guy Harris a997ee591b Add a new "ipxnet" type for the RADIUS dictionary, for IPX network
numbers.  (Currently, we don't have any dictionary entries with that
type, although we have an attribute with special code to handle it that
uses that type.)

Specially handle Framed-IP-Address, Login-IP-Host, and
Framed-IPX-Network, so that the special values are displayed specially.

Clean up indentation.

Don't specify a number base for IPv4 or IPv6 addresses; the number base
is ignored.

svn path=/trunk/; revision=16008
2005-09-26 08:48:19 +00:00
Guy Harris 2b67057527 Use VENDOR_THE3GPP, rather than a hardcoded 10415, for the vendor ID for
the 3GPP.

svn path=/trunk/; revision=16007
2005-09-26 08:44:31 +00:00
Anders Broman 25fe588f9f From Martin Mathieson:
stun -  add support for 3 extra Message Attributes as described in draft-ietf-behave-rfc3489bis-00

ymsg 
 - avoid looking beyond the tvb while looking for content item delimiters (causing most frames to be shown as malformed packet)
- makes content items (and their keys and values) filterable  (includes fix to bug 415)


svn path=/trunk/; revision=16005
2005-09-26 05:43:25 +00:00
Guy Harris 0e17a773b9 A loop processing all the bytes in a tvbuff from a given offset to the
end of the data in the tvbuff should stop when the offset is >= the
total amount of data in the tvbuff, not when it's > the total amount in
the tvbuff following the starting offset.

In "unpack_digits()", return a null string, not a null pointer, if
there's nothing left in the tvbuff starting at the starting offset, so
that the caller doesn't have to check for a null pointer, and return an
ep_alloc()ed buffer, so the caller doesn't have to worry about freeing
the result.

If we see a filler digit, don't advance the offset in the string buffer;
we want to put the terminating '\0' right after the character we just
put into the string.

Fuzzed against some GSM captures.

svn path=/trunk/; revision=16002
2005-09-25 09:32:01 +00:00
Guy Harris 2d14a6f4ae Show unsigned quantities as such.
svn path=/trunk/; revision=16001
2005-09-25 09:07:41 +00:00
Guy Harris d77101151a If "dissect_dcerpc_cn()" throws an exception when called by
"dissect_dcerpc_cn_bs_body()", it's because it recognized the packet as
a DCE RPC packet, but it ran out of data dissecting it as such;
increment the count of DCE RPC PDUs, so "dissect_dcerpc_cn_bs_body()"
returns TRUE, and its caller doesn't think nothing was dissected.

Fuzzed with some DCE RPC captures.

svn path=/trunk/; revision=16000
2005-09-25 09:06:48 +00:00
Luis Ontanon 35cfa4c11c test the avp_vsa_len not the avp_lenght!
svn path=/trunk/; revision=15999
2005-09-25 02:50:03 +00:00