Commit graph

115 commits

Author SHA1 Message Date
Guy Harris
c522bb09c2 The LDAP dissector uses register_frame_end_routine(), so it needs to
include packet-frame.h.

svn path=/trunk/; revision=47928
2013-02-28 00:09:26 +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
Bill Meier
d449c31d1d its ==> it's & it's ==> its as needed.
svn path=/trunk/; revision=47892
2013-02-26 01:22:18 +00:00
Guy Harris
29715ccc8f How can I get a new tvbuff that starts at an offset within a given
tvbuff and runs to the end of the tvbuff?  Let me count the ways....

Replace a bunch of different ways of doing that (some incorrect, in that
they're not properly handling tvbuffs where the captured and reported
lengths are different) with tvb_new_subset_remaining().

svn path=/trunk/; revision=47751
2013-02-19 23:17:07 +00:00
Jeff Morriss
3551a86c36 We always HAVE_CONFIG_H so don't bother checking whether we have it or not.
svn path=/trunk/; revision=45015
2012-09-20 01:29:52 +00:00
Jakub Zawadzki
5ad3e5331e MT: move global frame_end_routines to packet_info.
svn path=/trunk/; revision=44748
2012-09-03 12:00:40 +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
Anders Broman
a0910557c7 Get rid of a couple of warnings.
svn path=/trunk/; revision=43064
2012-06-04 12:20:37 +00:00
Anders Broman
10fe76d8a0 Get rid of a couple of warnings.
svn path=/trunk/; revision=43057
2012-06-04 08:56:48 +00:00
Ronnie Sahlberg
4baba1c684 Sometimes you might have plaintext LDAP for a SASL LDAP connection if the handshake never occured.
Observed with exchange in some configurations.

From Matthieu Patou <mat@matws.net>


svn path=/trunk/; revision=42875
2012-05-28 09:40:54 +00:00
Guy Harris
1fca484224 Get rid of remaining Booleans-as-encoding-arguments in
proto_tree_add_item() calls.

Update the RFC number for LDAP.

svn path=/trunk/; revision=42493
2012-05-08 00:15:53 +00:00
Chris Maynard
d1c1455efc Fix Coverity CID 280809 (formerly CID 809): Uninitialized scalar variable.
svn path=/trunk/; revision=42399
2012-05-03 14:51:36 +00:00
Jakub Zawadzki
57bde6a54f Fix #7056 + Remove mechanism global, unused variable.
svn path=/trunk/; revision=42008
2012-04-10 15:48:26 +00:00
Anders Broman
7135c935cd Propagate http://anonsvn.wireshark.org/viewvc/viewvc.cgi?view=rev&revision=42005 to template file.
svn path=/trunk/; revision=42006
2012-04-10 13:21:35 +00:00
Stig Bjørlykke
602883402d Adjusted UAT name.
svn path=/trunk/; revision=41844
2012-03-30 12:45:43 +00:00
Stig Bjørlykke
adabb3d63e Added support for configuring custom LDAP AttributeValue types.
svn path=/trunk/; revision=41841
2012-03-30 09:08:55 +00:00
Stig Bjørlykke
91f2f97f28 Don't try to convert AttributeValue to string if having a ldap_name dissector.
Prefix the converted printable string correctly with 'AttributeValue: '.

svn path=/trunk/; revision=41823
2012-03-29 12:03:49 +00:00
Anders Broman
6b3c0cd4f8 Remove now unused variables.
svn path=/trunk/; revision=41319
2012-03-02 11:25:17 +00:00
Alexis La Goutte
8e968adb2c Fix some Dead Store (Dead assignement/Dead increment) Warning found by Clang
svn path=/trunk/; revision=41298
2012-03-02 11:00:24 +00:00
Anders Broman
42b44648c8 Get rid of Warnings.
svn path=/trunk/; revision=39954
2011-11-20 08:59:19 +00:00
Bill Meier
6142dd287b Convert 'encoding' parameter of certain proto_tree_add_item() calls in asn1/*:
Specifically:  Replace FALSE|0 and TRUE|1 by ENC_BIG_ENDIAN|ENC_LITTLE_ENDIAN as
  the encoding parameter for proto_tree_add_item() calls which directly reference
  an item in hf[] which has a type of:
     FT_BOOLEAN
     FT_IPv4
     FT_EUI64
     FT_GUID
     FT_UINT_STRING

 Also: For type FT_IPv6 use ENC_NA. (This was missed in SVN #39260)

svn path=/trunk/; revision=39332
2011-10-10 01:38:20 +00:00
Bill Meier
e2996ceabe Convert 'encoding' parameter of certain proto_tree_add_item() calls in asn1 dissectors:
Specifically:  Replace FALSE|0 and TRUE|1 by ENC_BIG_ENDIAN|ENC_LITTLE_ENDIAN as
 the encoding parameter for proto_tree_add_item() calls which directly reference
 an item in hf[] which has a type of:
    FT_UINT8
    FT_UINT16
    FT_UINT24
    FT_UINT32
    FT_UINT64
    FT_INT8
    FT_INT16
    FT_INT24
    FT_INT32
    FT_INT64
    FT_FLOAT
    FT_DOUBLE


svn path=/trunk/; revision=39294
2011-10-06 16:50:13 +00:00
Jeff Morriss
9be16e49c4 From Stefan Metzmacher and Gregor Beck via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5850 :
The smallest LDAP PDU is 7 bytes, not 4.

svn path=/trunk/; revision=36777
2011-04-21 19:51:05 +00:00
Gerald Combs
91fe31c9b4 If we encounter an excessively long filter string or one with too many
elements, add an expert item and throw a ReportedBoundsError. We may
want to handle this more cleanly in the future but this avoids
allocating a huge amount of memory.

svn path=/trunk/; revision=36101
2011-03-01 00:50:17 +00:00
Gerald Combs
4783795690 Split get_dns_name() into get_dns_name() and expand_dns_name().
In dissect_ms_compressed_string() dissect_mscldap_string() simply call
expand_dns_name() instead of using duplicate (and insecure) code. This
*might* break CLDAP and SMB dissection. If that's the case we should
probably revert get_dns_name() and simplify expand_dns_name().

Fixes infinite recursion errors found by joernchen of Phenoelit.

svn path=/trunk/; revision=36029
2011-02-23 00:51:02 +00:00
Chris Maynard
8d47cebd00 Declare ett's as gint, not guint.
svn path=/trunk/; revision=35902
2011-02-10 20:55:26 +00:00
Stephen Fisher
802308ca01 More misc. CLDAP improvements for Active Directory including updating
field names and adding descriptions, changing the Domain GUID in the "LDAP
ping" response to a FT_GUID instead of FT_BYTES, etc.


svn path=/trunk/; revision=35407
2011-01-06 22:24:10 +00:00
Stephen Fisher
a9761c53b7 More minor cleanup/fixes for MS Active Directory's use of CLDAP.
svn path=/trunk/; revision=35404
2011-01-06 18:50:39 +00:00
Stephen Fisher
89d9b73e47 Minor corrections to NtVer dissection for NETLOGON_NT_VERSION Options Bits
in MSCLDAP packets per Microsoft's MS-ADTS specification, section 7.3.1.1,
revision 26 (11/19/2010).  Also re-format code a bit.


svn path=/trunk/; revision=35403
2011-01-06 18:08:14 +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
Jeff Morriss
f2fc5d42fd Make some prefs callback functions static. (These modules don't use proto_reg_handoff_*() as their prefs callback.)
svn path=/trunk/; revision=35138
2010-12-06 22:08:48 +00:00
Gerald Combs
6d60493b8a Initialize attributedesc_string in a couple of places so that we
don't end up trying to use an invalid pointer.

svn path=/trunk/; revision=33341
2010-06-27 22:38:28 +00:00
Jeff Morriss
81da8e0b6b Use find_or_create_conversation() in some ASN.1 dissectors
svn path=/trunk/; revision=32791
2010-05-13 18:55:31 +00:00
Bill Meier
f8b92f8d0b #include <stdio.h> not needed.
svn path=/trunk/; revision=32405
2010-04-06 17:01:14 +00:00
Anders Broman
c1defb60a7 Try to fix compilation with MSVC.
Please review.

svn path=/trunk/; revision=31962
2010-02-23 06:28:34 +00:00
Guy Harris
b395a98305 Squelch a bunch of compiler warnings.
svn path=/trunk/; revision=31961
2010-02-23 04:35:23 +00:00
Ronnie Sahlberg
cb37c28c37 Export the dissect_mscldap_string() that is used to dissect
compressed dns strings.



svn path=/trunk/; revision=31650
2010-01-25 05:38:22 +00:00
Jaap Keuter
e1ec979363 From Mathieu Parent:
As defined in rfc4511 [Lightweight Directory Access Protocol (LDAP): The Protocol],
see the attached patch that dissects IntermediateMessage.

svn path=/trunk/; revision=31251
2009-12-12 09:30:49 +00:00
Gerasimos Dimitriadis
142b31816c From Mathieu Parent:
Dissector for LDAP Content Synchronization Operation
(Modified in order to remove the unneeded oid_add_from_string's)
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4309

svn path=/trunk/; revision=31218
2009-12-09 20:59:20 +00:00
Gerasimos Dimitriadis
eff8b8dd39 From Bug 4298:
Add additional LDAP OIDs for LDAP Content Synchronization Operation
(Slightly modified in order to add code in packet-ldap-template.c)

svn path=/trunk/; revision=31179
2009-12-04 23:09:37 +00:00
Stig Bjørlykke
5c0369ba97 Apply r30376 to asn1 template files.
svn path=/trunk/; revision=30767
2009-10-30 10:21:35 +00:00
Kovarththanan Rajaratnam
4f2332256c Remove unused variable
svn path=/trunk/; revision=30506
2009-10-11 14:21:50 +00:00
Kovarththanan Rajaratnam
78b0ee16e2 Backport r29665 to template file so that the change is not overwritten when we regenerate the dissector
svn path=/trunk/; revision=30455
2009-10-09 21:41:06 +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
Ronnie Sahlberg
ac1b52a838 From: Matthieu Patou <mat+Informatique.Samba@matws.net>
Date: Mon, 27 Jul 2009 08:55:55 +0000 (+0200)
Subject: patch_ldap_260709

Add a few additional LDAP OIDs
and increase the maximum SASL blob size to be 1M instead of 256kb



svn path=/trunk/; revision=29210
2009-07-28 07:18:05 +00:00
Stig Bjørlykke
0437f102c3 From Kovarththanan Rajaratnam:
More FT_XXX cleanup.

svn path=/trunk/; revision=28971
2009-07-07 09:02:59 +00:00
Anders Broman
f16859def3 From Kovarththanan Rajaratnam:
Cleanup header_field_info definitions
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3548

svn path=/trunk/; revision=28940
2009-07-05 11:49:36 +00:00
Stig Bjørlykke
4721f29558 Changed check for having multiple ldap PDU's in one frame.
The previous check is incorrect when the first ldap frame in the capture is
selected and the filter is changed, or selecting "Follow TCP Stream".

Also removed check_col().

svn path=/trunk/; revision=28889
2009-06-30 10:38:00 +00:00