Commit Graph

1767 Commits

Author SHA1 Message Date
Edward Lee
fe072a177b Bug 535326 - Need to rethink tab sync limit of 25 [r=mconnor]
Fit as many tabs as possible in 20000 characters by linearly estimating how many will fit then remove extras one by one.

--HG--
extra : rebase_source : 1ef3700a9cddd7e3cb0f96b9affada15e98ea672
2010-02-17 18:24:22 -08:00
Paul O’Shannessy
d424463253 Bug 532932 - No error prompting for invalid email on weave sign up [r=Mardak]
--HG--
extra : rebase_source : 43236961f871a7ff04a866646509121055ff927e
2010-03-31 23:05:50 -07:00
Mike Connor
71f982d974 bug 539056 - Better Tab sync UI and discoverability, r=Mardak
--HG--
extra : rebase_source : d0c98d78b889ed74f5b130077a6ee1806bd81282
2010-03-12 16:14:09 -08:00
Edward Lee
6c104ff79a Bug 552134 - Ensure that keyring/symmetric key haven't been tampered with [r=mconnor]
Store a HMAC with the encrypted symmetric key instead of just the wrapped key and verify that the HMAC matches before unwrapping. Test that normal getting works and a tampered payload/HMAC fails but succeeds on restoring the correct HMAC.
2010-03-25 19:23:44 -07:00
Edward Lee
46632f7ac1 Bug 549638 - Ensure that encrypted payloads haven't been tampered with [r=mconnor r=dolske]
Generate a SHA256 HAMC hex string from the base64 ciphertext and base64 symmetric key. Generate a HMAC key from the symmetric key and cache them together when unwrapping. Refactor the Utils.sha1 to share the same digest code.

--HG--
extra : rebase_source : dae973c62317eb3b738306fc30ea19870555c7df
2010-03-16 16:31:56 -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
Mike Connor
9abadba210 bug 508112 - captcha will not work with noscript enabled, r=Mardak
--HG--
extra : rebase_source : 7b94ef2dfc4d9416189b0f970fab7d3f19da0f02
2010-03-12 15:49:10 -08: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
Paul O’Shannessy
8a1c83fe01 Bug 555015 - JavaScript strict warning: bookmarks.js: undeclared variable record [r=Mardak]
Just make sure the record variable is declared before using it.
2010-03-25 13:58:27 -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
7379a71033 Bug 547007 - Use a per-record IV instead of one for each symkey [r=mconnor]
Generate a random IV on every encrypt instead of taking it from the CryptoMeta. Don't bother generating a bulkIV per CryptoMeta.
2010-03-16 16:31:56 -07:00
Edward Lee
6e5b14f642 Bug 547048 - Only allow clients to issue delete records [r=mconnor]
Don't specially serialize/not encrypt delete records and store the deleted flag as part of the cleartext payload.
2010-03-16 16:31:56 -07:00
Edward Lee
e057d3a639 Bug 547049 - Verify that encrypted payloads correspond to the requested record [r=mconnor]
Write the record's id to both .data and .cleartext and check that they match when decrypting.
2010-03-16 16:31:56 -07:00
Edward Lee
eb92572129 Bug 549636 - Don't unnecessarily [wrap] cleartext for JSON.stringify [r=mconnor]
Remove the unnecessary indirection now that JSON.stringify can take strings.
2010-03-16 16:31:56 -07:00
Edward Lee
4b77738965 Bug 544069 - Move bookmark parentid into the encrypted payload [r=mconnor]
Tweak the get/setters to refer to the PlacesItem instead of WBORecord.
2010-03-16 16:31:56 -07:00
Edward Lee
039a4a056e Bug 546772 - Encrypt the clients records [r=mconnor]
Store data in cleartext instead of directly in the payload to have it encrypted with the CryptoWrapper. This cleans up some hacks needed to get the plain WBO client record to behave nicely with other encrypted data.
2010-03-16 16:31:55 -07: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
Edward Lee
9406f55ac2 Bug 554472 - Only sync prefs under extensions.weave.prefs.sync. (with a trailing dot) [r=mconnor]
Add a "." to the end of WEAVE_SYNC_PREFS value and fix up uses that did extra work to remove the dot (or something that might not have been a dot).
2010-03-23 18:51:47 -07:00
Paul O’Shannessy
7bf23a06a0 Bug 539591 - Not localized string [r=mconnor]
Localized a string in fx-prefs.xul as confirm.client.moreinfo.label.
2010-03-19 12:40:56 -07:00
Edward Lee
cf3fc65766 Bug 551874 - Figure out if we can avoid getting into partial synced state [r=mconnor]
For not-mobile clients, sync everything by specifying Infinity to keep existing math/logic working. Don't add a limit ?query if it's Infinity.
2010-03-19 11:35:01 -07:00
Paul O’Shannessy
fd097ce9f9 Bug 548939 - Use SessionStore in tab engine [r=Mardak]
Created a fake SessionStore service for Fennec that imitates the parts of Firefox's SessionStore API that we need. Then used the now "consistent" SessionStore service in the Tabs engine.
2010-03-16 15:14:32 -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
Edward Lee
650316bd73 Bug 549633 - Standardize record creation so all SyncEngines encrypt data [r=mconnor]
Always add the id and encryption value so client and delete records can be encrypted.
2010-03-05 14:46:48 -08:00
Edward Lee
28164da619 Bug 549632 - Remove storage cache, which is mostly un/incorrectly used [r=mconnor]
Remove incorrectly used cache from some engines and clean up references from SyncEngine.
2010-03-05 14:43:11 -08:00
Edward Lee
78a722ffd5 Revert svc/svc == null change from 87f9860d8e5a. 2010-03-02 11:22:20 -08:00
Paul O’Shannessy
25fc7e8e9e Refactor fake services so it's easier to add more [r=Mardak]
Created a FakeSvc object to put fake services into.
2010-03-02 11:07:30 -08:00
Paul O’Shannessy
e61f767c9c Bug 548910 - Don't sync file:// urls [r=mconnor]
Added file.* to the filter.
2010-02-26 13:52:37 -08:00
Paul O’Shannessy
dbd9998e8a Bug 547827 - JavaScript strict warning: modules/util.js, line 617: reference to undefined property thisObj[name] [r=Mardak]
Check that name is a property of thisObj before trying to access it.
2010-02-23 13:10:32 -08:00
Paul O’Shannessy
5213834801 Bug 546397 - Exception: Clients.getClients()[Clients.clientID] is undefined [r=Mardak]
Overrode _wipeClient in ClientEngine; treat resetting the same as wiping.
2010-02-19 13:36:42 -08:00
Paul O’Shannessy
a44a329256 Bug 546807 - Tabs from other computers: "Restore Session" [r=Mardak]
Filter out all about:* urls vefore syncing, including the specific case here: about:sessionrestore.
2010-02-19 11:32:20 -08: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
f9a2c142e4 Bug 545785 - Actively remove passwords that we don't want to sync
Check if we haven't deleted yet, and if not, grab the guids for weave credentials and delete them from the server.
2010-02-11 17:14:57 -08:00
Edward Lee
0e09a51b7a Bug 545767 - Clean up various names/strings needed for each set of engines/stores/trackers
Pass the engine name when constructing a subclass engine and construct the store/tracker with the same name.
2010-02-11 15:29:15 -08:00
Edward Lee
8c4c90a45d Bug 545764 - Convert constructor -> _init pattern to just use constructor
Inline various _init calls and do super's init with <Super>.call(this, args..). Add various get/set sugar to those missing e.g., meta.keyring. Also simplify crypto record creation by setting cleartext in the parent.

--HG--
extra : rebase_source : 6c9a9f210f8f46ac338adb84188538e7353c9673
2010-02-11 15:25:31 -08:00
Paul O’Shannessy
1ef5637421 Bug 545487 - Cleanup TabTracker_observe [r=Mardak]
Remove the "load" event listener and don't QI since we don't need to.
2010-02-11 15:08:28 -08:00
Edward Lee
c3a6abad27 Bug 545701 - explicitly exclude Weave password/passphrase from pw sync
Don't include weave passwords when getting all ids and ignore their changes.
2010-02-11 15:05:22 -08:00
Edward Lee
97e3689b91 Bug 533207 - wyciwyg:// URLs should not be synced as-is
Filter out tabs that start with wyciwyg:.
2010-02-11 14:28:35 -08:00
Edward Lee
91646d0c29 Bug 544068 - Assume moved bookmarks should be where they're moved
Don't keep the annotation around in-case the predecessor/parent finally syncs because the user positioned it otherwise.
2010-02-03 15:34:42 -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
df69726fcf Reverse thresholds to make more sense for single vs multi. 2010-01-26 12:08:41 -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
Edward Lee
eaf5249121 Bug 531489 - weave lost bookmarks with same url
Do dupe detection for bookmarks like how we do folders/separators but check against the url/title. Add parentName to bookmark records, so bump version.
2010-01-25 09:33:49 -08:00
Edward Lee
8aca513a35 Lower tab logging to trace when wrapping tabs. 2010-01-21 09:59:27 -08:00
Edward Lee
5c85990e0b Bug 526937 - Bookmarks are re-uploaded when they get visited
Don't mark item as changed on a favicon notification to avoid churn that can result in merge messing up bookmark ordering.
2010-01-19 11:24:00 -08:00
Mike Connor
2054217a10 Bug 524221 - Weave's current auto-login behavior is super-annoying if you have a master password. r=Mardak
Only autoconnect if the master password has already been entered and autoretry later if not.
2010-01-07 16:13:44 -08:00
Edward Lee
16f39932f5 Bug 536595 - Sync fewer items per data type on mobile
Just sync a flat 50 instead of .1 of 1500 to avoid increasing slowdown when processing many items.
2010-01-06 10:00:05 -08:00
Edward Lee
138e3682ad Bug 536594 - Warn on record creation failure but continue the sync
Wrap createRecord and encrypt incase an engine fails to create one or more of the records similar to how process incoming records are wrapped.
2010-01-06 09:59:05 -08:00