Commit Graph

132 Commits

Author SHA1 Message Date
jiayl@webrtc.org
50ca986bc1 Improve the logging when a TCP connection is deleted.
BUG=
R=juberti@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/31869004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7572 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-30 23:50:54 +00:00
henrike@webrtc.org
269fb4bc90 move xmpp and p2p to webrtc
Create a copy of talk/xmpp and talk/p2p under webrtc/libjingle/xmpp and
webrtc/p2p. Also makes libjingle use those version instead of the one in the talk folder.

BUG=3379

Review URL: https://webrtc-codereview.appspot.com/26999004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7549 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-28 22:20:11 +00:00
guoweis@webrtc.org
b6173abe59 Fix local address leakage when IceTransportsType is relay
As part of implementing IceTransportsType constraint, we should hide the raddr which is the mapped address to prevent local address leakage.

BUG=1179
R=juberti@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/26889004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7484 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-21 20:40:21 +00:00
henrike@webrtc.org
28100cb388 Reverts r7459 "Create a copy of talk/xmpp and talk/p2p under webrtc/libjingle/xmpp and webrtc/p2p."
BUG=N/A
TBR=niklas.enbom@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/29829004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7472 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-17 22:03:39 +00:00
henrike@webrtc.org
d1ba6d9cbf Create a copy of talk/xmpp and talk/p2p under webrtc/libjingle/xmpp and webrtc/p2p.
BUG=3379
R=niklas.enbom@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/27709005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7459 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-15 17:30:28 +00:00
henrike@webrtc.org
a4351a045d libjingle: use _stricmp instead of deprecated stricmp.
BUG=N/A
R=turaj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/25869004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7447 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-14 17:07:41 +00:00
henrike@webrtc.org
4530b2ca48 Revert 7355 "Fix parallelization in libjingle_p2p_unittest."
Breaks waterfall.

TBR=pbos@webrtc.org
BUG=N/A

Review URL: https://webrtc-codereview.appspot.com/22909004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7357 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-01 15:43:55 +00:00
pbos@webrtc.org
fd29205e6e Fix parallelization in libjingle_p2p_unittest.
Adding VirtualSocketServers to SessionTest and RelayServerTest to avoid
contention on real ports.

R=juberti@webrtc.org
BUG=2597
TEST=third_party/gtest-parallel/gtest-parallel -w 64 out/Debug/libjingle_p2p_unittest

Review URL: https://webrtc-codereview.appspot.com/26679004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7355 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-01 12:31:31 +00:00
pbos@webrtc.org
34f2a9ea72 Initialize SSL in unittest_main.cc.
Instead of having each test individually initialize and tear down SSL
move this to unittest_main.cc so that all tests are properly
initialized and new tests "don't have to think about it".

R=pthatcher@webrtc.org
BUG=

Review URL: https://webrtc-codereview.appspot.com/30549004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7316 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-28 11:36:45 +00:00
jiayl@webrtc.org
bebc75e8bd Fix the duplicated candidate problem when using multiple STUN servers.
BUG=3723
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/26469004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7312 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-26 23:01:11 +00:00
pbos@webrtc.org
05305116d6 Explicitly initialize SSL for tests.
Adding missing SSL initialization/cleanups in
TransportDescriptionFactoryTest and MediaSessionTest.

These being missing prevent these tests from being run individually
without other tests preceding them that initialize SSL.

BUG=3860
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/24739004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7300 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-25 15:50:26 +00:00
buildbot@webrtc.org
dcc1f0426b (Auto)update libjingle 75852725-> 75853560
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7231 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-18 23:14:12 +00:00
jiayl@webrtc.org
42731bdded Avoid writing a double/float to a string to avoid a crash.
BUG=crbug/367223
R=juberti@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/30459004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7225 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-18 16:51:51 +00:00
guoweis@webrtc.org
369a637ac8 Implemented Network::GetBestIP() selection logic as following.
1) return the first global temporary and non-deprecrated ones.
2) if #1 not available, return global one.
3) if #2 not available, use ULA ipv6 as last resort.

ULA stands for unique local address. They are only useful in a private
WebRTC deployment. More detail: http://en.wikipedia.org/wiki/Unique_local_address

BUG=3808

At this point, rule #3 actually won't happen at current
implementation. The reason being that ULA address starting with 0xfc 0r 0xfd will be grouped into its own Network. The result of that is WebRTC will have one extra Network to generate candidates but the lack of rule #3 shouldn't prevent turning on IPv6 since ULA should only be tried in a close deployment anyway.

R=jiayl@webrtc.org

Committed: https://code.google.com/p/webrtc/source/detail?r=7200

Committed: https://code.google.com/p/webrtc/source/detail?r=7201

Review URL: https://webrtc-codereview.appspot.com/31369004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7216 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-17 22:37:29 +00:00
henrike@webrtc.org
4a5061fbff talk/p2p/base: removed unused variable "port_"
BUG=N/A
R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/30419004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7212 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-17 12:33:07 +00:00
buildbot@webrtc.org
6a9b155798 (Auto)update libjingle 75683337-> 75695882
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7206 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-17 08:08:38 +00:00
guoweis@webrtc.org
40c2aa36f2 Implemented Network::GetBestIP() selection logic as following.
1) return the first global temporary and non-deprecrated ones.
2) if #1 not available, return global one.
3) if #2 not available, use ULA ipv6 as last resort.

ULA stands for unique local address. They are only useful in a private
WebRTC deployment. More detail: http://en.wikipedia.org/wiki/Unique_local_address

BUG=3808

At this point, rule #3 actually won't happen at current
implementation. The reason being that ULA address starting with 0xfc 0r 0xfd will be grouped into its own Network. The result of that is WebRTC will have one extra Network to generate candidates but the lack of rule #3 shouldn't prevent turning on IPv6 since ULA should only be tried in a close deployment anyway.

R=jiayl@webrtc.org

Committed: https://code.google.com/p/webrtc/source/detail?r=7200

Review URL: https://webrtc-codereview.appspot.com/31369004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7201 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-16 20:29:41 +00:00
guoweis@webrtc.org
f8bff762d1 Implemented Network::GetBestIP() selection logic as following.
1) return the first global temporary and non-deprecrated ones.
2) if #1 not available, return global one.
3) if #2 not available, use ULA ipv6 as last resort.

ULA stands for unique local address. They are only useful in a private
WebRTC deployment. More detail: http://en.wikipedia.org/wiki/Unique_local_address

BUG=3808

At this point, rule #3 actually won't happen at current
implementation. The reason being that ULA address starting with 0xfc 0r 0xfd will be grouped into its own Network. The result of that is WebRTC will have one extra Network to generate candidates but the lack of rule #3 shouldn't prevent turning on IPv6 since ULA should only be tried in a close deployment anyway.

R=jiayl@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/31369004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7200 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-16 20:17:22 +00:00
jiayl@webrtc.org
b6d69282f5 Enable shared socket for TurnPort.
In AllocationSequence::OnReadPacket, we now hand the packet to both the TurnPort and StunPort if the remote address matches the server address.

TESTED=AppRtc loopback call generates both turn and stun candidates.

BUG=1746
R=juberti@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/19189004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7138 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-10 16:31:34 +00:00
jiayl@webrtc.org
22406fcc9b TurnPort should retry allocation with a new address on error STUN_ERROR_ALLOCATION_MISMATCH.
BUG=3570
R=juberti@webrtc.org, mallinath@webrtc.org

Committed: https://code.google.com/p/webrtc/source/detail?r=7070

Review URL: https://webrtc-codereview.appspot.com/20999004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7120 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-09 15:44:05 +00:00
mallinath@webrtc.org
3d81b1b22a Relanding https://code.google.com/p/webrtc/source/detail?r=7093, after it got
reverted due to some internal compile failures.

In this CL changes are done in portallocator_unittest.cc, in particular to EXPECT_EQ checking in new tests.

Original patch committed in https://code.google.com/p/webrtc/source/detail?r=7093

TBR=juberti@webrtc.org
BUG=1179

Review URL: https://webrtc-codereview.appspot.com/22329004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7118 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-09 14:38:10 +00:00
henrike@webrtc.org
8b0b21161a Revert 7093: "Implementing ICE Transports type handling in libjingle transport."
TBR=mallinath@webrtc.org
BUG=N/A

Review URL: https://webrtc-codereview.appspot.com/28419004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7112 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-08 22:46:28 +00:00
mallinath@webrtc.org
7256d31d28 Implementing ICE Transports type handling in libjingle transport.
BUG=1179
R=juberti@webrtc.org, bemasc@webrtc.org, jiayl@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/22219004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7093 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-07 04:08:44 +00:00
henrike@webrtc.org
f1427c6731 Revert 7070 "TurnPort should retry allocation with a new address on error
STUN_ERROR_ALLOCATION_MISMATCH."

TBR=jiayl@webrtc.org
BUG=N/A

Review URL: https://webrtc-codereview.appspot.com/15359004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7072 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-04 22:21:33 +00:00
jiayl@webrtc.org
574f2f60fe TurnPort should retry allocation with a new address on error STUN_ERROR_ALLOCATION_MISMATCH.
BUG=3570
R=juberti@webrtc.org, mallinath@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/20999004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7070 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-04 19:11:34 +00:00
buildbot@webrtc.org
fa4535b270 (Auto)update libjingle 74694022-> 74696326
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7045 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-03 16:49:04 +00:00
guoweis@webrtc.org
7087857afd implement handling ALTERNATE-SERVER response from turn protocol as
specified in RFC 5766, also created 2 test cases for both the normal
redirection case as well as when a pingpong situation happens, the
allocation should fail

BUG=1986 TURN ALTERNATE-SERVER support
R=juberti@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/21249004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6985 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-26 21:37:49 +00:00
henrik.lundin@webrtc.org
6908b84179 Disable two tests in TurnPortTest
The tests are flaky.

BUG=3720
TBR=jiayl@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/17159004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6934 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-20 09:47:58 +00:00
buildbot@webrtc.org
353cd37ae9 (Auto)update libjingle 73370064-> 73399579
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6911 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-15 18:26:12 +00:00
buildbot@webrtc.org
a09a99950e (Auto)update libjingle 73222930-> 73226398
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6891 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-13 17:26:08 +00:00
mallinath@webrtc.org
2d60c5e8bc Encoding and Decoding of TCP candidates as defined in RFC 6544.
R=juberti@chromium.org, jiayl@webrtc.org, juberti@webrtc.org
BUG=2204

Review URL: https://webrtc-codereview.appspot.com/21479004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6857 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-08 22:29:20 +00:00
tkchin@webrtc.org
c8554be6dd Support for TURN/TLS.
Wrap the socket in an SSL adapter, then simply call StartSSL() on the
SSLAdapter instance.

Cloned from: https://webrtc-codereview.appspot.com/21799004/

R=juberti@chromium.org, juberti@webrtc.org
BUG=

Review URL: https://webrtc-codereview.appspot.com/14059004

Patch from Manish Jethani <manish.jethani@gmail.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6852 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-08-07 20:39:08 +00:00
buildbot@webrtc.org
d4e598d57a (Auto)update libjingle 72097588-> 72159069
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6799 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-29 17:36:52 +00:00
buildbot@webrtc.org
51c5508bf1 (Auto)update libjingle 72016417-> 72097588
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6792 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-28 22:26:15 +00:00
buildbot@webrtc.org
45304ff0a7 (Auto)update libjingle 71829282-> 71834788
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6773 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-24 16:06:35 +00:00
buildbot@webrtc.org
e2da234e27 (Auto)update libjingle 71766184-> 71775619
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6768 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-23 21:09:01 +00:00
jiayl@webrtc.org
a0b929b63c Revert "Reland r6707 with the fix for callclient.cc."
Breaking pulse build again.
This reverts commit 3e0bb9b5bf7f616000399e24f1d9622ad6b612f9.

TBR=wu@webrtc.org
BUG=3310

Review URL: https://webrtc-codereview.appspot.com/17979004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6740 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-18 22:28:36 +00:00
jiayl@webrtc.org
a6e8cf8fb7 Reland r6707 with the fix for callclient.cc.
TBR=mallinath@webrtc.org
BUG=3310

Review URL: https://webrtc-codereview.appspot.com/13039004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6737 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-18 21:34:11 +00:00
mallinath@webrtc.org
aa93611375 Connect to the turn server if address cannot be resolved by the browser by using
unresolved address. This case is only considered for TCP sockets. P2P layer will
assume socket will do the resolve by using a proxy.

BUG=3384
R=jiayl@webrtc.org, juberti@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/13829004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6722 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-17 21:55:04 +00:00
mallinath@webrtc.org
e5995aadd5 Assigning a priority to TURN server list passed to PeerConnection. First entry in the TURN server list will get the highest priotity and so forth.
This priority will be used in calculating the candidate priority generated from the server. This will allow candidate generated from server to have unique priority.

BUG=3223
R=jiayl@webrtc.org, juberti@webrtc.org, pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/16549004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6721 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-17 18:23:52 +00:00
wu@webrtc.org
52eddec71b Revert 6707 "Add support of multiple STUN servers in UDPPort."
Reason:
Breaks the build on callclient.cc.

> Add support of multiple STUN servers in UDPPort.
> Now UDPPort signals PortComplete or PortError when the Bind requests for all STUN servers are responded or failed. If any STUN bind is successful, PortComplete is signaled; otherwise, PortError is signaled.
> 
> I discovered a bug in SocketAddress while working on this. It didn't consider two addresses unequal if they have unresolved IP and different hosts. It's fixed now.
> 
> BUG=3310
> R=mallinath@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/13879004

TBR=jiayl@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/14999004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6711 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-17 00:03:24 +00:00
jiayl@webrtc.org
46fb331bc5 Add support of multiple STUN servers in UDPPort.
Now UDPPort signals PortComplete or PortError when the Bind requests for all STUN servers are responded or failed. If any STUN bind is successful, PortComplete is signaled; otherwise, PortError is signaled.

I discovered a bug in SocketAddress while working on this. It didn't consider two addresses unequal if they have unresolved IP and different hosts. It's fixed now.

BUG=3310
R=mallinath@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/13879004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6707 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-16 20:55:31 +00:00
tommi@webrtc.org
b5348c64bb Minor refactoring of the session classes.
Make member variables that never change and are touched on multiple threads, const.
Move implementations of setters/getters of variables that can change, into the cc file in preparation of adding thread correctness checks.

This is a relanding of a cl already reviewed but got reverted by mistake.

TBR=xians@google.com

Review URL: https://webrtc-codereview.appspot.com/12979004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6676 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-14 20:11:49 +00:00
mallinath@webrtc.org
a70be68f65 Disabling shared socket mode for TURN ports. This is done as currently when
TURN server also used as STUN server, binding responses will be handed over
to TURN port, which simply discard these messages, as requests are originated
from StunPort.

Until we find the right solution for this problem, it's better we disable this
feature.

BUG=https://code.google.com/p/webrtc/issues/detail?id=3537
R=jiayl@webrtc.org, juberti@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/19889004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6618 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-07 20:47:24 +00:00
jiayl@webrtc.org
974bbbb352 Fix uninitialized value in DtlsTransport and TransportDescription.
BUG=crbug/390304
R=wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/21779004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6577 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-01 18:33:07 +00:00
jiayl@webrtc.org
db397e5c6c Re-evalutes the ICE role on ICE restart.
Also unifies the logic of ICE restart.

BUG=1775
R=juberti@google.com, juberti@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/20619004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6510 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-20 16:32:09 +00:00
pbos@webrtc.org
83785d37d1 Remove unused ALLOCATE_DELAY constant.
Breaks linux_tsan2 compile [-Wunused-const-variable].

TBR=mallinath@webrtc.org
BUG=

Review URL: https://webrtc-codereview.appspot.com/20749004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6505 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-20 10:28:39 +00:00
buildbot@webrtc.org
4c25c67146 (Auto)update libjingle 69589535-> 69600065
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6504 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-20 04:42:34 +00:00
jiayl@webrtc.org
e3cdd9959e Revert "Fix the "Failed unprotect audio RTP packet" error when SCTP is bundled with audio."
This reverts commit 56631a14bdae24aa0bfaceeb2b57df729fee1227.

TBR=henrike@webrtc.org
BUG=3235

Review URL: https://webrtc-codereview.appspot.com/19669004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6363 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-06 22:32:57 +00:00
jiayl@webrtc.org
745a39cced Fix the "Failed unprotect audio RTP packet" error when SCTP is bundled with audio.
BUG=3235
R=juberti@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/16609004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6356 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-06 19:24:02 +00:00