summaryrefslogtreecommitdiffstats
path: root/remoting/protocol
Commit message (Collapse)AuthorAgeFilesLines
* Cleaned up the reader and writer create methods to return scoped_ptr.kxing@chromium.org2012-06-158-16/+20
| | | | | | Review URL: https://chromiumcodereview.appspot.com/10556020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142498 0039d316-1c4b-4281-b951-d872f2087c98
* Added files for audio readers.kxing@chromium.org2012-06-152-0/+135
| | | | | | Review URL: https://chromiumcodereview.appspot.com/10562007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142497 0039d316-1c4b-4281-b951-d872f2087c98
* [Chromoting] Make ChromotingHost's dependency on libjingle injected, instead ↵simonmorris@chromium.org2012-06-152-0/+39
| | | | | | | | | | | | | of hard-coded. This will help improve ChromotingHost's unit tests. BUG=86546 Review URL: https://chromiumcodereview.appspot.com/10538091 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142473 0039d316-1c4b-4281-b951-d872f2087c98
* Added files for audio writers.kxing@chromium.org2012-06-152-0/+147
| | | | | | | | | | The structure of AudioWriter and ProtobufAudioWriter are similar to their video counterparts. Review URL: https://chromiumcodereview.appspot.com/10535153 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142297 0039d316-1c4b-4281-b951-d872f2087c98
* fixed issue 128383 - replace GetPeerAddress(AddressList* address) with ↵zhaoqin@chromium.org2012-06-082-7/+5
| | | | | | | | | | | | | GetPeerAddress(IPEndPoint* address) R=szym@chromium.org BUG=128383 TEST=try bot Review URL: https://chromiumcodereview.appspot.com/10491007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141125 0039d316-1c4b-4281-b951-d872f2087c98
* Created an AudioStub for Chromoting audio.kxing@chromium.org2012-06-071-0/+34
| | | | | | | | | | BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/10533014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141009 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 140846 - (relanding r140697)rsleevi@chromium.org2012-06-063-26/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | Move the core state machine of SSLClientSocketNSS into a thread-safe Core NSS SSL functions may block on the underlying PKCS#11 modules or on user input. On ChromeOS, which has a hardware TPM, calls may take upwards of several seconds, preventing any IPC due to the I/O thread being blocked. To avoid blocking the I/O thread on ChromeOS, move the core SSL implementation to a dedicated worker thread, so that only SSL sockets are blocked. BUG=122355 TEST=existing net_unittests + see bug. Review URL: https://chromiumcodereview.appspot.com/10454066 TBR=rsleevi@chromium.org Review URL: https://chromiumcodereview.appspot.com/10546033 TBR=rsleevi@chromium.org Review URL: https://chromiumcodereview.appspot.com/10543036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140856 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 140697 - Maybe caused sizes regression (which would be acceptablersleevi@chromium.org2012-06-063-72/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | and this will be relanded), but revert to be sure it wasn't something else. Move the core state machine of SSLClientSocketNSS into a thread-safe Core NSS SSL functions may block on the underlying PKCS#11 modules or on user input. On ChromeOS, which has a hardware TPM, calls may take upwards of several seconds, preventing any IPC due to the I/O thread being blocked. To avoid blocking the I/O thread on ChromeOS, move the core SSL implementation to a dedicated worker thread, so that only SSL sockets are blocked. BUG=122355 TEST=existing net_unittests + see bug. Review URL: https://chromiumcodereview.appspot.com/10454066 TBR=rsleevi@chromium.org Review URL: https://chromiumcodereview.appspot.com/10546033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140846 0039d316-1c4b-4281-b951-d872f2087c98
* Move the core state machine of SSLClientSocketNSS into a thread-safe Corersleevi@chromium.org2012-06-063-26/+72
| | | | | | | | | | | | | | | | | | | NSS SSL functions may block on the underlying PKCS#11 modules or on user input. On ChromeOS, which has a hardware TPM, calls may take upwards of several seconds, preventing any IPC due to the I/O thread being blocked. To avoid blocking the I/O thread on ChromeOS, move the core SSL implementation to a dedicated worker thread, so that only SSL sockets are blocked. BUG=122355 TEST=existing net_unittests + see bug. Review URL: https://chromiumcodereview.appspot.com/10454066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140697 0039d316-1c4b-4281-b951-d872f2087c98
* Removed the dead function OnVideoPacket().kxing@chromium.org2012-06-051-3/+0
| | | | | | | | | | BUG=131209 TEST= Review URL: https://chromiumcodereview.appspot.com/10538011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140567 0039d316-1c4b-4281-b951-d872f2087c98
* [Chromoting] Initial plumbing for cursor shape.garykac@chromium.org2012-06-029-8/+62
| | | | | | | | | | | | | | | | | This cl contains: * protocol for sending cursor shape on control channel from host to client * cross-platform (Pepper) client code for rendering host cursor * Linux host support for reading current cursor shape Separate CLs will follow with Mac and Windows host support. BUG=116229 TEST=none Review URL: https://chromiumcodereview.appspot.com/10382184 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140205 0039d316-1c4b-4281-b951-d872f2087c98
* [Chromoting] Let the Windows IT2Me host send clipboard events to the client.simonmorris@chromium.org2012-05-313-2/+94
| | | | | | | | | | | This CL lets ClipboardWin send clipboard events to ClientSession. BUG=117473 Review URL: https://chromiumcodereview.appspot.com/10413060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139854 0039d316-1c4b-4281-b951-d872f2087c98
* Disable V1 auth support in remoting client and Me2Me host.sergeyu@chromium.org2012-05-311-10/+0
| | | | | | | | BUG=110483 Review URL: https://chromiumcodereview.appspot.com/10446084 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139815 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 139424 - Remove V1 authenticators.sergeyu@chromium.org2012-05-305-3/+354
| | | | | | | | | | | | | | | All currently used versions of chromoting should support V2 auth, so we no longer need V1 auth support. BUG=110483 Review URL: https://chromiumcodereview.appspot.com/10453064 TBR=sergeyu@chromium.org Review URL: https://chromiumcodereview.appspot.com/10453080 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139578 0039d316-1c4b-4281-b951-d872f2087c98
* Remove V1 authenticators.sergeyu@chromium.org2012-05-295-354/+3
| | | | | | | | | | | | All currently used versions of chromoting should support V2 auth, so we no longer need V1 auth support. BUG=110483 Review URL: https://chromiumcodereview.appspot.com/10453064 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139424 0039d316-1c4b-4281-b951-d872f2087c98
* Remove Pepper Transport API transport.sergeyu@chromium.org2012-05-265-743/+1
| | | | | | | | BUG=109630 Review URL: https://chromiumcodereview.appspot.com/10442040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139170 0039d316-1c4b-4281-b951-d872f2087c98
* Don't depend on MessageLoopProxy in remoting protocol code.sergeyu@chromium.org2012-05-2412-74/+42
| | | | | | Review URL: https://chromiumcodereview.appspot.com/10332304 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@138731 0039d316-1c4b-4281-b951-d872f2087c98
* Simplify BufferedSocketWriter by making it non-thread-safe.sergeyu@chromium.org2012-05-2410-113/+75
| | | | | | | | | | Originally BufferedSocketWriter was implemented to be thread-safe, so that any thread can call Write() method. We don't write any data from other threads anymore, so there is no need to keep it thread-safe. Review URL: https://chromiumcodereview.appspot.com/10411082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@138694 0039d316-1c4b-4281-b951-d872f2087c98
* [Chromoting] Tighten up unit tests.simonmorris@chromium.org2012-05-242-4/+7
| | | | | | | | | | | | The result is that GMock stops complaining about uninteresting mock function calls. This CL also prevents a NOTIMPLEMENTED error in fake_session. Review URL: https://chromiumcodereview.appspot.com/10430006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@138681 0039d316-1c4b-4281-b951-d872f2087c98
* Remove RTP support from chromoting.sergeyu@chromium.org2012-05-2321-2051/+10
| | | | | | | | | | RTP was never used by chromoting and we have no plans using this code in the future. Also some other minor cleanups. Review URL: https://chromiumcodereview.appspot.com/10383294 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@138626 0039d316-1c4b-4281-b951-d872f2087c98
* [Chromoting] Add a filter that will stop the host sending unnecessary ↵simonmorris@chromium.org2012-05-226-6/+272
| | | | | | | | | | | | clipboard events to the client. The host does not yet send any clipboard events to the client. A follow-up CL will make that happen. BUG=117473 Review URL: https://chromiumcodereview.appspot.com/10399052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@138377 0039d316-1c4b-4281-b951-d872f2087c98
* Changes needed to roll libjingle r141 to chrome.sergeyu@chromium.org2012-05-222-3/+11
| | | | | | | | | 1. Setting ice username and password for P2PTransportChannel. 2. Updating XMPP Auth cookie with Auth Token Review URL: https://chromiumcodereview.appspot.com/10382003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@138334 0039d316-1c4b-4281-b951-d872f2087c98
* Reland 137824 - was reverted by mistakesergeyu@chromium.org2012-05-228-7/+17
| | | | | | | | | | | | | | | | | | | | | | | Properly handle accounts that don't have GMail account. 1. Me2MeHostAuthenticatorFactory now verifies that the bare JID of the remote client matches bare JID of the host. Previously it was comparing it with the user's email, which may be different from JID. 2. GaiaOAuthClient now fetches user's email. 3. SignalingConnector verifies that user's email matches the expected value stored in xmpp_login. If it doesn't, then the auth token was generated for a different account and the host treats it as an authentication error. BUG=128102 Review URL: https://chromiumcodereview.appspot.com/10332187 TBR=dharani@chromium.org Review URL: https://chromiumcodereview.appspot.com/10332285 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@138224 0039d316-1c4b-4281-b951-d872f2087c98
* This broke M20 build.dharani@chromium.org2012-05-228-17/+7
| | | | | | | | | | | | | | | | | | | | | | | Revert 137824 - Properly handle accounts that don't have GMail account. 1. Me2MeHostAuthenticatorFactory now verifies that the bare JID of the remote client matches bare JID of the host. Previously it was comparing it with the user's email, which may be different from JID. 2. GaiaOAuthClient now fetches user's email. 3. SignalingConnector verifies that user's email matches the expected value stored in xmpp_login. If it doesn't, then the auth token was generated for a different account and the host treats it as an authentication error. BUG=128102 Review URL: https://chromiumcodereview.appspot.com/10332187 TBR=sergeyu@chromium.org Review URL: https://chromiumcodereview.appspot.com/10388226 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@138204 0039d316-1c4b-4281-b951-d872f2087c98
* Properly handle accounts that don't have GMail account.sergeyu@chromium.org2012-05-188-7/+17
| | | | | | | | | | | | | | | | | | 1. Me2MeHostAuthenticatorFactory now verifies that the bare JID of the remote client matches bare JID of the host. Previously it was comparing it with the user's email, which may be different from JID. 2. GaiaOAuthClient now fetches user's email. 3. SignalingConnector verifies that user's email matches the expected value stored in xmpp_login. If it doesn't, then the auth token was generated for a different account and the host treats it as an authentication error. BUG=128102 Review URL: https://chromiumcodereview.appspot.com/10332187 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137824 0039d316-1c4b-4281-b951-d872f2087c98
* Switch client to Pepper UDP API instead of Transport API.sergeyu@chromium.org2012-05-162-7/+4
| | | | | | | | BUG=109630 Review URL: https://chromiumcodereview.appspot.com/10284008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137487 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Remove unneeded scoped_ptr.h includes from ppapi, printing, ↵thestig@chromium.org2012-05-163-10/+6
| | | | | | | | | | | | remoting, and sync. BUG=none TEST=none TBR=brettw,hclam,akalin,abodenha Review URL: https://chromiumcodereview.appspot.com/10387107 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137376 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 136692 - Switch client to Pepper UDP API instead of Transport API.sergeyu@chromium.org2012-05-142-4/+7
| | | | | | | | | | | | BUG=109630 Review URL: https://chromiumcodereview.appspot.com/10284008 TBR=sergeyu@chromium.org Review URL: https://chromiumcodereview.appspot.com/10387113 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@136908 0039d316-1c4b-4281-b951-d872f2087c98
* Switch client to Pepper UDP API instead of Transport API.sergeyu@chromium.org2012-05-112-7/+4
| | | | | | | | | BUG=109630 Review URL: https://chromiumcodereview.appspot.com/10284008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@136692 0039d316-1c4b-4281-b951-d872f2087c98
* [Chromoting] Move SharedSecretHash from Me2MeHostAuthenticatorFactory to ↵simonmorris@chromium.org2012-05-054-32/+33
| | | | | | | | | | | | | AuthenticationMethod. This reduces the size of remoting_host_controller.exe, which depends on SharedSecretHash. BUG=126256 Review URL: http://codereview.chromium.org/10317021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135522 0039d316-1c4b-4281-b951-d872f2087c98
* Remove some unused includes.wez@chromium.org2012-05-051-2/+0
| | | | | | Review URL: http://codereview.chromium.org/10310024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135513 0039d316-1c4b-4281-b951-d872f2087c98
* Add a message to allow clients to control the video channel.wez@chromium.org2012-05-035-0/+16
| | | | | | | | | | | | | Currently only enabling/disabling of video updates is controllable, which will be used to allow clients to suspend updates while their tab is not visible. This will be manually testable once the client is updated to hook visibility notifications to send pause/resume messages. BUG=107285 Review URL: http://codereview.chromium.org/10285005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135071 0039d316-1c4b-4281-b951-d872f2087c98
* Add notifyClientDimensions API to the Chromoting Client plugin.wez@chromium.org2012-05-012-0/+6
| | | | | | | | | | BUG=110212 TEST=Will be testable via subsequent API-consumer CL. Review URL: http://codereview.chromium.org/10262019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134671 0039d316-1c4b-4281-b951-d872f2087c98
* Implement HostPortAllocator.sergeyu@chromium.org2012-05-012-7/+5
| | | | | | | | | | HostPortAllocator is a PortAllocator specific to Chromoting host. BUG=103991 Review URL: https://chromiumcodereview.appspot.com/10160013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134650 0039d316-1c4b-4281-b951-d872f2087c98
* Pass TransportConfig to TransportFactory instead of Transport.sergeyu@chromium.org2012-04-308-28/+65
| | | | | | | | | | | LibjingleTransport transport instances will be sharing a single PortAllocator, so config needs to be passed to TransportFactory. BUG=103991 Review URL: https://chromiumcodereview.appspot.com/10160012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134637 0039d316-1c4b-4281-b951-d872f2087c98
* Move PortAllocator creation out of LibjingleTransportFactory.sergeyu@chromium.org2012-04-3010-156/+99
| | | | | | | | | | | | | Host will have host-specific port allocator, so PortAllocator creation has to be moved out of protocol code. Since PortAllocator needs to be configured with network settings (nat traversal and port range), I refactored how these settings are passed between layers. BUG=103991 Review URL: https://chromiumcodereview.appspot.com/10233021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134608 0039d316-1c4b-4281-b951-d872f2087c98
* Clamp events before they are sent to EventExecutors.wez@chromium.org2012-04-303-0/+263
| | | | | | | | | | | | | * MouseInputFilter is moved from remoting/client/ to remoting/protocol/. * ClientSession now implements clamping using MouseInputFilter. * EventExecutors no longer drop out-of-bounds events. BUG=118511 Review URL: http://codereview.chromium.org/10255007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134594 0039d316-1c4b-4281-b951-d872f2087c98
* Add ClientDimensions message to control channel.wez@chromium.org2012-04-275-3/+22
| | | | | | | | | | | This allows the client to indicate the tab dimensions so the host can resize to match. BUG=110212 Review URL: http://codereview.chromium.org/10223019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134180 0039d316-1c4b-4281-b951-d872f2087c98
* Roll libjingle 132:135sergeyu@chromium.org2012-04-265-37/+59
| | | | | | Review URL: https://chromiumcodereview.appspot.com/10209008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134065 0039d316-1c4b-4281-b951-d872f2087c98
* Refcounted types should not have public destructors, remoting/ editionrsleevi@chromium.org2012-04-244-17/+26
| | | | | | | | | | BUG=123295 TEST=none Review URL: http://codereview.chromium.org/10066042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133801 0039d316-1c4b-4281-b951-d872f2087c98
* Move PepperNetworkManager to client/pluginsergeyu@chromium.org2012-04-172-165/+0
| | | | | | Review URL: http://codereview.chromium.org/10103016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@132533 0039d316-1c4b-4281-b951-d872f2087c98
* This CL removes the unused trace.proto definition and build target, and ↵wez@chromium.org2012-04-112-3/+7
| | | | | | | | | | | | makes all protobuf fields "optional". Fields marked required cause protobuf messages to be silently ignored if those fields are not present. By moving the fields to be optional we have more flexibility to remove fields in future. All of the previously-required fields were in client-to-host messages; clients will need to continue to provide those fields at least until all hosts are updated not to require them - this is primarily relevant for the KeyEvent "keycode" field. Review URL: http://codereview.chromium.org/10024003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131698 0039d316-1c4b-4281-b951-d872f2087c98
* Add IsKeyPressed() and PressedKeyCount() methods to InputEventTracker.wez@chromium.org2012-04-093-62/+89
| | | | | | | | | | | | | These will be used to detect when Ctrl-Alt-Del has been injected by a client. This CL also changes the tracker to only track VKEY codes for events with no USB keycode. BUG=121995 Review URL: http://codereview.chromium.org/9980017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131410 0039d316-1c4b-4281-b951-d872f2087c98
* Add APIs to the client plugin to re-map and trap key events.wez@chromium.org2012-04-092-0/+4
| | | | | | | | | | | | | Re-mapped events allow keys to be re-mapped by the plugin before being delivered to the host. Trapped events are posted to the web-app in a trappedKeyEvent message, allowing more complex processing to be performed, at the cost of higher input latency. BUG=121787 Review URL: http://codereview.chromium.org/10025001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131321 0039d316-1c4b-4281-b951-d872f2087c98
* Implement write-waits-for-send mode for PseudoTCP and enable it on the host ↵sergeyu@chromium.org2012-04-061-1/+7
| | | | | | | | | | | | | side. In the new send-confirmation mode the PseudoTCP layer will wait until data is sent to remote end before completing each write. This significantly improves latency for remoting on low bandwidth networks. Review URL: http://codereview.chromium.org/9791012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131083 0039d316-1c4b-4281-b951-d872f2087c98
* Specify session type when creating relay sessions for chromoting.sergeyu@chromium.org2012-04-061-0/+6
| | | | | | | | BUG=122196 Review URL: https://chromiumcodereview.appspot.com/10006017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131049 0039d316-1c4b-4281-b951-d872f2087c98
* [Chromoting] Let the client plugin pass clipboard items to the host.simonmorris@chromium.org2012-04-044-1/+74
| | | | | | | | BUG=117473 Review URL: https://chromiumcodereview.appspot.com/9958015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130683 0039d316-1c4b-4281-b951-d872f2087c98
* Fix InputEventTracker to track key events based on both VK- and USB-keycodes.wez@chromium.org2012-04-043-49/+182
| | | | | | | | | | | | This CL also fixes InputEventTracker to cope with events with missing fields, switches the tracker unit-tests to concentrate on USB-based key events, and adds some tests of handling VK-based, VK&USB-based and invalid key events. Previously the InputEventTracker required that all events have a VK-style keycode set, and used that to track the pressed keys. When switching to USB-style events, clients may not transmit a VK-style keycode, or may send a dummy value, which would result in events being incorrectly tracked. BUG=121696 Review URL: https://chromiumcodereview.appspot.com/9963117 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130661 0039d316-1c4b-4281-b951-d872f2087c98
* Add a new GetNegotiatedProtocol method to StreamSocket and implement in all ↵rch@chromium.org2012-04-034-1/+13
| | | | | | | | | | subclasses. BUG=120890 Review URL: https://chromiumcodereview.appspot.com/9958028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130388 0039d316-1c4b-4281-b951-d872f2087c98
* Implement PepperNetworkManager.sergeyu@chromium.org2012-04-032-0/+165
| | | | | | | | | The new PepperNetworkManager will be used to run libjingle in the remoting client plugin. Review URL: https://chromiumcodereview.appspot.com/9705085 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130291 0039d316-1c4b-4281-b951-d872f2087c98