Commit Graph

44 Commits

Author SHA1 Message Date
Philipp von Weitershausen
6e250f858f Bug 569968 - Migration requires client to remove absolute URLs in crypto records
Make WBORecord.uri, CryptoWrapper.encryption, PubKey.privateKeyUri, PrivKey.publicKeyUri as well as the CryptoMeta keyring keys relative URLs in the payload.  As a result, all records now *must* know their URI.

Bump storage version from 2 to 3 to trigger reupload of all data and exclude older clients.
2010-08-12 22:19:39 +02:00
Edward Lee
4e55362a90 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
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
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
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
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
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
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
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
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
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
Anant Narayanan
d0ccbc187e Fix indentation 2009-04-06 19:31:39 +02:00
Edward Lee
3993035a59 Bug 482670 - WBORecord should implement a .deleted property
Expose a .deleted property that engines can set to true to store an even thinner deleted payload (empty string "" instead of "[null]") on the server. Handle deserializing of deleted records by setting the property. Note: Engines must set their payloads to something JSON-able if it's not a delete record.
2009-04-03 12:38:47 -05:00
Edward Lee
4f6ebe6be5 Bug 481741 - Switch to JSON from nsIJSON 2009-03-31 14:09:38 -05:00
Dan Mills
7b9eedde66 Bug 478327: Send minimal '[null]' payload for deleted records 2009-03-11 01:40:04 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
820bf3015e Fixed bug 480420 by using url.spec instead of url as key for the cache in RecordManager. 2009-03-07 11:04:42 -08:00
Dan Mills
9cb0373820 add a clearCache method to the record manager 2009-02-19 04:06:08 -08:00
Dan Mills
cb6227c66f add a generic WBO record manager 2009-02-11 23:53:37 -08:00
Dan Mills
a47fcda5b1 only url-encode weave IDs when constructing a URL with them 2009-01-27 16:36:00 -08:00
Dan Mills
c5ae81c609 initialize wbo records' uri property correctly 2009-01-27 15:12:35 -08:00
Dan Mills
a3d9640e3c Make records not extend Resource, instead they have a serialize() method that can be used to create a Resource for uploading if necessary.
Use global service instances under Svc.*
Consolidate various record managers (caches/convenience factories) to extend the same base object
Log exceptions caught by notify wrapper
2009-01-27 13:35:10 -08:00
Dan Mills
9c7bac20f5 WBO toString will serialize 'payload', CryptoWrapper overrides that and will serialize 'cleartext' 2009-01-23 15:08:12 -08:00
Dan Mills
84340dcdc2 cast modified timestamp to an int if it's a string 2009-01-21 19:02:38 -08:00
Dan Mills
ff240dd3ce add clients sync (list of clients with names and types); make it simpler to create Engine subclasses; remove the 2nd 'authenticator' parameter for Resources; resetServer is now wipeServer; consider 0 an invalid place ID (fixes bug when calculating item depths); add a Svc global exported from utils.js where commonly used services can live 2009-01-06 13:54:18 -08:00
Dan Mills
f5a1c1d230 improve WBORecord's toString() 2009-01-02 13:20:19 -08:00
Dan Mills
6b260498e0 switch to generating individual bookmark records directly from the places store, without using a cache (to improve memory performance); create objects for bookmark types; temporarily disable history sync 2008-12-28 19:59:44 -08:00
Dan Mills
9c44454330 add depth and sortindex getters, and a toString for nicer printing 2008-12-23 11:20:20 -08:00
Dan Mills
a001a3f564 server api changes: encoding is gone (payload guaranteed to be utf-8 now), payload is guaranteed to be json so no need to wrap in an array to encode; change crypto object to place encrypted data in a 'cyphertext' property inside the payload, instead of replacing the payload 2008-12-01 18:07:07 -08:00
Dan Mills
938a1e7ad5 server payload decoding problem is fixed, so remove hack. we now always decode the payload after downloading. 2008-11-25 14:47:43 +09:00
Dan Mills
46c108167d add tmp hack to work around server payload json decoding bug 2008-11-25 01:03:01 +09:00
Dan Mills
d8e17d1e30 add filter to wbo to set their id automatically based on uri 2008-11-20 09:16:08 +09:00
Dan Mills
b12787f2f2 crypto changes: private keys get their own iv and salt, crypto meta records get a separate iv and no salt. various fixes in crypto code and other wbo related objects. fix crypto tests to match. 2008-11-08 02:00:33 -08:00
Dan Mills
7091144051 make sure records always have a data field that represents their state (e.g. for serialization); add some pki routines (createKeypair); add incoming/outgoing queue to NewEngine 2008-11-06 23:23:35 -08:00
Dan Mills
a8e372f80f add base record types for the new weave server api 2008-11-03 14:37:51 -08:00