Commit Graph

95 Commits

Author SHA1 Message Date
Edward Lee
89f3d54c0f Bug 568518 - Unhelpful log messages [r=mconnor]
Remove "Server attack" from exceptions.
2010-05-27 11:04:30 -07:00
Edward Lee
ba60f514a6 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
e5bce4658d 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
Edward Lee
e73dbf06b9 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
177b122960 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
6c37148ae4 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
eca5bad2df 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
00f548581e 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
accbff6fd1 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
Edward Lee
b8de893593 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
Edward Lee
c53310f982 Bug 536596 - Don't force garbage collections on every record processed
Remove the forceGC at the end of each onProgress from Collections and let normal actions trigger GC.
2010-01-06 09:57:05 -08:00
Edward Lee
d4295ef8e9 Remove unused prefs and imports. (Bug 524916)
--HG--
extra : rebase_source : 074e542f63ee840b61db7fe63a6c3540c13a31a5
2009-11-25 17:49:15 -08:00
Edward Lee
5944a1f90a Add limit as a param to Collection. Make requesting guids the default. 2009-09-10 14:18:31 -07:00
Edward Lee
b59b775794 Merge weave to weave-partial-view. 2009-09-10 12:42:29 -07:00
Edward Lee
b0c3b9005e Bug 515676 - Allow giving objects to PUT/POST without Filters to avoid stringify([parse(stringify(stringify(obj)))])
Get rid of Filters and automatically JSON.stringify PUT/POST data that aren't strings, so plain Records can be passed in to PUT and POST. This leverages toJSON of Records to provide an object that can be serialized. Fix up client record serialize/deserialize to still escape/unescape non-ASCII.
2009-09-10 11:05:13 -07:00
Edward Lee
0fa22bedac Switch to 0.5 server API for deleting multiple ids from a collection. 2009-08-31 18:30:44 -07:00
Edward Lee
b8e1f6aad3 Bug 512637 - Use newlines instead of JSON collection for incremental parsing. r=thunder
Switch to newline mode when using a collection record handler, and look for newlines! Easy! Update test to provide newline-separated strings instead of JSON.
2009-08-26 18:09:41 -07:00
Edward Lee
ab865b703e Land weave-0.5-api on weave. r=thunder. 2009-08-26 18:03:52 -07:00
Edward Lee
cb743d3b33 Remove old modified arg for collections. 2009-08-26 17:52:46 -07:00
Edward Lee
76cc6cfde5 Save an exception/catch when failing to import a record. 2009-08-26 17:49:23 -07:00
Edward Lee
009411f482 Bug 511746 - Resource.foo shouldn't throw except in exceptional cases. r=thunder
Get rid of lastChannel and return a String object from _request with additional properties of status, succeeded, headers -- even if the response was handled by cache. Update engines to check for non-success and throw the failure. Update tests to use these additional properties instead of lastChannel, etc.
2009-08-26 15:32:46 -07:00
Edward Lee
9560da1d43 Remove unused alias for wbo/identity. 2009-08-25 08:52:52 -07:00
Edward Lee
2906267e0c Use the plain get/set for wbo.modified because it's not needed anymore and was causing JS strict warnings: reference undefined property. 2009-08-20 17:10:14 -07:00
Edward Lee
2335b057db Get rid of depth and sort on index instead. 2009-08-15 00:56:27 -07:00
Edward Lee
d02b8efc49 Bug 506302 - Shorten stack traces
Trim the full path from JS stacks and just show the file and convert nsIException traces to look like js stacks: func()@file:line. Only difference is js stacks show arguments while nsIException always shows just (). Fix up some places where we print the exception instead of the fixed up string.
2009-07-24 15:28:42 -07:00
Edward Lee
a26f0b1166 Bug 485573 - Fennec runs out of memory and crashes if too many history items to sync. r=thunder
Incrementally process records as the collection finds record boundaries and converts them to records for the engine to use. Get rid of the collection iterator and original RecordParser. Add tests for incremental record parsing and remove old iter tests.
2009-07-22 16:38:34 -07:00
Edward Lee
b935178671 Bug 504212 - Have javascript stack traces show [object Object] for various CryptoWrapper functions
Also update createKeypair for keys to pass around the passphrase object and update the tests to pass around an object.
2009-07-14 19:04:32 -07:00
Edward Lee
e94143f4e2 Bug 504212 - Have javascript stack traces show [object Object] for various CryptoWrapper functions
Pass the ID object instead of reading out the password and passing it in to encrypt/decrypt.
2009-07-14 16:51:04 -07:00
Edward Lee
4084603da5 Remove async.js and wrap.js and remove remaining references to Async.sugar, etc. 2009-06-06 18:24:30 -05:00
Edward Lee
394fea48d8 CryptoMeta_addKey: async + async/yield -> sync. (Unused?) 2009-06-06 18:24:23 -05:00
Edward Lee
9da0ded47a merge weave 2009-06-05 11:03:19 -07:00
Dan Mills
889ac9b203 partially revert d6cac1e80da9 - use id from the body; add additional tests to catch more errors 2009-06-05 10:39:51 -07:00
Edward Lee
e7a503025a CollectionIterator_next: async + async/yield -> sync. 2009-06-05 00:38:23 -07:00
Edward Lee
228f2e2568 CryptoWrapper_decrypt: async + async/yield -> sync. Fix up bookmark/client decrypt. 2009-06-04 19:06:57 -07:00
Edward Lee
7adf2ffa78 CryptoWrapper_encrypt: async + async/yield -> sync. 2009-06-04 17:58:37 -07:00
Edward Lee
65ceb80170 Bug 496455 - CryptoMeta__addUnwrappedKey always gets undefined new_pubkey
yield for PubKeys.get() when passed a string uri

--HG--
extra : rebase_source : d81bcbc7ba8fc45e83fb395dc93653f2749b3eed
2009-06-04 17:42:22 -07:00
Edward Lee
a9de56fef0 CryptoMeta_addUnwrappedKey: async + async/yield -> sync. 2009-06-04 17:36:34 -07:00
Edward Lee
95bfb88ac7 CryptoMeta_getKey: async + async/yield -> sync. 2009-06-04 17:21:42 -07:00
Edward Lee
81dc4055a7 Remove Async.sugar from keys.js. 2009-06-04 17:10:25 -07:00
Edward Lee
0c563da3c8 PubKeyManager_uploadKeypair: async + async/yield -> sync. 2009-06-04 17:09:32 -07:00
Edward Lee
df16a63edb PubKeyManager_getDefaultKey: async + async/yield -> sync. 2009-06-04 17:04:51 -07:00
Edward Lee
5f22d9bd1c Remove Async.sugar from wbo.js. 2009-06-04 16:52:28 -07:00
Edward Lee
ce37486d9c RecordMgr_get: async + async/yield -> sync. 2009-06-04 16:50:57 -07:00
Edward Lee
aa8b725087 RecordMgr_import: async + async/yield -> sync. 2009-06-04 16:25:12 -07:00
Edward Lee
c5ce99c03b merge weave 2009-06-04 16:24:40 -07:00
Dan Mills
d17c287a86 make sure record id comes from the URI, only use the payload body in the collection GET case 2009-06-04 15:30:36 -07:00
Edward Lee
1134960b32 Fix Resource.* call sites used for wiping the server and initial sync (+ key gen upload) 2009-06-04 10:17:27 -07:00
Edward Lee
428d54a14a Change Resource.get() to be sync (no callback) and fix up call sites used for login + sync now. 2009-06-04 10:16:07 -07:00
Dan Mills
eb28a59871 about:weave changes, add jquery 2009-06-02 09:29:58 -07:00
Edward Lee
b7a138755c Bug 488142 - Make it easier to add simple deferred cleartext/payload values
Add a couple Utils helper to create a pair of simple [gs]etters that use a hash property instead. Apply this to various records: WBORecord, {Priv,Pub}Key, Crypto{Meta,Wrapper}, and every engine's type records. Migrate by making sure key data exists (name change).
2009-04-13 16:39:29 -05:00