summaryrefslogtreecommitdiffstats
path: root/remoting
Commit message (Collapse)AuthorAgeFilesLines
* Call ChromotingClient::Initialize() before any packets can arrive.alexeypa@chromium.org2013-04-134-1/+8
| | | | | | | | | | This CL introduces new ConnectionToHost::State::AUTHENTICATED that ChromotingClient uses as a signal to initialize video and audio decoders. The new state is reported as 'CONNECTED' to the webapp to avoid changing the interface between the plugin and webapp. BUG=229927 Review URL: https://chromiumcodereview.appspot.com/14109011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194079 0039d316-1c4b-4281-b951-d872f2087c98
* Remove base::DictionaryValue::HasNext.pneubeck@chromium.org2013-04-123-4/+4
| | | | | | | | | BUG=162611 TBR=alexeypa@chromium.org (for remoting/) Review URL: https://chromiumcodereview.appspot.com/13408007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193888 0039d316-1c4b-4281-b951-d872f2087c98
* Fix build error when enable_remoting_host==1davemoore@chromium.org2013-04-101-1/+1
| | | | | | | | | | | by adding new check in linux non chromeos case BUG=None TEST=None Review URL: https://codereview.chromium.org/14024004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193474 0039d316-1c4b-4281-b951-d872f2087c98
* Rewrite std::string("") to std::string(), Linux edition.dcheng@chromium.org2013-04-0923-89/+118
| | | | | | | | | | | | | | | | | | | This patch was generated by running the empty_string clang tool across the Chromium Linux compilation database. Implicitly or explicitly constructing std::string() with a "" argument is inefficient as the caller needs to emit extra instructions to pass an argument, and the constructor needlessly copies a byte into internal storage. Rewriting these instances to simply call the default constructor appears to save ~14-18 kilobytes on an optimized release build. BUG=none Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=193020 Review URL: https://codereview.chromium.org/13145003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193040 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Rewrite std::string("") to std::string(), Linux edition."dcheng@chromium.org2013-04-0923-118/+89
| | | | | | | | | | | | | | This reverts commit e59558b78e8c6a1b0bd916a724724b638c3c91b6. Revert "Fix build after r193020." This reverts commit 558a35897f6b3ffbcaefde927c1f150b815d140a. Revert "Really fix build after r193020." This reverts commit e3748a79b523a8d365d4a33ef986eebb4186fa78. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193030 0039d316-1c4b-4281-b951-d872f2087c98
* Rewrite std::string("") to std::string(), Linux edition.dcheng@chromium.org2013-04-0923-89/+118
| | | | | | | | | | | | | | | | | This patch was generated by running the empty_string clang tool across the Chromium Linux compilation database. Implicitly or explicitly constructing std::string() with a "" argument is inefficient as the caller needs to emit extra instructions to pass an argument, and the constructor needlessly copies a byte into internal storage. Rewriting these instances to simply call the default constructor appears to save ~14-18 kilobytes on an optimized release build. BUG=none Review URL: https://codereview.chromium.org/13145003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193020 0039d316-1c4b-4281-b951-d872f2087c98
* Convert Chromoting to use the new, non-deprecated flexboxcbiesinger@chromium.org2013-04-093-8/+8
| | | | | | | | | | | | | | | | This is basically a search and replace for -webkit-box -> -webkit-flex, and some related properties. I have tested that the UI still looks correct, although I couldn't find out where connection-history-options is used. R=jamiewalch@chromium.org BUG= Review URL: https://chromiumcodereview.appspot.com/12847005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192972 0039d316-1c4b-4281-b951-d872f2087c98
* Fix chromoting client crash.sergeyu@chromium.org2013-04-081-1/+4
| | | | | | | | | | | | | The client plugin may crash if a signaling message is receive before the client started connection. It's likely to be a leftover from a previous session, so it's safe to ignore it. BUG=226775 Review URL: https://chromiumcodereview.appspot.com/13594011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192923 0039d316-1c4b-4281-b951-d872f2087c98
* Rewrite scoped_array<T> to scoped_ptr<T[]> in remoting/, Linux edition.dcheng@chromium.org2013-04-0817-26/+26
| | | | | | | | | | This changelist was automatically generated using a clang tool. BUG=171111 Review URL: https://codereview.chromium.org/13642007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192873 0039d316-1c4b-4281-b951-d872f2087c98
* Disable Composite iff running Unity 2D.wez@chromium.org2013-04-061-1/+9
| | | | | | | | | | | This works-around an issue in the Metacity compositor, used by Unity 2D. BUG=166468 Review URL: https://chromiumcodereview.appspot.com/13746003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192755 0039d316-1c4b-4281-b951-d872f2087c98
* Change default size for RDP screens to 1280x768.wez@chromium.org2013-04-061-1/+1
| | | | | | Review URL: https://chromiumcodereview.appspot.com/13741003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192754 0039d316-1c4b-4281-b951-d872f2087c98
* Client plugin changes to support third party authentication. rmsousa@chromium.org2013-04-0614-17/+189
| | | | | | | | | | | | | This creates a TokenFetcher implementation that on the client that uses the webapp to direct the user to fetch a token and secret from the given token URL. If the URL requires interactive authentication, the webapp will open a tab/window for the user to authenticate. Once the webapp has a token and shared secret, it uses the callback to send it back to the authentication layer. This also glues the third party authentication method to the NegotiatingAuthenticator. BUG=115899 Review URL: https://chromiumcodereview.appspot.com/12475020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192705 0039d316-1c4b-4281-b951-d872f2087c98
* Host-side third party token validationrmsousa@chromium.org2013-04-0614-31/+457
| | | | | | | | | | | | | | | | This creates a TokenValidator implementation on the host, that upon receiving a token: Signs the token with its private key. Uses URLFetcher to request the exchange of the token for a secret from the Token Validation URL. On receiving a reply, checks that the scope in the reply matches the one required for this connection. Uses the callback to send the shared_token back to the authentication layer. (The server will authenticate the host by checking that the token signature matches the host public key that the client included in the token request) BUG=115899 Review URL: https://chromiumcodereview.appspot.com/12313085 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192701 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed apps v2 patch w.r.t. settings migration.jamiewalch@chromium.org2013-04-061-4/+13
| | | | | | | | | | | | Apps v2 can't access window.localStorage, so the settings migration code throws an exception under apps v2. BUG=226488,134213 Review URL: https://chromiumcodereview.appspot.com/13601016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192679 0039d316-1c4b-4281-b951-d872f2087c98
* Search & replace of -webkit-box-shadow -> box-shadowcbiesinger@chromium.org2013-04-063-16/+16
| | | | | | | | | | | | Webkit has supported unprefixed box-shadow since December 2010: http://peter.sh/2010/12/no-more-delete-unprefixed-box-shadows-and-a-have-happy-new-year/ BUG= Review URL: https://chromiumcodereview.appspot.com/12842013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192665 0039d316-1c4b-4281-b951-d872f2087c98
* Migrate window.localStorage settings to chrome.storage.local at start-up.jamiewalch@chromium.org2013-04-051-0/+26
| | | | | | | | | | | This ensures that users don't lose any saved settings when upgrading to M27. BUG=226488 Review URL: https://chromiumcodereview.appspot.com/13619010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192494 0039d316-1c4b-4281-b951-d872f2087c98
* Refactored the disconnect window such that it can be owned by the desktop ↵alexeypa@chromium.org2013-04-0528-363/+584
| | | | | | | | | | | | | | | | environment. This CL adds two new classes: HostWindow and HostWindowProxy. HostWindow is a non thread-safe base class for platform-specific implementations of the disconnect and continue windows. HostWindowProxy implements thread switching logic (using a ref-counted HostWindowProxy::Core). The combination of HostWindow and HostWindowProxy allows DesktopEnvironment to create the disconnect window on the network thread and run it on the UI thread. This is the 1st CL (out of 2) that deprecates the HostUserInterface class and moves responsibility to create the local UI to the corresponding DesktopEnvironment instances. The follow up CL will migrate the continue window logic. BUG=104544 Review URL: https://chromiumcodereview.appspot.com/13212009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192473 0039d316-1c4b-4281-b951-d872f2087c98
* Update calls to scoped_array<T>::reset(NULL) to use the no-arg version.dcheng@chromium.org2013-04-041-1/+1
| | | | | | | | | | | scoped_ptr<T[]>, which will replace scoped_array<T>, does not support passing NULL as an explicit argument to reset(). BUG=171118 Review URL: https://codereview.chromium.org/13650005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192407 0039d316-1c4b-4281-b951-d872f2087c98
* Add remapKeys per-host advanced option.wez@chromium.org2013-04-041-6/+66
| | | | | | | | | | | | | | | This adds remoting.ClientSession.setRemapKeys(mapping) which takes a comma-separated list of USB-style key code remappings, e.g: remoting.ClientSession.setRemapKeys("0x0700e4>0x0700e7") will remap right-Ctrl to behave as right-OSKey. BUG=222970 Review URL: https://chromiumcodereview.appspot.com/13150002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192357 0039d316-1c4b-4281-b951-d872f2087c98
* Blacklist Chrome <= 26.xxx for Native Messaginglambroslambrou@chromium.org2013-04-031-0/+10
| | | | | | | | | | | | | | On these versions of Chrome, the "hello" exchange fails to trigger the onDisconnect() handler on error. This makes it impossible to determine that Native Messaging is unsupported. BUG=225884 Review URL: https://chromiumcodereview.appspot.com/13421004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192112 0039d316-1c4b-4281-b951-d872f2087c98
* Separate Client and Host side of NegotiatingAuthenticator, and make the ↵rmsousa@chromium.org2013-04-0314-346/+534
| | | | | | | | | | | | | | | | | | | | protocol stricter: * Client sends a first message with supported methods (and optionally the first message for a method*). * Host picks a method among those, and sends the first message (or reply). * Client and host are now required to keep using the method selected by the host. Now only the client has the possibility of creating more than one authenticator for the same negotiation (although it's not used now), and, even then, these are two necessarily different authenticators, so there's no chance of NegotiatingAuthenticator having to create the same type of authenticator twice. * I'm keeping this because: (1) we did this before, up to M26, so we have to deal with this case anyway, and (2) it'll be useful for the pinless auth mechanism. BUG=115899 Review URL: https://chromiumcodereview.appspot.com/13368002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192044 0039d316-1c4b-4281-b951-d872f2087c98
* Restore clickable status after canceling host rename.jamiewalch@chromium.org2013-04-031-2/+2
| | | | | | | | | BUG=224680 Review URL: https://chromiumcodereview.appspot.com/13416003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192015 0039d316-1c4b-4281-b951-d872f2087c98
* Don't reload the web-app at any point in the client-side flow.jamiewalch@chromium.org2013-04-026-88/+109
| | | | | | | | | | | | This improves responsiveness and also means that the v2 app now works for more then one connection without needing to be reloaded explicitly. BUG=134213 Review URL: https://chromiumcodereview.appspot.com/13191012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191768 0039d316-1c4b-4281-b951-d872f2087c98
* Add HostPluginWrapper and implement GetState() in Chromoting webapp.lambroslambrou@chromium.org2013-04-026-12/+162
| | | | | | | | | | | | | | | This adds GetState() to the JS Native Messaging interface, and refactors the HostController to use it instead of the NPAPI plugin's "State" field member. The NPAPI plugin is supported via a new wrapper class. BUG=173509 Review URL: https://chromiumcodereview.appspot.com/13323009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191749 0039d316-1c4b-4281-b951-d872f2087c98
* Close the RDP connection if the authentication warning dialog is about to be ↵alexeypa@chromium.org2013-04-022-3/+15
| | | | | | | | | | | shown. BUG=137696 Review URL: https://chromiumcodereview.appspot.com/13236004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191713 0039d316-1c4b-4281-b951-d872f2087c98
* Chromium style checker cleanuprsleevi@chromium.org2013-04-011-2/+2
| | | | | | | | | | | | Automated clean up of style checker errors that were missed due to the plugin not being executed on implementation files. BUG=115047 Review URL: https://chromiumcodereview.appspot.com/13191010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191697 0039d316-1c4b-4281-b951-d872f2087c98
* Fix build failure of remoting in linux_chromeos + Official.kinaba@chromium.org2013-04-011-3/+3
| | | | | | | | BUG=none Review URL: https://chromiumcodereview.appspot.com/13251006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191602 0039d316-1c4b-4281-b951-d872f2087c98
* Move MessageLoop to base namespace.brettw@chromium.org2013-03-315-11/+9
| | | | | | | | | | This adds a "using" to the header to avoid having to update everything at once. However, all forward declares and the locations that use the forward declares need to be updated (since they don't see the using in message_loop.h). BUG= Review URL: https://codereview.chromium.org/13243003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191566 0039d316-1c4b-4281-b951-d872f2087c98
* Don't use $USER for Local Login checklambroslambrou@chromium.org2013-03-304-35/+34
| | | | | | | | | | | | Update the PAM Local Login check to use the username from getuid()/getpwuid(). The result of this is much harder for unprivileged users to change than the $USER environment variable. BUG=224958 Review URL: https://chromiumcodereview.appspot.com/13312005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191548 0039d316-1c4b-4281-b951-d872f2087c98
* Implement hello exchange with Chromoting Native Messaging hostlambroslambrou@chromium.org2013-03-302-46/+104
| | | | | | | | | | | | | | | | | The webapp initializes Native Messaging, sends a 'hello' message to the host and waits for a response. If this fails, the webapp gets a disconnect notification on the port (if it was successfully created) and falls back to using the NPAPI plugin. BUG=173509 TEST=manual Review URL: https://chromiumcodereview.appspot.com/13284002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191544 0039d316-1c4b-4281-b951-d872f2087c98
* Moved code implementing message-only windows to a dedicated class (Windows ↵alexeypa@chromium.org2013-03-308-236/+378
| | | | | | | | | | | | | | | | | only). This CL merges three implementations of message-only windows that we have in remoting into one class remoting::win::MessageWindow. Collateral changes: - The local input monitor now closes the connection if it cannot subscribe to the raw mouse input. Without this the remote user could potentially prevent the local user from closing the connection. - The clipboard window can be started only once, just like its owner. TEST=remoting_unittests.MessageWindowTest Review URL: https://chromiumcodereview.appspot.com/13142002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191532 0039d316-1c4b-4281-b951-d872f2087c98
* Remove experimental code to pick the "warmest" socketmmenke@chromium.org2013-03-303-20/+0
| | | | | | | | | | | | | | | | | | (based on age and bytes received) in favor of older algorithm to pick the most recently used socket. Tests showed no real performance difference, so defaulting to the older, simpler, and more intuitive algorithm. This is basically a revert of https://codereview.chromium.org/7251004 TBR=sergeyu@chromium.org BUG=222090 Review URL: https://codereview.chromium.org/12886034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191507 0039d316-1c4b-4281-b951-d872f2087c98
* Restore multi-thread support to RunningAverage.wez@chromium.org2013-03-302-6/+9
| | | | | | | | | | | | | | The host-side VideoScheduler records creates the RunningAverage on the caller thread, but records stats to it on the capture and encode threads and queries it on the capture thread, so currently requires a thread-safe implementation. BUG=223769 Review URL: https://chromiumcodereview.appspot.com/13154003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191486 0039d316-1c4b-4281-b951-d872f2087c98
* Update the remaining references to sys_string_conversions.h to its new location.tfarina@chromium.org2013-03-305-5/+5
| | | | | | | | | | | | BUG=196305 TBR=isherman@chromium.org,rsleevi@chromium.org,keybuk@chromium.org,fischman@chromium.org, thestig@chromium.org,alexeypa@chromium.org,rogerta@chromium.org,cpu@chromium.org, akalin@chromium.org,ben@chromium.org,tony@chromium.org Review URL: https://chromiumcodereview.appspot.com/13322003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191479 0039d316-1c4b-4281-b951-d872f2087c98
* Set SHELL environment in Chromoting session.lambroslambrou@chromium.org2013-03-291-1/+2
| | | | | | | | | | | | | | Ensure that SHELL is set to the user's login shell, instead of /bin/bash which is the root user's shell. BUG=224752 NOTRY=true Review URL: https://chromiumcodereview.appspot.com/13226003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191473 0039d316-1c4b-4281-b951-d872f2087c98
* net: extract net/cert out of net/basephajdan.jr@chromium.org2013-03-295-19/+7
| | | | | | | | | | | | This introduces the following dependency of net/base on things outside: net/base/openssl_client_key_store.cc:#include "net/cert/x509_certificate.h" BUG=70818 Review URL: https://codereview.chromium.org/13006020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191450 0039d316-1c4b-4281-b951-d872f2087c98
* Set environment variables in chromoting sessionlambroslambrou@chromium.org2013-03-281-1/+2
| | | | | | | | | | | | | | | | | This adds $USER and $LOGNAME, which are present in the normal console session, but not in the chromoting virtual desktop. $HOME already gets set, so doesn't need to be added here. BUG=224035 TEST=manual NOTRY=true Review URL: https://chromiumcodereview.appspot.com/12982014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@191175 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor getLocalHostStateAndId to help with native messaging implementation.jamiewalch@chromium.org2013-03-264-65/+117
| | | | | | | | | | | | | Also, get rid of the cache of the local host id from HostController. It's only used to unregister the host, and IMO the code is cleaner if it's re-fetched as needed in this case. The overhead of doing so should be minimal. BUG=173509 Review URL: https://chromiumcodereview.appspot.com/12902047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190603 0039d316-1c4b-4281-b951-d872f2087c98
* Don't display full-precision averages of our connection stats.jamiewalch@chromium.org2013-03-261-1/+1
| | | | | | | | | BUG=181351 Review URL: https://chromiumcodereview.appspot.com/12566042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190592 0039d316-1c4b-4281-b951-d872f2087c98
* Destroy NetworkChangeNotifier on the thread on which it is createdsergeyu@chromium.org2013-03-261-3/+4
| | | | | | | | | | | | | | | | Previously NetworkChangeNotifier was created on UI thread, but could be destroyed on some other random thread, which could cause the crash in the linked bug. Moved creation and destruction of the NetworkChangeNotifier to the network thread. BUG=179476 Review URL: https://chromiumcodereview.appspot.com/12703020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190549 0039d316-1c4b-4281-b951-d872f2087c98
* DesktopEnvironment is now responsible for creation of the local input monitor.alexeypa@chromium.org2013-03-2520-358/+185
| | | | | | | | | | | | LocalInputMonitor instances use the ClientSessionControl interface to pass notification about local mouse movements and to disconnect the client session when the disconnect shortcut (Ctrl+Alt+Esc) is pressed. This CL also completely removes the MouseMoveObserver interface (along with its implementation in ChromotingHost) since it is not used any more. BUG=104544 Review URL: https://chromiumcodereview.appspot.com/12594009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190444 0039d316-1c4b-4281-b951-d872f2087c98
* Removed task runners from the DesktopEnviroment interface and introduced ↵alexeypa@chromium.org2013-03-2533-480/+624
| | | | | | | | | | | | | | | | ScreenControls/ClientSessionControl interfaces. This CL removes all task runners that used to be passed to methods of DesktopEnviroment and DesktopEnviromentFactory interfaces. Instead each object implementing these interfaces receives the set of task runners it needs in the constructor. This change makes DesktopEnviroment and DesktopEnviromentFactory interfaces cleaner and easier to implement. Added the ScreenControls interface used by the client session to change the screen resolution. Objects implementing ScreenControls are created by DesktopEnvironment::CreateScreenControls() method. DesktopEnviromentFactory::Create() now receives a pointer to the ClientSessionControl interface providing a way to pause, resume, and disconnect the client session. It also receives notifications about the local mouse movements to temporarily block the remote input. The ClientSessionControl interface will be hooked up to the local impit monitor and the host UI once they will be moved to DesktopEnvironment. BUG=104544 Review URL: https://chromiumcodereview.appspot.com/12879006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190345 0039d316-1c4b-4281-b951-d872f2087c98
* Improve logging of interactions with the RDP ActiveX control.alexeypa@chromium.org2013-03-241-20/+36
| | | | | | | | | | | | | | This CL makes the following improvements: - Added "RDP" prefix to all log messages around the RDP ActiveX control - The server endpoint is printed out for connect and disconnect messages. - The error message describing the disconnection reason is printed out if the connection was interrupted by an error. BUG=137696 Review URL: https://chromiumcodereview.appspot.com/12998002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190252 0039d316-1c4b-4281-b951-d872f2087c98
* Webapp changes to support asking for a PINrmsousa@chromium.org2013-03-245-35/+135
| | | | | | | | | | | | | | | This implements a fetchPin interface, that can be called when the plugin layer needs a PIN, and calls onPinFetched with the PIN once it's obtained from the user. With old plugins, that don't support the useAsyncPinDialog API, this runs the dialog immediately before connecting, and then connects using the existing APIs. Finally, for It2Me nothing is changed, the support code is used as the passphrase as usual. BUG=115899 Review URL: https://chromiumcodereview.appspot.com/12867004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190207 0039d316-1c4b-4281-b951-d872f2087c98
* Add unit tests for sub-components of CaptureScheduler.wez@chromium.org2013-03-2410-62/+299
| | | | | | | | | | | Unit tests are added for RateCounter, RunningAverage and CaptureScheduler. BUG=166275 Review URL: https://chromiumcodereview.appspot.com/12803008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190172 0039d316-1c4b-4281-b951-d872f2087c98
* Rename EventExecutor to InputInjector.wez@chromium.org2013-03-2433-331/+329
| | | | | | | | | | This is part of general naming clean-up under remoting/ and will help keep lambroslambrou@ happy. Review URL: https://chromiumcodereview.appspot.com/12760012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190163 0039d316-1c4b-4281-b951-d872f2087c98
* Protocol / client plugin changes to support interactively asking for a PIN.rmsousa@chromium.org2013-03-237-111/+253
| | | | | | | | | | | | | | | This has a few special cases, to be able to deal with all sorts of combinations of Me2Me/It2Me/old-plugin/old-webapp/old-host. The idea is: A webapp that supports asking for PINs asynchronously will explicitly notify the plugin of that. Older webapps (or It2Me) will send the passphrase directly on connect. The negotiating authenticator, instead of immediately trying to send the first SPAKE message, first sends a message with the supported methods to the host, and only when the host replies with the specific method it tries to create the authenticator. If there is a PinFetcher interface, it tries to use a PinClientAuthenticator (a thin layer on top of V2Authenticator that takes care of asynchronously asking for PIN), otherwise it uses V2Authenticator directly with the pre-provided pass phrase. This also adds support for authenticators that can't be created in a particular state (e.g. ones for which the first message must go in one particular direction). The NegotiatingAuthenticator takes care of sending blank messages/ignoring those messages as appropriate. BUG=115899 Review URL: https://chromiumcodereview.appspot.com/12518027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190056 0039d316-1c4b-4281-b951-d872f2087c98
* Third Party authentication protocol.rmsousa@chromium.org2013-03-2312-16/+786
| | | | | | | | | | | | | | This adds a new Authenticator, that uses a third-party token service to authenticate clients and hosts and negotiate a shared secret. The client authenticates with the third-party service, and obtains a token and a shared secret. The token is sent directly to the host, the shared secret is used to initiate a SPAKE authentication. The host receives the token, and asks the third-party server to exchange it for the shared secret (authenticating itself by signing the request with the host private key). Once it gets the shared secret, client and host are able to finish the SPAKE negotiation. BUG=115899 Review URL: https://chromiumcodereview.appspot.com/12326090 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190024 0039d316-1c4b-4281-b951-d872f2087c98
* Fix undefined variable for hosts service url in release builds.wez@chromium.org2013-03-221-1/+2
| | | | | | | | BUG=222739 Review URL: https://codereview.chromium.org/12573011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@189890 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Disable the Composite extension for in virtual X sessions."wez@chromium.org2013-03-221-3/+0
| | | | | | | | | | | Disabling the Composite extension works around broken XDAMAGE notifications under Metacity but breaks some other desktop environments, e.g. Cinnamon. BUG=222732,166468 Review URL: https://codereview.chromium.org/12582008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@189886 0039d316-1c4b-4281-b951-d872f2087c98