Commit Graph

21471 Commits

Author SHA1 Message Date
Chris Maynard 408539dfa0 Treat invalid checksum of 0x0000 no different than any other invalid checksum.
Fixes https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8629
#BACKPORT (1.10, 1.8, 1.6)

svn path=/trunk/; revision=49332
2013-05-16 15:21:42 +00:00
Pascal Quantin a20d3ddf8b Add partial dissection of IR packet with IP profile
svn path=/trunk/; revision=49331
2013-05-16 15:02:55 +00:00
Anders Broman c1f144e9aa From Dirk:
improve PKCS12 SSL certificate load.

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

svn path=/trunk/; revision=49327
2013-05-16 05:36:13 +00:00
Anders Broman ae74ef756b From Neil Piercy:
AMR Frame Type uses wrong Value String.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8681
Applied by hand, patch not against trunk?

svn path=/trunk/; revision=49326
2013-05-16 05:08:16 +00:00
Evan Huus 0919116ccd Make the rtmpt max packet size that Jeff just halved a preference, so that
people who really want it can set it higher again.

svn path=/trunk/; revision=49322
2013-05-16 01:56:48 +00:00
Jeff Morriss 80cab0bdbb Temporarily lower the max packet size for this dissector in order to silence
the fuzz bot (see https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6898 and
all of its duplicates--and the bugs marked as duplicates of those duplicates).

Halving the packet size seems to work for most of the captures I've tried;
we'll see if the buildbot agrees.

If someone can figure out a good way to control the memory usage of this
dissector then the limit could be increased again.

svn path=/trunk/; revision=49321
2013-05-16 01:48:44 +00:00
Gerald Combs 6b0c550696 Un-shadow a couple of variables.
svn path=/trunk/; revision=49317
2013-05-15 17:49:45 +00:00
Anders Broman 653006b4b8 - packet-sip.c adds per-packet data twice only add new packet data if no previous data exists.
- Use the key as SIP can occure more than once in a frame.

svn path=/trunk/; revision=49315
2013-05-15 16:53:19 +00:00
Anders Broman aefb9200d1 SDP adds per-packet-data twice, refactor to not use per-packet data.
svn path=/trunk/; revision=49314
2013-05-15 16:51:43 +00:00
Anders Broman 85ff18cf16 - Use the key for comparison of per_proto_data.
- Show the number of per-packet-data entries and which protocol has made entries in the frame.

svn path=/trunk/; revision=49313
2013-05-15 16:50:37 +00:00
Anders Broman 5b279569d2 Export CellGlobalIdOrServiceAreaIdOrLAI.
svn path=/trunk/; revision=49312
2013-05-15 16:48:49 +00:00
Pascal Quantin 5e06ca5e58 Fix copy/paste error introduced in r49259
svn path=/trunk/; revision=49310
2013-05-15 09:25:25 +00:00
Pascal Quantin 7323801779 Fix copy/paste errors
svn path=/trunk/; revision=49306
2013-05-14 21:06:21 +00:00
Pascal Quantin 099c4eee37 Display Command Qualifier in case of Open Channel (broken in r48862)
svn path=/trunk/; revision=49301
2013-05-14 20:40:34 +00:00
Anders Broman 8e509279b8 Add a tag for original frame number.
svn path=/trunk/; revision=49298
2013-05-14 19:57:19 +00:00
Jeff Morriss a53776288f Don't try to decode an IPv6 address if it looks like we've been handed the
(obsolete) Server-Assignment-Type AVP (which conflicts with the newer
3GPP-SGSN-IPv6-Address AVP).

This allows users to not see malformed packets (which look completely correct)
if they choose to use the AVP values from imscxdx.xml instead of those from
TGPPGmb.xml.

svn path=/trunk/; revision=49296
2013-05-14 19:26:33 +00:00
Anders Broman be8dbe75c5 Upate to spec. 11.0.0
- fix problem with extension dissection.

svn path=/trunk/; revision=49294
2013-05-14 19:00:53 +00:00
Alexis La Goutte bd967efb91 Fix some Dead Store (Dead assignement/Dead increment) Warning found by Clang
svn path=/trunk/; revision=49287
2013-05-14 16:02:40 +00:00
Anders Broman ef13d981bb Add comments on the experimental state of this feature.
svn path=/trunk/; revision=49285
2013-05-14 06:07:26 +00:00
Pascal Quantin d8e31edd88 Fix compilation
svn path=/trunk/; revision=49261
2013-05-12 19:18:35 +00:00
Pascal Quantin ff5712fd15 Fix the RTP-MIDI Controller filter name
svn path=/trunk/; revision=49260
2013-05-12 19:06:40 +00:00
Anders Broman 85a8e304dd Add the posibillity to use a key for per-packet-data.
svn path=/trunk/; revision=49259
2013-05-12 18:11:02 +00:00
Evan Huus f2ccdd6dbf From Dirk Jagdmann via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8640
Fix dissection of the NTLMSSP v2 Challenge Response. The old code would loop
over the Attributes until the end of the Response, however in reality the last
values of a Response are four 0 bytes and maybe padding. Also change the names
of the values to match those from the Microsoft specification. Also change the
name of one flags bit from unknown to "Anonymous", again according to the
Microsoft spec.

svn path=/trunk/; revision=49258
2013-05-12 14:26:37 +00:00
Evan Huus 526763c293 Fix compilation with SHOW_EMEM_STATS defined.
svn path=/trunk/; revision=49252
2013-05-11 19:40:33 +00:00
Evan Huus 930d0c1ed6 From Ravi Kondamuru via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8637
Add support for version 2.6 of netscaler capture format.

svn path=/trunk/; revision=49250
2013-05-11 18:43:53 +00:00
Martin Kaiser 3a4fc8e1dc convert to new-style dissector
svn path=/trunk/; revision=49249
2013-05-11 15:34:55 +00:00
Martin Kaiser d216276709 remove return;
svn path=/trunk/; revision=49248
2013-05-11 15:33:27 +00:00
Martin Kaiser 1e815cb2ca no need for if(tree)
svn path=/trunk/; revision=49247
2013-05-11 15:32:07 +00:00
Martin Kaiser f4791151a7 col_add_fstr() does not need check_col()
svn path=/trunk/; revision=49246
2013-05-11 15:30:21 +00:00
Martin Kaiser 33aebb4756 tabs -> spaces
add editor modelines

svn path=/trunk/; revision=49245
2013-05-11 15:29:20 +00:00
Jörg Mayer 21f1d0e46b Peter Van Eynde
via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8635
"enhanced WCCP decoder"

GRE part of the patch.

Me:
Reorder values
Manually apply the rejected parts of the patch (incompatible whitespace)
Fix whitespace inconsistencies of the patch.

svn path=/trunk/; revision=49240
2013-05-11 10:46:36 +00:00
Evan Huus 1164990ffb Initialize a proto_tree variable which is now used for expert info but is
only being set if tree.

svn path=/trunk/; revision=49239
2013-05-11 02:02:31 +00:00
Guy Harris 7a6235666d Add expert info for radiotap header errors.
Add the "unknown fields" expert info to the bitmap, just as we do the
other expert info.

svn path=/trunk/; revision=49238
2013-05-10 23:21:42 +00:00
Guy Harris 85525d4d59 Update a comment.
svn path=/trunk/; revision=49235
2013-05-10 19:40:23 +00:00
Pascal Quantin 914099a5a9 Fix a few bugs related to PDU export feature:
- tag length is wrong if proto name was a multiple of 4 bytes
- tag length is wrong in case no IP address is available in packet_info structwhile tag is requested
- endianness issue when dumping the port number
- overlapping tag IPv4 Dst address and IPv6 Src address
- do not call dissector when it is not found
- typo errors
Enhancements:
- add a subtree for tag content
- display IPv6 Src/Dst address

svn path=/trunk/; revision=49232
2013-05-10 13:13:50 +00:00
Guy Harris 660bda53cd OK, what's the deal with TZSP_CONFIG packets?
svn path=/trunk/; revision=49229
2013-05-10 07:32:18 +00:00
Guy Harris 34a7231d22 Add some tag values from the TZSP spec.
Change white space.

svn path=/trunk/; revision=49228
2013-05-10 07:30:32 +00:00
Guy Harris 66f0e7fdd8 Use #defines for protocol types, and make the description of type 0
match the TZSP spec.

svn path=/trunk/; revision=49226
2013-05-10 07:03:25 +00:00
Guy Harris ac654293c3 Add (Wayback Machine) URL for an (incomplete) specification of TZSP
(what are the contents of a CONFIG packet?).

svn path=/trunk/; revision=49225
2013-05-10 06:46:42 +00:00
Guy Harris 518faee2e7 Wrap 64-bit constants in G_GUINT64_CONSTANT().
svn path=/trunk/; revision=49222
2013-05-10 02:18:15 +00:00
Evan Huus c900d0ea7e From "0xBismarck" via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8573
Dissector for PTP-over-IP (picture transfer protocol). PTP-over-USB also exists
but is not identical, so some parts of the dissector are shared for future use.

svn path=/trunk/; revision=49221
2013-05-10 01:37:14 +00:00
Michael Mann 94add739e8 NULL terminate bit field list. Bug 8638 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8638)
svn path=/trunk/; revision=49214
2013-05-09 12:49:31 +00:00
Martin Kaiser 54a34fdb30 Coverity 1011110: Unused pointer value
remove the whole unused subtree


svn path=/trunk/; revision=49213
2013-05-09 11:40:14 +00:00
Martin Kaiser e1ba9948fd From Christian Svensson
use correct Fibre Channel EOFs according to the FC-FS-3 specification
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8636

svn path=/trunk/; revision=49210
2013-05-08 20:27:31 +00:00
Evan Huus d860a01aaf Round two of wmem cleanup callbacks. While the emem tree behaviour will require
recurring callbacks, I suspect most other potential uses will be once-only, so
make that possible, and improve the documentation on the remaining issues.

Also separate out the code into its own files and the testing into its own
test case.

svn path=/trunk/; revision=49209
2013-05-08 01:14:01 +00:00
Martin Kaiser 92398bab6a add IDs for host license, play count
svn path=/trunk/; revision=49206
2013-05-07 19:36:46 +00:00
Evan Huus 2e92c6dfde Add user callbacks to wmem. This feature is a generic way to transparently mimic
the behaviour emem has for seasonal trees, which is that the master tree
structure is not actually seasonal - it is permanent. When the seasonal memory
pool is cleared, the root node pointer in all of these permanent trees is set
to NULL, and the pool takes care of actually freeing the nodes.

Wmem can now mimic this by allocating the tree header struct in epan_scope(),
allocating any node structs in file_scope(), and registering a callback on
file_scope() that NULLs the pointer in the epan_scope() header. Yes, this is
confusing, but it seemed simpler than adding manual callback registrations to
every single dissector that currently uses seasonal trees.

The callbacks may also be useful for other things that need cleanup (I'm
thinking resource handles stored in wmem memory that need to be fclosed or
what-have-you before they the handle is lost).

As indicated by the number of caveats in README.wmem, the implementation
probably needs a bit of work to make it safer/saner/more-useful. Thoughts
(or patches!) in this direction are more than welcome.

svn path=/trunk/; revision=49205
2013-05-07 19:23:10 +00:00
Alexis La Goutte b53ac56b03 From Christian Koenning via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8631 RFC 6887 Port Control Protocol Response 96 bit reserved not 64 bit
As per RFC 6887 the response header has 96bit reserved bit, not 64.
Without the attached patch, the PCP Responses are parsed incorrectly

svn path=/trunk/; revision=49202
2013-05-07 13:41:52 +00:00
Jörg Mayer fe2f036bd9 Fix a c++ compat warning in the template and copy the resulting
file to packet-dcerpc-drsuapi.c
This seems to undo some (warning fix) changes made to the dissector
directly instead of fixing the template (or generator).

svn path=/trunk/; revision=49192
2013-05-07 01:52:33 +00:00
Martin Mathieson 2771af9851 Don't throw away UM re-assembly state when see MAC retx frame.
svn path=/trunk/; revision=49188
2013-05-06 21:52:49 +00:00
Martin Kaiser 754d4ac902 From Andreas Schultz
use correct PRF for DTLS 1.2

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

svn path=/trunk/; revision=49187
2013-05-06 20:00:59 +00:00
Jörg Mayer b0c0ab5345 Fix compilation on -Werror compiles
svn path=/trunk/; revision=49186
2013-05-06 18:24:11 +00:00
Anders Broman 05ed1f5199 Add missing files.
svn path=/trunk/; revision=49185
2013-05-06 16:31:29 +00:00
Anders Broman 1ab65e7146 Add a helper function to load tags, handle IP and port tags and
copy packet comments.

svn path=/trunk/; revision=49184
2013-05-06 15:59:16 +00:00
Michael Mann 880fc1ba7f Allow fix dissector to be found by name, which SSL needs for decryption. Bug 8625 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8625)
svn path=/trunk/; revision=49183
2013-05-06 13:58:36 +00:00
Evan Huus 55570724c3 #if 0 out some unused code that was causing latest GCC to complain.
Also fix indentation.

svn path=/trunk/; revision=49182
2013-05-05 22:56:52 +00:00
Anders Broman f26b36f2aa C++ comments.
svn path=/trunk/; revision=49181
2013-05-05 20:52:42 +00:00
Anders Broman ea7a1ff3b7 84: warning: 'proto_name' may be used uninitialized in this function
svn path=/trunk/; revision=49179
2013-05-05 20:03:00 +00:00
Anders Broman 6409756fb8 55:1: error: "/*" within comment
svn path=/trunk/; revision=49178
2013-05-05 19:49:50 +00:00
Anders Broman a268bb6b94 Add the abillity to export PDU:s to file using a USER_DLT adding meta data before the actual protocol PDU. Some meta tags makes it possible for the dissector of the user DLT to call the correct PDU dissector.
This is prof-of-concept needs a bit of cleanup.

svn path=/trunk/; revision=49177
2013-05-05 19:37:51 +00:00
Anders Broman 44f48d0464 Add the abillity to export PDU:s to file using a USER_DLT adding meta data before the actual protocol PDU. Some meta tags makes it possible for the dissector of the user DLT to call the correct PDU dissector.
This is prof-of-concept needs a bit of cleanup.

svn path=/trunk/; revision=49176
2013-05-05 19:36:53 +00:00
Evan Huus 81ecf094f6 From Hauke Mehrtens via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8567
[PATCH 7/8]
Dissect DTLS server key exchange

[PATCH 8/8]
Dissect DTLS client key exchange

[From me]
Clean up some field display names


svn path=/trunk/; revision=49175
2013-05-05 14:19:59 +00:00
Evan Huus ad3c91fb81 From Hauke Mehrtens via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8567
[PATCH 5/8]
Dissect client key exchange for PSK

[PATCH 6/8]
Dissect client key exchange for RSA-PSK


svn path=/trunk/; revision=49174
2013-05-05 14:10:09 +00:00
Evan Huus 39abf7ca0a From Hauke Mehrtens via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8567
[PATCH 3/8]
Detect PSK and RSA_PSK key exchange

[PATCH 4/8]
Dissect the identity hint for PSK and RSA_PSK key exchanges

[From me]
Using proto_tree_add_item instead of proto_tree_add_uint in one place

svn path=/trunk/; revision=49173
2013-05-05 14:01:11 +00:00
Evan Huus 79b3d4e32f From Hauke Mehrtens via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8567
[PATCH 1/8]
Add a subtree for the random DTLS elements. This is what TLS already does, and
it makes more sense than prefixing their display names.

[PATCH 2/8]
Show the actual hex content of the cookie by just using proto_tree_add_item.
The cookie length has its own field, so there's no need to display it twice.

[From me]
Fix an @ in the AUTHORS file


svn path=/trunk/; revision=49172
2013-05-05 13:49:49 +00:00
Martin Mathieson 9d6d7f78c3 Remove an unnecessary header include.
svn path=/trunk/; revision=49171
2013-05-05 11:32:00 +00:00
Michael Mann 2a9201a34f Remove if (tree) so expert_info will always be called.
svn path=/trunk/; revision=49170
2013-05-05 11:02:42 +00:00
Jörg Mayer e70f754cff Yet another protocol update via
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8616

svn path=/trunk/; revision=49165
2013-05-04 23:37:02 +00:00
Evan Huus 60fe9f1b9e Stub out the wmem test suite for older Glibs. This should restore
compatibility with GLIB 2.14.

svn path=/trunk/; revision=49161
2013-05-04 12:42:28 +00:00
Evan Huus 23f134d48e From Joe McEachern via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8614
Add tcp.analysis.spurious_retransmission. Although RFC 793 does not define
spurious TCP retransmissions, TCP spurious retransmissions are referenced in
other RFCs and research.

svn path=/trunk/; revision=49160
2013-05-04 12:37:01 +00:00
Alexis La Goutte 648ac74b5e Fix errors found by fix-encoding-args tools
svn path=/trunk/; revision=49158
2013-05-04 08:12:50 +00:00
Alexis La Goutte f6fd237a35 Fix some Dead Store (Dead assignement/Dead increment) Warning found by Clang
svn path=/trunk/; revision=49157
2013-05-04 08:12:36 +00:00
Alexis La Goutte 71f1f8b9d3 Fix indents (Use Spaces) Add Modelines
svn path=/trunk/; revision=49156
2013-05-04 08:12:25 +00:00
Alexis La Goutte c77607c466 Add a dissector for the Ixia Anue encoding to CMakeList too
svn path=/trunk/; revision=49155
2013-05-04 08:12:12 +00:00
Michael Mann e5fe6b1dca LISP control packet incorrectly identified as LISP data based when UDP source port is 4341. Bug 8627 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8627)
Also did some minor cleanup/improvements while I was there.

svn path=/trunk/; revision=49154
2013-05-04 02:20:59 +00:00
Michael Mann d9077264d6 missed adding packet-ssl.h.
svn path=/trunk/; revision=49153
2013-05-04 01:37:55 +00:00
Michael Mann 377470abe3 Decrypt Fix protocol over SSL. Bug 8625 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8625)
svn path=/trunk/; revision=49152
2013-05-04 01:27:33 +00:00
Guy Harris 04c02451aa Add WS_DLL_PUBLIC to all functions declared here.
svn path=/trunk/; revision=49150
2013-05-03 23:37:06 +00:00
Martin Mathieson 33e738bf97 Remove unnecessary lines from handoff function.
svn path=/trunk/; revision=49149
2013-05-03 18:28:58 +00:00
Martin Mathieson 9032963cf7 Add a dissector for the Ixia Anue encoding of timestamps in the ethernet
trailer.

svn path=/trunk/; revision=49148
2013-05-03 17:52:31 +00:00
Anders Broman ed0861abaa Add 3gpp2_type16.
svn path=/trunk/; revision=49147
2013-05-03 17:34:49 +00:00
Anders Broman 9b2e608670 Add doxygen comments.
svn path=/trunk/; revision=49146
2013-05-03 17:33:13 +00:00
Michael Mann ce537f6b94 Remove static packet_info *gpinfo and just use the packet_info provided by the function.
svn path=/trunk/; revision=49145
2013-05-03 14:54:39 +00:00
Michael Mann b542526248 Remove global packet_info* current_pinfo
svn path=/trunk/; revision=49143
2013-05-03 02:43:43 +00:00
Evan Huus f25ebae549 Add some casts to hush the buildbots, and fix what I assume was a copy-pasto
to ensure that the return value of strlen is actually used as the length of the
string.

svn path=/trunk/; revision=49142
2013-05-03 01:37:27 +00:00
Michael Mann c83619a25a Remove unnecessary global variables
svn path=/trunk/; revision=49141
2013-05-03 00:39:14 +00:00
Michael Mann cd2d46ab21 Finish improving NTLM and PLAIN authentication. Bug 8600 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8600)
From Uli Heilmeier 

svn path=/trunk/; revision=49140
2013-05-03 00:04:36 +00:00
Michael Mann 31320e7271 Dissect SSID List element.
From Jouni Malinen, bug 8613 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8613)

svn path=/trunk/; revision=49137
2013-05-02 13:08:31 +00:00
Michael Mann ccf8013f95 Remove useless global variables
svn path=/trunk/; revision=49136
2013-05-02 13:03:45 +00:00
Michael Mann f52ecf47c8 Remove global variable g_pinfo.
svn path=/trunk/; revision=49135
2013-05-02 12:59:07 +00:00
Anders Broman cacddebdb7 From Sandeep Dahiya:
Extend the value_string that show the platform from where the packet was captured.

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

svn path=/trunk/; revision=49133
2013-05-02 05:16:09 +00:00
Michael Mann 25e62daeb9 Add a subtree for P2P Client Info Descriptor. Part of bug 8613 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8613)
From Jouni Malinen

svn path=/trunk/; revision=49132
2013-05-02 02:09:08 +00:00
Michael Mann 5b416c8479 IEEE802.11 improvements:
1. ANQP Venue Name is a UTF-8 string
2. Dissect Hotspot 2.0 indication and ANQP elements
3. Dissect TFS Request/Response
4. Dissect WNM-Notification Request frames

svn path=/trunk/; revision=49131
2013-05-02 01:59:34 +00:00
Michael Mann f1d06a226b Fix P2P Group Info validation code for Device Name length field. Bug 8613 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8613)
From Jouni Malinen 

svn path=/trunk/; revision=49130
2013-05-02 01:51:02 +00:00
Michael Mann f1918b01e1 Add BSS Max Idle Period, WNM-Sleep Mode.
Fix and enhance TCLAS dissection.

From Jouni Malinen, bug 8613 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8613)

svn path=/trunk/; revision=49129
2013-05-02 01:15:25 +00:00
Michael Mann 195e87f3ea Protect a "divide by zero" operation. Bug 7359 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7359). This seems to have been generated through a corrupted UAT file switching between 1.8 and 1.10, but it's a good check to have regardless.
svn path=/trunk/; revision=49128
2013-05-01 23:59:16 +00:00
Guy Harris 1fe16c1d6a Fix warning.
svn path=/trunk/; revision=49118
2013-05-01 21:15:47 +00:00
Michael Mann b787f03df3 Remove some global variables in favor of private_data member of asn1_ctx_t. Bug 7060 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7060). This should (mostly) passify the bug, but it appears like this could be done with a lot more ASN.1 dissectors.
svn path=/trunk/; revision=49117
2013-05-01 20:54:31 +00:00
Jörg Mayer dbd718c606 Whitespace fixes: Indented lines should not start with
spaces followed by tabs.

svn path=/trunk/; revision=49115
2013-05-01 19:51:46 +00:00
Jeff Morriss 695d3fde1c Fix https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8622 :
hsrp2.md5_auth_data is added to the tree with a length of 16 so declare it as
FT_BYTES instead of FT_UINT32 (using the latter causes an assertion in
trunk-1.8 and an expert info in trunk and trunk-1.10).

svn path=/trunk/; revision=49114
2013-05-01 19:42:28 +00:00