Commit Graph

538 Commits

Author SHA1 Message Date
Richard Newman
218c03dd3e Bug 623689: don't misbehave on master password cancel. r=philiKON 2011-01-10 21:51:29 -08:00
Philipp von Weitershausen
3e59469096 Bug 622769 - Make log rotation and its threshold configurable. r=mconnor 2011-01-04 15:04:19 -08:00
Richard Newman
9374404bfe Bug 543784: don't login automatically, prompt for master password. r=philiKON 2010-12-20 20:01:34 -08:00
Richard Newman
a108a4e85b Bug 619162: default resource success is false; retry once. r=philiKON 2010-12-20 12:47:51 -08:00
Richard Newman
b0e9d01a0a Bug 616568: better log message when sync is already in progress. r=philiKON 2010-12-16 12:00:57 -08:00
Richard Newman
1e0438cf6d Bug 619169: never clear logs, even on resetService. r=philiKON 2010-12-15 14:36:53 -08:00
Richard Newman
6b42c03ded Bug 618389: additional precision in key clearing. r=philiKON 2010-12-10 21:22:39 -08:00
Richard Newman
d71ed80bcd Bug 618389: fix for broken key clearing. r=philiKON 2010-12-10 19:41:55 -08:00
Richard Newman
ddcdb55ef9 Bug 618389: reset and clear keys on changePassphrase. r=mconnor 2010-12-10 16:53:40 -08:00
Richard Newman
bca15c8e10 Bug 618340: don't report network failure for unknown errors. r=philiKON 2010-12-10 16:32:16 -08:00
Richard Newman
da614d86c9 Bug 617709: Tests and functionality for on-the-fly HMAC error recovery. r=philiKON 2010-12-09 23:06:44 -08:00
Richard Newman
82424f8bd0 Bug 618179: make sure we create a meta/global record if one is not found. r=philiKON 2010-12-09 19:37:02 -08:00
Richard Newman
13d861e16a Bug 617709: download and reset when server bulk keys change. r=mconnor 2010-12-09 10:32:03 -08:00
Richard Newman
df46a7337e Bug 617478: clear CollectionKeys on startOver. r=philiKON. 2010-12-07 16:30:06 -08:00
Richard Newman
d9a0b60f3c Bug 617351: more tests for engine disabling. r=mconnor 2010-12-07 16:18:22 -08:00
Richard Newman
722f26a00b Bug 615926: Belt-and-braces engine disabling check. r=mconnor 2010-12-06 17:23:38 -08:00
Richard Newman
d3138d405f Bug 615926: fix stupid typo. r=mconnor 2010-12-06 15:09:14 -08:00
Richard Newman
c2ac353231 Bug 615926: attempt to avoid screwing up meta. 2010-12-06 14:22:09 -08:00
Philipp von Weitershausen
74b8241d7f Fix indentation (no bug) 2010-12-01 14:59:33 -08:00
Richard Newman
f35aba613e Bug 614737: detecting upgrade, being nice to old clients. r=philikon 2010-11-29 16:41:33 -08:00
Richard Newman
f0b19a496e Bug 603489, 614489: simplified crypto. r=mconnor 2010-11-29 16:41:17 -08:00
Philipp von Weitershausen
fe95dc94ad Bug 591126 - Handle upload interruption gracefully [r=mconnor] 2010-11-23 21:21:31 -08:00
Richard Newman
000b5df8db Bug 610749: add pure-JS PBKDF2 implementation. 2010-11-16 11:42:17 -08:00
Mark Finkle
61d949b838 Bug 599928 - Need a single pref to toggle logging [r=mconnor] 2010-10-11 12:46:53 -04:00
Philipp von Weitershausen
375238940e Bug 601973 - SyncEngine._testDecrypt() yields wrong result [r=mconnor]
Fix a 'this' scoping error in SyncEngine._testDecrypt(). Rename this method to canDecrypt() since it's clearly public API.

Provide tests for SyncEngine.canDecrypt() as well as Service.wipeClient().
2010-10-05 20:32:56 +02:00
Philipp von Weitershausen
9454591570 Bug 596093 - Do not allow email addresses as the username [r=mconnor]
Make sure the semantics of Weave.Service.checkUsername and Weave.Service.createAccount don't change when used by the old UI code (as present in current Firefox 4.0 betas).
2010-09-15 12:54:33 +02:00
Philipp von Weitershausen
64eb619594 Bug 589979 - Generate username from email address (part 2) [r=mconnor]
The Weave.Service.account property holds whatever the user entered for email address/username. If it only contains characters valid for usernames, it is assumed to be a username. Otherwise it's SHA1 hashed and base32 encoded.

The special tab mangling (to avoid broken Basic Auth headers) is now obsolete.

--HG--
rename : services/sync/tests/unit/test_service_checkUsername.js => services/sync/tests/unit/test_service_checkAccount.js
2010-09-13 17:17:37 +02:00
Philipp von Weitershausen
0018859799 Bug 594785 - First sync disables all engines [r=mconnor]
Track whenever we create a new global/meta record and don't evaluate the engines property in that case.
2010-09-13 17:17:37 +02:00
Philipp von Weitershausen
dd802fcf47 Bug 580672 - Implement quota UI (Part 1) [r=mconnor]
Recognize quota warnings from server, implement API calls to retrieve quota information.
2010-09-11 18:39:21 +02:00
Philipp von Weitershausen
a6922bbe42 Bug 594241 - Can't disable history sync [r=mconnor]
Take engine.prefName rather than engine.name when looking for changed prefs.
2010-09-08 21:09:40 +02:00
Philipp von Weitershausen
96393d8b0c Bug 578671 - Sync which engines are enabled across clients, wipe data for disabled engines [r=mconnor] 2010-09-07 18:44:01 +02:00
Philipp von Weitershausen
a39bd93a56 Bug 587027 - Use as little memory as possible (part 4)
Refactor Service._checkSetup() to Status.checkSetup().

Also move the test fixture for WeaveCryptoID to the individual tests that need it.
2010-08-25 15:49:45 -07:00
Philipp von Weitershausen
4f2fd07e21 Bug 587027 - Use as little memory as possible (part 1)
Move the Weave object out of service.js
2010-08-25 15:49:44 -07:00
Philipp von Weitershausen
cc929a11a8 Bug 523426 - Save a query for meta/global if info/collections reports unmodified meta [r=mconnor] 2010-08-23 06:20:39 -07:00
Mark Finkle
97f3b6922d Disable error logging from weave crypto. rs=mconnor, a=bustage fix 2010-08-13 15:31:00 +12:00
Philipp von Weitershausen
0b3664b843 Bug 557589 - code audit and create unit test plan for service.js [r=mconnor]
Part 4 followup: Fix a reference error in Weave.Service._checkServerError and improve test coverage for verifyLogin() to exercise that code path.
2010-08-10 18:16:57 +02:00
Philipp von Weitershausen
7904dca00a Bug 585740 - Weave.Service.login() should start trackers if it's called in lieu of a setup process [r=mconnor] 2010-08-10 01:46:54 +02:00
Philipp von Weitershausen
57c4f23de7 Bug 584241 - Disable trackers when client isn't configured [r=mconnor] 2010-08-06 17:30:58 +02:00
Philipp von Weitershausen
c163a5ae51 Bug 578835 - wipeServer doesn't deal well with failure [r=mconnor]
Have wipeServer() abort if it encounters a server error (anything other than 200 or 404) and throw an exception.  Don't catch any exceptions wipeServer() throws, let them bubble up to the callers.
2010-08-05 18:24:45 +02:00
Philipp von Weitershausen
3960a68871 Bug 584486 - Changing password via web leads to unknown error [r=mconnor] 2010-08-05 16:52:17 +02:00
Philipp von Weitershausen
0102c7f8db Bug 580158 - Change Firefox Sync behavior in Private Browsing mode [r=mconnor]
Don't disable sync when in private browsing. When in explicit private browsing mode (either via menu item or -private command line flag), have tabs engine not provide data.
2010-07-19 23:07:45 -07:00
Philipp von Weitershausen
f35d794526 Bug 579510 - Make sure multi-byte passwords are stored and sent correctly [r=mconnor]
UTF8-encode passwords when creating accounts, changing passwords, and when authenticating. Detect old low-byte only passwords on the server and reupload them as UTF8.
2010-07-20 00:28:54 +02:00
Edward Lee
68aa673b35 Bug 579209 - Blue "i" for delayed node assignment disappears on sync [r=mconnor]
Explicitly set the NO_SYNC_NODE sync status to keep the "i".
2010-07-15 17:02:06 -07:00
Philipp von Weitershausen
c4e977df64 Bug 558963, part 2, UTF-8 encode passphrase and rewrap keys if needed, r=mconnor 2010-07-03 14:13:40 -04:00
Philipp von Weitershausen
a8135a264a Bug 557589 - code audit and create unit test plan for service.js [r=mconnor]
Part 5: Tests for checkUsername, createAccount, changePassword
2010-06-17 16:47:13 +01:00
Philipp von Weitershausen
2caf470608 Bug 557589 - code audit and create unit test plan for service.js [r=mconnor]
Part 4: Get rid of superfluous attribute, introduce constants for password/passphrase realms, add/improve tests for login(), logout(), persistLogin().
2010-06-17 04:12:38 +01:00
Philipp von Weitershausen
1e214b9bf7 Bug 557589 - code audit and create unit test plan for service.js [r=mconnor]
Part 3: Tests for Weave.Service._{find|set|update}Cluster()
2010-06-09 11:07:54 -07:00
Philipp von Weitershausen
6a68634cbf Bug 572436 - Get rid of app-specific hacks (switch (Svc.AppInfo.ID)) in sync library [r=mconnor]
Set relevant default preferences programmatically in app specific overlays, making app-specific code paths in the sync library unnecessary.
2010-06-16 23:11:40 +01:00
Edward Lee
ce6de55601 Bug 570636 - Decide how to co-exist as a sync add-on and built-in sync [r=mconnor]
Migrate prefs from extensions.weave. to services.sync. when loading the service for the first time before migration.
2010-06-16 14:30:13 -07:00
Edward Lee
0cbfa6f197 Bug 570636 - Decide how to co-exist as a sync add-on and built-in sync [r=mconnor]
Map the modules directory to services-sync instead of weave and update imports.
2010-06-16 14:30:08 -07:00
Philipp von Weitershausen
67eff5457d Bug 570180 - Setup wizard sets passphrase='foo' [r=mconnor]
Promote _verifyLogin to a public method so we have a way to query login status even with a non-existent or invalid passphrase.
2010-06-14 21:03:39 +01:00
Philipp von Weitershausen
2a116ee59d Bug 570573 - Clean up uses of switch (Svc.AppInfo.ID) for app-specific hacks (Part 2) [r=mconnor]
Weave.Service.onStartup now triggers autoconnect after a fixed delay specified in a preference. If that preference is absent, nothing happens and apps are responsible for triggering autoconnect in a weave:service:ready observer themselves. Provide such observers for Firefox and Fennec.
2010-06-10 17:04:49 -07:00
Philipp von Weitershausen
eb4e7c1045 Bug 570573 - Clean up uses of switch (Svc.AppInfo.ID) for app-specific hacks (Part 1) [r=mconnor]
Weave.Service._registerEngines now reads the list of engines from a preference so that apps can specify it this way. The switch logic stays as fallback for the addon case.
2010-06-09 17:22:03 -07:00
Philipp von Weitershausen
38dd746086 Bug 569740 - Tab Characters within Usernames Can Cause Connectivity Issues & Security Events [r=mconnor]
Strip tabs from username since tabs are stripped from URIs and the username is part of all URIs.
2010-06-08 19:05:05 -07:00
Philipp von Weitershausen
c8aa414112 Bug 557589 - code audit and create unit test plan for service.js [r=mconnor]
Part 2: Tests for module startup, Weave.Service attributes.
2010-06-04 17:05:55 +01:00
Philipp von Weitershausen
8d8af96450 Bug 557589 - code audit and create unit test plan for service.js [r=mconnor]
Part 1: Get rid of unused '_syncInProgress' attribute, unnecessary getters and setters.
2010-06-04 16:38:38 +01:00
Philipp von Weitershausen
79b588a085 Bug 569730 - Can't log in a 2nd computer [r=Mardak]
Fix a regression introduced with the status.js refactoring (bug 557590).
2010-06-04 14:44:04 +01:00
Edward Lee
bffd21b356 Bug 568136 - Migration requires client to check for a node again after a 401 [r=mconnor]
Allow observers to watch for resource 401s and to specify a new uri to request. Test to make sure "weave:resource:status:401" gets notified and resource handles uri changes.
2010-06-03 18:37:07 -07:00
Philipp von Weitershausen
ada4345433 Bug 557596 - code audit and create unit test plan for resource.js [r=mconnor]
Lots of resource tests, Resource.serverTime initialized to null, Resource.headers normalized to lowercase.
2010-06-01 15:15:53 -07:00
Philipp von Weitershausen
46b96f4455 Bug 557590 - code audit and create unit test plan for status.js [r=mconnor]
Initialize status values in status.js + tests for status.js.
2010-06-01 15:12:25 -07:00
Edward Lee
d658d7f0cb Bug 568440 - sync errors when resetting sync at the same time as other syncs are occurring [r=mconnor]
Clear out cached crypto and keys if info collections says they've been modified.
2010-05-27 11:04:26 -07:00
Mike Connor
21899cdb80 Bug 567364 - final tweaks, r=Mardak
--HG--
extra : rebase_source : d103816fec7641a6f5a672a6b8557f2bbbb56566
2010-05-21 17:41:19 -04:00
Edward Lee
975a3a25f8 Bug 567371 - replace server and replace local options does not sync certain Passwords/bookmarks [r=mconnor]
Make sure to clear local cache when deleting crypto records from the server. Handle missing crypto by deleting any existing data and reuploading. Fix broken records by uploading new ones.
2010-05-21 12:15:58 -07:00
Mike Connor
e3ff29780a Bug 564523 - passphrase can match password for new accounts, r=Mardak
--HG--
extra : rebase_source : bae8d44f67c0f836efa1a6f607e6605f3d30b33b
2010-05-07 18:39:58 -04:00
Mike Connor
e670005eb2 Bug 564365 - canceling setup, then setting up Weave, doesn't set firstrun pref, causing problems later, r=mardak 2010-05-07 16:16:37 -04:00
Mike Connor
11b09dae28 Bug 563868 - Provide better feedback when server is unreachable or doesn't have a server instance during setup. also fixes bug 564329. r=Mardak 2010-05-07 00:02:00 -04:00
Edward Lee
32ffff545f Bug 563989 - Reset Sync option 3, doesn't properly propagate to other clients [r=mconnor]
Always sync client data by making sure it's always enabled and only update local cilent with remote commands. Make sure to sync clients to get a list of clients that need to receive commands. Also, make sure to upload data after wiping remote now that remoteSetup happens before wipeRemote.
2010-05-05 17:16:17 -07:00
Mike Connor
d500173a72 Bug 563682 - Latest Secret phrase does not update in password manager, r=Mardak
--HG--
extra : rebase_source : bc6631f3d4732fb48ddb131cb36ce1bde23d991e
2010-05-04 16:56:12 -04:00
Mike Connor
18372106ac Bug 561391 - Add hidden pref to let createAccount include X-Weave-Secret header to bypass captcha, r=Mardak
--HG--
extra : rebase_source : 7c26037977ab47b4f7bceb8ec9889786abd3f0fd
2010-05-04 16:55:34 -04:00
Edward Lee
eb6d0834d7 Bug 562100 - need enhanced activity logging to measure sync performance from client [r=mconnor]
Track a start time and print the total sync time to hundredths of a second.

--HG--
extra : rebase_source : b1639875d527b0bfabe57be90413bb47ba0b05ce
2010-05-03 14:01:08 -07:00
Mike Connor
d59d71b959 Bug 560887 - Heartbeat doesn't detect new clients if the browser is closed before 1 hour, r=Mardak 2010-04-29 11:50:46 -04:00
Edward Lee
2a8342da17 Bug 561638 - Weave Error in Trunk Nightly (Status Bar Icon Missing) [r=mconnor]
Remove the extra name from get/set declarations now that Spidermonkey doesn't want them.
2010-04-26 11:37:12 -07:00
Mike Connor
7dd144218f Bug 560937 - move all setup into a single wizard, and clean up interactions, r=mardak 2010-04-21 20:40:42 -04:00
Mike Connor
99319d631c Bug 526012 - audit observer service usage, r=mardak 2010-04-20 21:56:44 -04:00
Mike Connor
9912926c15 Bug 556930 - Wrong secret phrase warning shows up when logging in, r=Mardak 2010-04-09 13:20:41 -04:00
Edward Lee
f05a827ed2 Bug 480448 - Get rid of code to delete old snapshots [r=mconnor]
SnapshotStore got removed with bug 524916 and hasn't been getting called for a long time now.
2010-04-21 11:10:32 -07:00
Edward Lee
74ee9ca0f3 Bug 534218 - Changing sync direction from outdated clients loses client/server data [r=mconnor]
Check remoteSetup first to determine if we're okay to sync before wiping client/remote. Additionally only wipe enabled engines instead of everything.
2010-04-14 15:00:29 -07:00
Mike Connor
a0b39324a1 bug 543851 - autoconnect should call _checkSync(), r=Mardak 2010-04-08 17:03:10 -04:00
Mike Connor
327c2da464 bug 556710 - Make mpLocked part of Utils, r=Mardak 2010-04-08 17:03:10 -04:00
Mike Connor
4f5f1a7edb bug 556683 - password reset URL is hardcoded, r=Mardak 2010-04-08 17:03:10 -04:00
Mike Connor
ff2b435a77 bug 496485 - make Service.wipeServer work properly, r=Mardak 2010-04-07 20:06:37 -04:00
Mike Connor
db5f17224a bug 551572 - 100% CPU when sitting on merge-choice screen, r=Mardak
--HG--
extra : rebase_source : 1b2d36ff6d6d80b81cdadaad4fb53592f851e903
2010-04-05 23:53:31 -04:00
Edward Lee
b4d4505934 Bug 549789 - Point user/misc urls to 1.0/ instead of 1/ [r=mconnor]
Fix up both url getters to have the extra dot oh.
2010-04-06 12:07:34 -07:00
Edward Lee
65f25d882a Remove trailing spaces in files under source/. 2010-04-02 16:38:05 -07:00
Paul O’Shannessy
02de93e6b7 Bug 554936 - Make statusbar text "Set Up Weave..." until Weave has been configured [r=Mardak]
* Added a "Set Up Weave..." status message which is determined by Status.login states
* The "Set Up Weave..." message opens the pref window directly instead of showing the menu
* Added an additional error state for NO_PASSPHRASE
* Added checks to onStartup to check some status (no username/password/passphrase) for when autoconnect=false
* When the prefpane is opened and there's an error, it will open to the correct page so that can be corrected
* If using a custom server, that will be reflected when shown that page in the prefpane
2010-04-02 16:30:09 -07:00
Mike Connor
ca58a97947 bug 545725 - Changing passphrase should prevent other clients from syncing, r=Mardak 2010-03-31 21:58:07 -04:00
Edward Lee
084907c53f Bug 550627 - Default reconciliation to server wins for older changed items [r=mconnor]
Save the time the tracker adds a new changed id and use that to compare the age of the record on the server vs the age of the local change to decide if it's server wins or client wins. Fix up various direct uses of changedIDs to use the API and make the save-to-disk lazy to avoid excessive writes. Add a test to make sure addChangedID only increases in time.
2010-04-01 15:54:53 -07:00
Edward Lee
0bc6e62a98 Bug 554924 - Weave should not sync during session restore [r=mconnor]
Get rid of STATUS_DELAYED and initialize Weave listeners, etc immediately. At the end of onStartup, wait a little bit to let sessionstore restore tabs and then count how many busy tabs to delay autoconnecting to avoid doing network while tabs are doing network.
2010-04-01 15:16:19 -07:00
Paul O’Shannessy
dfeaeaf6ac Bug 539057 - better flow with start over [r=mconnor]
* Adds an option to the manage account to change sync option.
* Changes "start over" to "use a different account".
* Hides the "start over" button on the sync options page when not running through the whole process.
* Adds a prompt when starting over (which fixes bug 524186).
2010-04-01 13:43:09 -07:00
Mike Connor
777762c48e bug 550597 - explicit server backoff is buggy, r=Mardak
--HG--
extra : rebase_source : 8e3621b0d7de77d918f1fe7ce1304f303fd19f97
2010-03-25 17:24:41 -04:00
Mike Connor
a8a384a3b0 bug 535136 - improve transition from single-client to multiple-client mode, r=Mardak
--HG--
extra : rebase_source : 8a667e947aa442e65eec1e13059e7076b00f9878
2010-03-25 17:24:41 -04:00
Edward Lee
503f711a99 Bug 550267 - Sync tabs before other data for Fennec [r=mconnor]
Move tabs to be first instead of last to sync for fennec.

--HG--
extra : rebase_source : 74596397668d4cdcd15993cd0930b0b65b0df777
2010-03-25 14:21:42 -07:00
Edward Lee
e0f3625f3c Bug 503964 - Have per-engine versioning to avoid wiping all engine data [r=mconnor]
Add an engines object to meta/global to track version and syncID for each engine. If the server is outdated, wipe the data and set a new version and syncID. If the client is oudated, ask for an upgrade. Differing syncIDs cause a reupload. All engines are right now the default version 1.
2010-03-25 10:05:21 -07:00
Edward Lee
1cd3c07303 Bug 548066 - JavaScript strict warning: clientData.js, line 194: reference to undefined property this.clients[id] [r=mconnor]
Get rid of get/setInfo on ClientEngine and ClientStore and expose functions to read/modify client data: stats, clearCommands, sendCommand. Also expose the local client information as local[ID,Name,Type,Commands] and rework the storage to use these instead of trying to keep the JS object clients entry in sync with prefs, etc. Update users of the old interface (service/tabs/chrome) to use the new local*. Set the client type based on app id instead of from each app's overlay.
2010-03-16 16:39:08 -07:00
Edward Lee
1555ba9d3c Bug 554427 - Move syncID from clients.js to service.js [r=mconnor]
Switch from Clients.syncID to this.syncID for service.js. Don't special case resetSyncID and just use = "".
2010-03-25 16:52:45 +00:00
Edward Lee
48e1d05db4 Bug 545517 - Make the remote version check compare storage versions and not weave versions [r=mconnor sr=mhanson]
Move back to a model where multiple client versions can read the same data of the same storageVersion. The only time meta/global is written is on a freshStart/server wipe. Initialize the version to 1.2pre1.1 so that individual storage-incompatible changes can bump the value. Old versions are strings, so estimate with a parseFloat, but future versions will be integers.
2010-03-16 16:31:55 -07:00
Paul O’Shannessy
e6b66d0994 Bug 552532 - Sync form data to mobile [r=Mardak]
Add the "Form" engine to the list of engines used on Fennec.
2010-03-16 12:00:40 -07:00
Paul O’Shannessy
26cffb7e7f Bug 545756 - Get rid of quit-application observer [r=Mardak]
Stop observing 'quit-application', remove handling from observe, and remove WeaveSvc.isQuitting

--HG--
extra : rebase_source : e52fab892127d4ddd9a7312e74202cc3e09b2c8c
2010-02-12 12:04:06 -08:00
Edward Lee
235e105eb2 Bug 541722 - updating out of date machine can cause data to be reverted
Don't have each engine reset their last sync but still have the service clear out its cached data (keys, records).
2010-02-03 15:23:58 -08:00
Edward Lee
7867da3476 Bug 541766 - Logging in with email address kinda works but not
Detect finding cluster failure due to invalid username and treat like failed login.
2010-01-25 10:30:31 -08:00