Commit Graph

10573 Commits

Author SHA1 Message Date
Stig Bjørlykke 01c61d3ecb Removed some unused hf_ entries.
Renamed filter abbrev from ns. to nstrace.

svn path=/trunk/; revision=28571
2009-06-01 18:17:52 +00:00
Stig Bjørlykke 95f5427287 Added the wspython Makefile.nmake from bug 3500 to satisfy the
Ubuntu buildbot.

svn path=/trunk/; revision=28570
2009-06-01 18:09:07 +00:00
Stig Bjørlykke fffe2fdf23 Fixed a typo in a comment.
svn path=/trunk/; revision=28566
2009-06-01 17:28:20 +00:00
Stig Bjørlykke c9b492a422 From Ravi Kondamuru via bug 3457:
Add support to read citrix netscaler capture file format.

From me:
- Renamed packet-ns.c to packet-nstrace.c
- Rewrote to not use "goto" in netscaler.c
- Moved dissecting of coreid

svn path=/trunk/; revision=28564
2009-06-01 17:23:38 +00:00
Martin Mathieson 3f416f98ee For DL-SCH/UL-SCH, show subframe number in info column.
svn path=/trunk/; revision=28561
2009-06-01 16:50:27 +00:00
Stig Bjørlykke bcf8cf90e1 From yami (bug 3361):
Try to resolve a crash issue when having a function on the RHS
of a filter test which does not return the same type as the LHS.

svn path=/trunk/; revision=28550
2009-05-31 19:46:31 +00:00
Michael Tüxen 246d8f9c6c Bring cipher suites in sync.
svn path=/trunk/; revision=28542
2009-05-31 15:25:38 +00:00
Martin Mathieson 4e6962056a Don't dissect IP-ID and UDP checksum for IR, IR-DYN frames.
Name hf items and filter strings to consistently include "rohc"

svn path=/trunk/; revision=28539
2009-05-31 12:11:44 +00:00
Stephen Fisher c4680240d9 Change my e-mail address
svn path=/trunk/; revision=28537
2009-05-31 05:55:15 +00:00
Michael Tüxen c69b435205 Add cipher suites defined in RFC 4279.
svn path=/trunk/; revision=28535
2009-05-30 19:52:41 +00:00
Sebastien Tandel 7f0d2951c6 python binding update :
* adding pydoc documentation to doc/README.python
    * possible to access directly libwireshark via libhandle and raw_<tvb|pinfo|tree>
    * transform some methods into properties
    * update sample to reflect changes/features
    * adding comments!!!


svn path=/trunk/; revision=28532
2009-05-30 13:37:02 +00:00
Martin Mathieson c5c563d38b Tidy up comments.
svn path=/trunk/; revision=28531
2009-05-30 12:54:08 +00:00
Martin Mathieson 63504714a0 Dual-license this header file.
svn path=/trunk/; revision=28530
2009-05-30 11:57:39 +00:00
Sebastien Tandel 52cc5fb1e8 python binding for wireshark (first commit)
* ability to write dissectors with python for wireshark.
        documentation (http://wiki.wireshark.org/Python)


svn path=/trunk/; revision=28529
2009-05-29 21:10:40 +00:00
Anders Broman b4aeb97ed5 tvb_new_real_data -> tvb_new_child_real_data
svn path=/trunk/; revision=28517
2009-05-29 06:16:43 +00:00
Stig Bjørlykke 385d0e165f From Tobias Witek (bug 3496):
The patch puts the function declarations for zbee_sec_ccm_decrypt() and
zbee_sec_key_hash() into a #ifdef HAVE_LIBGCRYPT guardian to avoid gcc from
complaining about functions that are declared as 'static' but never defined.

It additionally puts the function zbee_sec_make_nonce() (and its declaration)
into a #ifdef HAVE_LIBGCRYPT guardian to avoid gcc from complaining about a
defined but unused function, if libgcrypt is not used.

svn path=/trunk/; revision=28513
2009-05-28 08:38:49 +00:00
Martin Mathieson 932c696498 Add casts from size_t to fix win64 buildbot problems.
svn path=/trunk/; revision=28512
2009-05-28 03:26:40 +00:00
Martin Mathieson 7bef808c6b Add definitions for a UDP framing protocol and heuristic dissector (example client code will be posted on wiki soon)
Add a missed initialisation to stats window struct.

svn path=/trunk/; revision=28511
2009-05-28 02:24:27 +00:00
Anders Broman b6b645feb3 Detect if the setup channel is video or not.
svn path=/trunk/; revision=28509
2009-05-27 18:22:39 +00:00
Stephen Fisher cebc358d09 Make the TZSP dissector register itself for find_dissector.
svn path=/trunk/; revision=28491
2009-05-26 17:10:49 +00:00
Bill Meier 548e468959 Misc dissector cleanup:
- Make some fcns & vars static
- hf[] blurbs: "" and repeated text --> NULL
- Move proto_register & proto_reg_handoff to end of source
- packet-catapult-dct2000: simplify proto_reg_handoff
- Use consistent indentation

svn path=/trunk/; revision=28488
2009-05-26 16:01:12 +00:00
Bill Meier a3f8b9e4c0 zbee: Misc cleanup:
- Ethereal --> Wireshark
- Make fome fcns & vars static
- Spelling
- hf[] blurbs: "" --> NULL
- Remove some unneeded forward declarations
- packet-zep: rework reg_handoff to init handles only once
- Rename global 'get_bit_field' to 'zbee_get_bit_field'
  ...

svn path=/trunk/; revision=28487
2009-05-26 15:50:10 +00:00
Bill Meier 277980a6c6 From Kovarththanan Rajaratnam: dfilter: Fix for bug #3490:
"Purify reports an uninitialized memory read in dfw_append_const() when
accessing the 'next_const_id' member. This seems to be caused by dfwork_new()
which doesn't properly initialize the member."

svn path=/trunk/; revision=28486
2009-05-26 15:13:19 +00:00
Gerald Combs 9f6f7c5239 Add a cast for Win64.
svn path=/trunk/; revision=28480
2009-05-26 04:32:51 +00:00
Gerald Combs 8a6daf2a1c From Didier Gautheron via bug 3052:
Add:
- FIX 4.0 to 4.4 fields, auto generated with XSLT stylesheets applied on
http://www.quickfixengine.org/ xml files (not included quickfixengine code is
BSD but xml files have no copyright).

- value_string functions for string keys, added to value_string.c.

- FIX desegmentation, it doesn't work well with malformed FIX PDU.

svn path=/trunk/; revision=28478
2009-05-26 00:49:38 +00:00
Gerald Combs e718dc79ea From Roberto Mariani via bug 3324:
- Removed heuristic for find if is_request and used event_type

- URB_INTERRUPT don't goes in reverse direction... fixed

svn path=/trunk/; revision=28477
2009-05-26 00:32:16 +00:00
Stig Bjørlykke b9960e08d8 Added an expert info for "IP port reused".
svn path=/trunk/; revision=28472
2009-05-25 21:10:22 +00:00
Jaap Keuter 719238d3fd From Dan Gora:
This patch adds support for the I-TDM control protocol specified in PICMG SFP.1 chapter 3.12.  
This control protocol is used to "automatically" initialize new I-TDM data flows.

svn path=/trunk/; revision=28468
2009-05-25 06:50:34 +00:00
Jaap Keuter 78a3a653f9 From Thomas M. Knoll:
The CoS Capability extended community has been changed to a transitive ext. community 
and was reassigned an IANA type number. It has changed from 0x40 to 0x05. 
see: http://www.iana.org/assignments/bgp-extended-communities

svn path=/trunk/; revision=28467
2009-05-25 06:48:40 +00:00
Jaap Keuter bd563faabb From Michael Lum:
Some of the hard-coded 96 and 127 values representing dynamic payloads 
were changed to use #defines from rtp_pt.h but not all.

svn path=/trunk/; revision=28466
2009-05-25 06:46:33 +00:00
Stig Bjørlykke 906506f6cf Use proto_tree_add_uint64 for 64 bits values.
svn path=/trunk/; revision=28465
2009-05-24 23:23:06 +00:00
Stig Bjørlykke 905b8d0b2d From Rama Chitta (bug 3467):
Added routines for Memcache Textual Protocol.

svn path=/trunk/; revision=28462
2009-05-24 22:39:07 +00:00
Stig Bjørlykke b787288d49 Rewrite some non-ascii characters.
svn path=/trunk/; revision=28461
2009-05-24 20:59:33 +00:00
Michael Tüxen 6637bf6adf Out goes a C++ comment inside #if 0 #endif to make the API checker happy.
svn path=/trunk/; revision=28456
2009-05-23 12:09:15 +00:00
Gerald Combs 8ca33644e7 From Greg Schwendimann via bug 3156:
Airpdcap does not allow for more than one key to be stored for a pair of nodes.
 This means that when a device associates more than once the previous keys are
lost.  This is ok for the first pass as the newest key is all that is needed
but when the user tries to click on a packet, to get the tree, which used a
previous key all that is seen is the encrypted data.  The attached patch stores
previous associations in a linked list and will try all known keys before
decided the packet can't be decrypted.  The list of keys is garbage collected
when a new capture is started.

svn path=/trunk/; revision=28449
2009-05-22 17:38:21 +00:00
Gerald Combs 3e39be6cea From Terry Hardie via bug 3080:
In ISUP, if the redirecting or original called number parameters are present,
but have a zero length number in them, the dissector (incorrectly) marks them
as malformed packets.

Also, the precedence decoder is very terse (Doesn't even display the precedence
level correctly)

svn path=/trunk/; revision=28448
2009-05-22 16:05:30 +00:00
Bill Meier 9473419e8b zbee: minor cleanup
- replace C++ comments by C-style comments (or #if 0...#endif);
- Chnage all hf[] "" blurbs to NULL;
- Fix some spelling;
- Remove two unused handles.

svn path=/trunk/; revision=28439
2009-05-21 20:03:03 +00:00
Bill Meier 3eab9f8463 paltalk: minor cleanup:
- prefs registration not req'd (no prefs);
 - move hf[] & ett[] to be local to proto_register;
 - use std dissector format: move proto_register & proto_reg_handoff to end; 
 - if (proto == -1) in proto_register not req'd;
 - if (! initialized) not req'd in proto_reg_handoff since no prefs callback.

svn path=/trunk/; revision=28437
2009-05-21 18:36:32 +00:00
Jörg Mayer 61d5b442f4 Add filterable generated item arp.isgratuitous. Inspired
by question on wireshark-users ML by
wireshark.20090520@tozer.org.uk

svn path=/trunk/; revision=28436
2009-05-21 05:15:03 +00:00
Guy Harris 19a0011c59 foo() and foo(void) might be the same in C++, but they're not the same
in C.

svn path=/trunk/; revision=28435
2009-05-21 01:01:22 +00:00
Gerald Combs 7a7e7eac34 From Mohammad Ebrahim Mohammadi Panah via bug 2954:
I've developed a Wireshark dissector for Paltalk messenger protocol.

svn path=/trunk/; revision=28434
2009-05-21 00:34:03 +00:00
Gerald Combs f3080aff14 From Alex Lindberg via bug 3094:
Added descriptions for dynamic RTP Payload types.

svn path=/trunk/; revision=28433
2009-05-20 23:46:48 +00:00
Guy Harris 5b45905ffc Add a preference to force the dissector to assume that packets have an
FCS; this handles protocols where there's no length field, so that the
"is there a trailer and/or an FCS?" heuristic can't work.

svn path=/trunk/; revision=28432
2009-05-20 22:50:30 +00:00
Gerald Combs 3392d8a62f Fix Win64 compilation.
svn path=/trunk/; revision=28430
2009-05-20 20:28:31 +00:00
Gerald Combs f5e8e21ce2 From Owen Kirby via bug 3431:
The attached patch file adds dissectors for the ZigBee protocol stack, 
which runs atop the IEEE 802.15.4 dissector. Also included is the
dissector for the ZigBee Encapsulation Protocol (packet-zep.c), used by
the Exegin Q51 protocol analyzer.

From me:

Fix a bunch of gcc (the compiler, not me) warnings.

svn path=/trunk/; revision=28429
2009-05-20 19:29:39 +00:00
Stig Bjørlykke b801934940 Rename e_ip to ws_ip (from packet-ip.h change).
svn path=/trunk/; revision=28427
2009-05-20 17:56:22 +00:00
Gerald Combs fcd9a56161 From Vincenzo Condoleo via bug 2589:
Add IP packet comparison statistics.

svn path=/trunk/; revision=28426
2009-05-20 17:07:18 +00:00
Gerald Combs e2c0d132e1 From Jakub Zawadzki via bug 3421:
e_ip->ip_ttl is currently always set to 0, in attachment fix. 

I also (in same patch, sorry) submit cleanup to use ep_alloc() instead
of static e_ip buffers, I didn't test it, but I hope it's ok.

There's note about static buffers in doc/README.tapping, which should
also be updated, but I don't feel so good with my English :)

From me:

Rename e_ip to ws_ip. Update the static buffers note in README.tapping.

svn path=/trunk/; revision=28425
2009-05-20 15:50:40 +00:00
Stig Bjørlykke b74a4c3cd1 Added expert info for Unknown RTSE PDU.
svn path=/trunk/; revision=28424
2009-05-20 10:08:00 +00:00
Stig Bjørlykke 84cbcbb1fc Added expert info for OID not implemented.
svn path=/trunk/; revision=28423
2009-05-20 09:29:22 +00:00
Stig Bjørlykke 6a713aad50 Added expert info for OID not implemented.
svn path=/trunk/; revision=28422
2009-05-20 09:27:45 +00:00
Anders Broman 5c8f23cca1 Update to 8.5.1 - "Minor corrections before freezing of ASN.1"
svn path=/trunk/; revision=28421
2009-05-20 05:19:06 +00:00
Gerald Combs d7d00a144d From Julien Kerihuel via bug 2850:
Patch to implement decoding of Exchange RFR protocol.

svn path=/trunk/; revision=28420
2009-05-19 23:22:59 +00:00
Stig Bjørlykke 6cc936929a Ok, private_data is only saved if HAVE_LIBGCRYPT.
svn path=/trunk/; revision=28417
2009-05-19 20:00:05 +00:00
Anders Broman 3a11073d6b Get info about media type(Video or not) a first step towards usage in rtp statistics.
svn path=/trunk/; revision=28415
2009-05-19 18:42:33 +00:00
Stig Bjørlykke af7304aa79 Move pd variables outside HAVE_LIBGCRYPT.
svn path=/trunk/; revision=28414
2009-05-19 18:28:24 +00:00
Martin Mathieson 8315e941ac Add a few more missing ROHC RTP fields.
svn path=/trunk/; revision=28413
2009-05-19 17:26:14 +00:00
Stig Bjørlykke fc3f1b5283 From Artem Tamazov (bug 3472):
Save/Restore pinfo->private_data when used.

svn path=/trunk/; revision=28412
2009-05-19 17:16:14 +00:00
Stig Bjørlykke 1d54e7ad56 Avoid crash when not reassembling multiple TCP segments.
(check for valid pointers, in this case: ndmp_conv_data->task)

This fixes the crash in bug #3470.

svn path=/trunk/; revision=28409
2009-05-19 14:40:23 +00:00
Jaap Keuter 95dfe6a326 Update IP protocol numbers according to current IANA registery.
svn path=/trunk/; revision=28408
2009-05-19 07:34:33 +00:00
Gerald Combs d797045341 From Abhik Sarkar via bug 3242:
Add a UAT for custom HTTP header fields.
  
From me:

  Use se_alloc0 to initialize a struct. Use g_strdup(...) instead of
  g_strdup_printf("%s"...). Add a missing UAT_END_FIELDS.

svn path=/trunk/; revision=28406
2009-05-19 00:17:23 +00:00
Gerald Combs def3068154 Use se_alloc0 and ep_alloc0.
svn path=/trunk/; revision=28397
2009-05-18 20:30:55 +00:00
Gerald Combs 79c4c2990b Remove unnecessary tree checks pointed out by Stig.
svn path=/trunk/; revision=28396
2009-05-18 19:14:21 +00:00
Guy Harris a9f463bee4 Clean up indentation.
svn path=/trunk/; revision=28395
2009-05-18 17:47:42 +00:00
Gerald Combs 23d52583ca From Yaniv Kaul via bug 3215:
Attached please find a patch that enables to heuristically find VNC
traffic on non-standard ports.

(it also adds some if(tree) ... around some proto_tree_add_item()
functions)

svn path=/trunk/; revision=28394
2009-05-18 17:23:16 +00:00
Jaap Keuter b118290a6b From David Aggeler:
Not much, just a little bit of fine tuning:
- Spelling
- Added expert_add_info() for status responses with warning & error level
- Added command details in info column (optionally)

Also plugging memory leak.

svn path=/trunk/; revision=28392
2009-05-18 06:21:22 +00:00
Guy Harris 19a74e6fcc Just use proto_tree_add_item() for some fields whose values we don't
use.

Rename some variables to reflect the names they have in the IGRP
document.

Don't treat being called with a non-IPv4 address as a dissector bug - we
can't prevent ourselves from being called from the IPv6 dissector.  This
fixes bug 3466.

Clean up indentation.

svn path=/trunk/; revision=28390
2009-05-18 00:27:44 +00:00
Guy Harris 9b3360c5ef Add a URL on the Cisco site describing IGRP packets.
svn path=/trunk/; revision=28389
2009-05-17 22:25:13 +00:00
Martin Mathieson 09d545038d Add newline to end of file
svn path=/trunk/; revision=28387
2009-05-17 21:41:00 +00:00
Gerald Combs 7ea5c3cba7 From Johannes Berg via bug 3415:
The attached patch updates wireshark to the radiotap RX flags leaving the
non-standard option to dissect bit 14 as "FCS in header".

Merge the patch by hand in a couple of places to avoid conflicts with
r26861.

svn path=/trunk/; revision=28385
2009-05-17 19:18:18 +00:00
Gerald Combs 169d8cb394 From Didier Gautheron via bug 3210:
This patch improves the decoding of MapID and MapName Apple's AFP commands for
subtype 5 and 6.

svn path=/trunk/; revision=28383
2009-05-17 18:30:04 +00:00
Gerald Combs 9a76c35676 [Automatic manuf and enterprise-numbers update for 2009-05-17]
svn path=/trunk/; revision=28381
2009-05-17 15:03:39 +00:00
Jaap Keuter b429593171 Remove C++ style comments.
Cleanup indentation a bit.

svn path=/trunk/; revision=28380
2009-05-17 06:02:48 +00:00
Stig Bjørlykke c47e788c94 Regenerate all asn2wrs generated dissectors.
svn path=/trunk/; revision=28379
2009-05-16 22:07:03 +00:00
Jörg Mayer 1922d3ceee Jochen Bartl <jochen.bartl@gmail.com>
via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=2824

I have added the SCM header to the wlccp dissector. This header is present in
packets of base message type 0x01. You can find the specification in the
following document, when you search for "The table below shows the fields for
an SCM Advertisement Reply Message.":

http://www.freepatentsonline.com/y2005/0220054.html

It seems like the header structure in the document is wrong regarding the "SCM
Node ID" (MAC address) field. From looking at the hexdumps I found out that the
node id shows up in the header before the "Instance Age" field. There is also a
2 byte field between the node id and the instance age, which is always zero. I
have named this field  wlccp.scm_unknown_short, because I don't know what it is
for.

Me:

Fix two bugs that came up during testing but were present before the patch,
both involving wrong length handling triggering dissector assert and malformed
packet messages.



svn path=/trunk/; revision=28376
2009-05-16 16:31:54 +00:00
Anders Broman 0f9c96f8fd From Chidambaram Arunachalam:
SIP Patch to include support for Max-Breadth, Answer-Mode, Priv-Answer-Mode, Trigger-Consent and Permission Missing headers
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3463

svn path=/trunk/; revision=28375
2009-05-16 09:16:11 +00:00
Anders Broman ea4f4f08af Froim Vincent Helfre:
Fix issues with unaligned PER.

svn path=/trunk/; revision=28374
2009-05-15 18:39:33 +00:00
Anders Broman 1464f7ca84 Introduce decode_bits_in_field() and use it.
clean up some left owers from previous checkin.

svn path=/trunk/; revision=28373
2009-05-15 18:38:13 +00:00
Martin Mathieson 7ed080da5c Timing advance command is 6 bits.
svn path=/trunk/; revision=28371
2009-05-15 10:02:14 +00:00
Jörg Mayer ced7569727 Rename an CCX IE
svn path=/trunk/; revision=28370
2009-05-15 06:51:58 +00:00
Jörg Mayer 7bbfa31856 - All Frames that I currently know how to dissect include the FCS
- Decode Channel and (what probably is the) Timestamp

svn path=/trunk/; revision=28369
2009-05-15 06:48:25 +00:00
Gerald Combs 93471e8eeb Remove an unused variable.
svn path=/trunk/; revision=28367
2009-05-15 00:07:10 +00:00
Gerald Combs 9a72434b1e Add support for process flow records to IPFIX, which required adding
support for vendor-specific IEs. Fix variable-length record handling. Add
conversation tracking to the UDP dissector and add process flow
information to TCP and UDP conversations.

This lets us run process flow collectors on one or more machines and
have the process username, PID, command name, etc. show up in the TCP
and UDP protocol trees.

svn path=/trunk/; revision=28366
2009-05-14 23:33:17 +00:00
Anders Broman bec2875b2b Apply some of the patches from:
http://wiki.wireshark.org/Development/Optimization

svn path=/trunk/; revision=28365
2009-05-14 20:12:43 +00:00
Anders Broman 64a33ad7af Apply some of the patches from:
http://wiki.wireshark.org/Development/Optimization

svn path=/trunk/; revision=28364
2009-05-14 20:04:28 +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
Anders Broman 5f538e901d Apply some of the patches from:
http://wiki.wireshark.org/Development/Optimization

svn path=/trunk/; revision=28362
2009-05-14 19:11:43 +00:00
Anders Broman 2289fa0d21 Fix:
GSM DTAP: Incorrect decoding of MS Radio Access Capability Switch-Measure*
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3461

svn path=/trunk/; revision=28361
2009-05-14 18:26:18 +00:00
Martin Mathieson 4a16f077ce Backoff Indicator must now (March 09) be the first subheader in an RAR PDU.
svn path=/trunk/; revision=28360
2009-05-14 17:12:37 +00:00
Anders Broman 17e10d08fb Use tvb_new_child_real_data().
svn path=/trunk/; revision=28357
2009-05-14 05:36:48 +00:00
Anders Broman c91a384702 Apply some of the patches from:
http://wiki.wireshark.org/Development/Optimization

svn path=/trunk/; revision=28356
2009-05-13 19:46:11 +00:00
Anders Broman fbd05f0fce Apply some of the patches from:
http://wiki.wireshark.org/Development/Optimization

svn path=/trunk/; revision=28355
2009-05-13 19:44:44 +00:00
Martin Mathieson 4dda12f0be - add direction filter to PDCP
- fix PDCP fields ("pdcp.*" -> "pdcp-lte.*")
- improve PDCP info column output (to be more like RLC)

svn path=/trunk/; revision=28342
2009-05-13 09:36:42 +00:00
Anders Broman 95c51c2e2d Make an epxpert item checking PC length.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3458

svn path=/trunk/; revision=28337
2009-05-12 17:48:48 +00:00
Martin Mathieson ea18cc4095 Enable preference to call LTE RRC for data inside PDCP frames.
svn path=/trunk/; revision=28329
2009-05-11 15:19:51 +00:00
Stig Bjørlykke 65eed611a8 Fix a typo in a comment.
svn path=/trunk/; revision=28327
2009-05-10 16:02:57 +00:00
Stig Bjørlykke b0cb4d22e9 Enable Lua wlan taps.
svn path=/trunk/; revision=28326
2009-05-10 16:02:35 +00:00
Stig Bjørlykke 27a22f674f Postpone marking objects as expired until the whole frame is completed.
We can have a case where one Lua dissector calls another Lua dissector,
so we can't mark all objects when only one dissector is completed.

This fixes comment #37 and #39 in bug 2453.

svn path=/trunk/; revision=28325
2009-05-10 15:56:57 +00:00
Gerald Combs 328de9c584 [Automatic manuf and enterprise-numbers update for 2009-05-10]
svn path=/trunk/; revision=28323
2009-05-10 15:03:41 +00:00
Martin Mathieson 76332049f8 Rename lis to fms & some ROHC feedback format improvements.
svn path=/trunk/; revision=28322
2009-05-08 23:29:42 +00:00