| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We'll now trigger migration if the keystore key is available, the cryptographer
is ready, and the nigori node isn't already properly migrated. Note that this
means we won't trigger migration without at least the implicit gaia password
already available to the cryptographer, in order to support backwards
compatibility with older clients. Eventually that will change.
In addition, once a nigori node has been migrated, any client that supports
keystore encryption will follow the new encryption constraints, whether
or not the --sync-keystore-encryption flag is passed. This means that if
the user sets a custom passphrase, encrypt everything will also be enabled
(and vice versa).
Migration-aware conflict resolution is not implemented yet.
BUG=129665
Review URL: https://chromiumcodereview.appspot.com/10916036
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156646 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
The cryptographer has no notion of keystore keys, and we now persist the
keystore key by reusing the OnBoostrapTokenUpdated method (which now takes
an enum as an extra param specifying the type of token).
BUG=129665
Review URL: https://chromiumcodereview.appspot.com/10878015
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154007 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The cryptographer is now owned by the SyncEncryptionHandlerImpl, and
no longer needs any connection to the nigori handler or encrypted types.
Those are accessed via the directory, which now has a GetNigoriHandler
method.
Because of this, we can now clean up the thread safety guarantees in the
sync encryption handler impl, enforcing that everything except
GetEncryptedTypes (and IsUsingExplicitPassphrase, which will be fixed in a
followup patch) are invoked on the syncer thread. This lets us not have to
open unnecessary transactions.
At the chrome layer, encrypted types are accessed via BaseTransaction::
GetEncryptedTypes(). At the syncer layer, they're accessed via directory::
GetNigoriHandler()->GetEncryptedTypes(BaseTransaction* trans const).
BUG=142476,139848
Review URL: https://chromiumcodereview.appspot.com/10844005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153335 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It used to conatin only "stumpy", but recently official image contains
some suffix, and looks like "stumpy-signed-mp-v2keys". That change caused
regression, and this should fix it.
BUG=chromium:126732
TEST=Open some tabs on stumpy and sync, then on the other machine you should see "Chromebox" instead of "Chromebook" in "ohter devices" menu in new tab page.
Review URL: https://chromiumcodereview.appspot.com/10836257
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151839 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All sync-specific encryption state (types, encrypt everything, explicit
passphrase, keys) is now tracked within the new class SyncEncryptionHandler.
It's owned by the sync manager, and unifies some of the observer logic
we previously had. In addition, it's capable of creating its own
transactions, taking us a step closer to have a nigori datatype.
In addition, we add a NigoriHandler to abstract the chrome-side of
encryption from the sync visible side of encryption.
BUG=139848
Review URL: https://chromiumcodereview.appspot.com/10827266
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151833 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds back the fallback code that was deleted after the 10.6
migration in https://chromiumcodereview.appspot.com/10807052,
it's necessary again.
BUG=140256,138570
Review URL: https://chromiumcodereview.appspot.com/10824151
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149715 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Added a cryptographic random-number generator to crypto/.
Modified sync to use this function instead.
May also be used by Cloud Print in the future.
Review URL: https://chromiumcodereview.appspot.com/10698177
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149689 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Also see http://codereview.chromium.org/7000022
BUG=81634,138570
Review URL: https://chromiumcodereview.appspot.com/10827126
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149543 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds the preference for the bootstrap token and the bootstrapping functionality
in the cryptographer so that we persist the keystore key across restarts. With
this, we should only ever do one GetKey per client, and only on the first time
that client signs in/restarts on a version with GetKey support (although it's
not persisted across signouts/profile nukes)
BUG=129665
TEST=unit_tests
Review URL: https://chromiumcodereview.appspot.com/10540149
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149344 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The functionality is behind the --sync-keystore-encryption flag, and the key
is not currently consumed by anything, but this lays the groundwork for testing
the server and client interaction.
We request a key anytime we perform a GetUpdates while the cryptographer
does not have a keystore key. But, it is considered an error to request a key
and not receive one, putting us into a state of backoff.
BUG=129665
TEST=sync_unit_tests, running against python server
Review URL: https://chromiumcodereview.appspot.com/10455012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149248 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove the code in sync/ that checks if the device is a tablet
and perform the check in the chrome/ layer based upon a
command line switch.
Additionally, rather than looking for a tablet when (not) setting
the Mobile specific user agent, look for --use-mobile-user-agent. The
embedder should set these command line switches as appropriate, so
remove the code that used to set them in the generic process startup.
Review URL: https://chromiumcodereview.appspot.com/10808052
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148091 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=137676
TEST=none
Review URL: https://chromiumcodereview.appspot.com/10807052
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147738 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since (almost) everything in sync/ is now in the 'syncer' namespace,
all of these are redundant.
Clean up indentation.
Put sync_{client,listen_notifications} into syncer namespace.
BUG=128060
TEST=
Review URL: https://chromiumcodereview.appspot.com/10795018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147675 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: https://chromiumcodereview.appspot.com/10700154
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146074 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously they were in 'syncer::syncable'.
Also remove aliases to those classes from 'syncable'.
BUG=128060
TEST=
TBR=pkasting@chromium.org,jhawkins@chromium.org,
Review URL: https://chromiumcodereview.appspot.com/10696087
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145399 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also move enum_set* to base/.
This is the first step in moving ModelType et al. to the syncer
namespace (from syncer::syncable).
Move PurgeStalePayload() back to sync_session.cc.
Move ModelTypePayloadMapFromRoutingInfo() to model_safe_worker.* and rename it to ModelSafeRoutingInfoToPayloadMap().
BUG=128060
TEST=
Review URL: https://chromiumcodereview.appspot.com/10690071
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145236 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Everyone was confused by 'csync'. 'syncer' seems more understandable.
(Note that we can't use the 'sync' namespace since sync() is a function
from unistd.h.)
BUG=10662035
TEST=
TBR=jhawkins@chromium.org,pkasting@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10698014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144820 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update all references from chrome.
Leave possibly-extraneous csync:: qualifications in sync/ for now.
(This will be cleaned up once everything in sync/ is in csync::.)
BUG=128060
TEST=
TBR=jhawkins@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10600002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@143449 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
internal_api/public
TBR=jhawkins@chromium.org
BUG=131130
TEST=
Review URL: https://chromiumcodereview.appspot.com/10534080
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142626 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
chrome/browser/sync.
Note on sync.gyp changes and .cc file moves: most files in /public have .h and their .cc side by side, as they are simple implementations. In some cases like model_type.cc (and others in a follow up patch, like sync_manager.cc) have only their header exposed in /public while the impl stays behind, because it needs to include things from within sync/, and /public has a strict include DEPS policy. This is in accordance with other /public folders (like content/).
Cleans up DEPS files in sync + c/b/sync. Adds sync/{engine, sessions, syncable} to public/. There is more to come (moving things in internal_api/ into public).
Not touching /notifier as that is in flux at the moment.
BUG=131130
TEST=
Review URL: https://chromiumcodereview.appspot.com/10532019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141038 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=
Review URL: https://chromiumcodereview.appspot.com/10443046
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139462 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
r138413 switched TestURLRequestContext to use a mock HostResolver
by default.
Clean up sync DEPS a bit.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10435007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@138947 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=129128
TEST=no
TBR=akalin@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10388250
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@138468 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For testing, on stumpy open some tabs and sync, then on the other device
click on NTP "other devices" link and see if "chromebox" appears.
BUG=chromium:124916
TEST=manual
Review URL: https://chromiumcodereview.appspot.com/10382034
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@136230 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We add the sync_tab_favicons field to the nigori node and add support
for automatically enabling the feature when we receive a new nigori node.
Once we do enable the feature, the browser will only start writing favicons
after the next restart.
BUG=92728
TEST=using python testserver to enable sync tab favicons, then restarting.
Review URL: http://codereview.chromium.org/10235013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134184 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ntohX() in Chrome.
This primarily addresses issues with code using the OS-provided htonX() & ntohX() functions from within the Chrome sandbox. Under Windows these functions are provided by ws2_32.dll, which is no longer available within Chrome's sandbox.
The new base::HostToNetXX() and NetToHostXX() functions are safe for use by sandboxed code on Windows, and provide a single place where future fixes for other platforms can be made.
BUG=117252
Review URL: http://codereview.chromium.org/9716020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129476 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Only export dependent settings when necessary.
Forward-declare crypto classes to avoid including crypto headers in
sync headers (and thus neccessitating exporting crypto settings to
dependents).
BUG=117585
TEST=
Review URL: http://codereview.chromium.org/9701094
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129449 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We now ensure we don't change to an old default key when we receive a nigori
update. We also preserve the local explicit passphrase state if we get into
conflict with a nigori node with old encryption keys. Lastly, we write to the
node at the end of each sync cycle toensure it has the current encrypted types
and encryption keys (assuming the cryptographer is ready). This way, we'll
never lose the current encryption state due to a blank/old nigori.
BUG=119207
TEST=
Review URL: https://chromiumcodereview.appspot.com/9815018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128567 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds utilities to get the device name and model type. IsTablet is
stubbed due to additional Java deps.
Note that if we actually ran unit_tests for Android they'd crash with
this change since it depends on the Android framework and we don't have
apk-based tests yet, but this happily compiles and links and
sync_unit_tests still runs and passes.
BUG=
TEST=
Review URL: http://codereview.chromium.org/9704060
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128010 0039d316-1c4b-4281-b951-d872f2087c98
|
|
Also move related test files.
Move WriteNode::UpdateEntryWithEncryption to nigori_util.h.
Clean up defines and dependencies. In particular, get rid of SYNC_ENGINE_VERSION_STRING and hard-code the string in the single place it's used.
Rename data_encryption.* to data_encryption_win.* and add a pragma for crypt32.lib.
Clean up exit-time constructor warnings in sync{able,er}_unittest.cc.
Remove some unused files.
BUG=117585
TEST=
TBR=jhawkins@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9699057
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126872 0039d316-1c4b-4281-b951-d872f2087c98
|