Commit Graph

234 Commits

Author SHA1 Message Date
Atul Varma
90d243db16 Refactored test_service and module code so that the weave service constructor is called, and auth is done more accurately. 2008-06-17 19:54:09 -07:00
Atul Varma
f9463209a2 Added a fixme/todo in the code. 2008-06-17 10:23:35 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
6ce93ffd1d Merged 2008-06-16 11:24:41 -07:00
Dan Mills
f74b9f910f catch 404s from initSession and do an initial upload; fix some bugs (missing yields, references to Engine properties) in RemoteStore.initialize 2008-06-16 00:21:44 +09:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
9805cdce23 Merged 2008-06-13 16:22:04 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
835100b96d Fixed some minor bugs -- the name of the incoming shared folder is parsed correctly, and xmppClient now catches bounce errors that were previously parsed as messages. 2008-06-13 16:20:43 -07:00
Myk Melez
b12f3d03db use nsIXMLHttpRequest::mozBackgroundRequest instead of DummyAuthProvider to suppress authentication dialogs and ensure XMLHttpRequests succeed even when the window that originated the request goes away 2008-06-13 13:08:36 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
5c8481de3d Merged 2008-06-12 17:35:57 -07:00
Myk Melez
b4967c8831 work around XmlHttpRequest bug 317600 by pausing for a 0ms timeout before trying to log in 2008-06-12 16:23:59 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
b462aad4a5 Merged changes. 2008-06-12 14:30:46 -07:00
Myk Melez
18d8e8fcd7 bug 410550: stop running scheduled sync when the user is not logged into weave 2008-06-12 12:36:58 -07:00
Myk Melez
f47209b9d2 only retrieve score once per engine when doing a scheduled sync, since retrieving the score can be a non-negligible cost for trackers that calculate the score on-demand (like the tab tracker) 2008-06-11 20:07:35 -07:00
Maria Emerson
7da4259fee bug 438033: implement a better first-run wizard process; r=myk 2008-06-11 17:56:02 -07:00
Myk Melez
8182b10abf resetting the score is not an asynchronous operation, so Service::_syncEngine shouldn't yield after calling it 2008-06-11 15:23:54 -07:00
Myk Melez
633afe0864 clarify wording in scheduled sync threshold debug statements 2008-06-11 14:16:03 -07:00
Myk Melez
2b2192aca5 once sync thresholds reach 1 (the lowest possible value), leave them there until something changes and we sync 2008-06-11 13:50:47 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
5459e1733a Resolved merging conflicts to service.js. 2008-06-11 11:54:44 -07:00
Myk Melez
932871d1bd merge 2008-06-11 10:41:57 -07:00
Myk Melez
482d745360 bug 434816: use a decreasing threshold algorithm for the periodic scheduled sync to make sure we eventually sync even small changes to data; r=thunder 2008-06-11 10:38:25 -07:00
Dan Mills
5ca3a1eb7f merge upstream changes 2008-06-11 23:31:28 +09:00
Dan Mills
de1d1acb26 Various changes:
Engine/RemoteStore:
* Move code to make the engine remote directory into RemoteStore.
* Fix initSession call in Engine to properly use callback / call yield.
* Do not check '_getServerData' return status in _sync, we will use exceptions from RemoteStore instead.
* Move code to push a new delta into RemoteStore (appendDelta()).  Currently comments out code that forces a re-upload in cases where the server (engine) format version was different.  We may add this back later into RemoteStore (?).
* Note that this patch also removes the 'this._encryptionChanged' conditional, which I believe is currently useless (we never set it).
Service:
* When wiping the server (due to a server version mismatch), skip .htaccess files, since they are usually not user-modifiable.
2008-06-11 11:12:04 +09:00
Anant Narayanan
9cb5d2c8cc Make sync service check score before syncing: bug #434816 (r=thunder) 2008-06-10 13:45:37 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
b22dd7428c Fixed a couple of minor bugs that were preventing bookmark share from starting (like, i was skipping enabled engines instead of disabled engines... duhh) 2008-06-09 18:44:13 -07:00
jonathandicarlo@localhost
98d1bf05f4 Made BookmarkEngine.sync() responsible for calling BookmarkEngine.syncMounts (to get the incoming shared bookmark folder contents), eliminating the FIXME that previously had this being called from special-case code in WeaveSvc.sync(). 2008-06-06 19:22:23 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
473352178e Resolved conflicts with Chris's changes (to use the username, unhashed, as the name of the server-side sharing directory) 2008-06-06 17:43:15 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
3db8dcb84c Moved _createShare and _share() from engines.js to BookmarkEngine class in engines/bookmarks.js. The identity of the folder to be shared is now passed from the share dialog box (share.xul) into BookmarkEngine._share(). 2008-06-06 17:33:44 -07:00
chris@h-194.office.mozilla.org
d7c750f0f9 - this check in will break everyone temporarily, as it involves the changes necessary to shift us from sha1(email) to usernames, and to enable sharing on the server.
- we are also changing the default preferences on the trunk to point to the new staging server at https://sm-labs01.mozilla.org:81 that has been modified to support usernames
- everyone will need to create a new account and this will be streamlined within the startup function, which will now kick off on first run (we'll check in the updated setup wizard shortly)
- this checkin also cleans up a number of strings
2008-06-06 14:18:50 -07:00
Dan Mills
b32b7d3549 merge upstream changes 2008-06-05 23:11:20 +09:00
Atul Varma
b74958a214 Moved all tab-syncing code to modules/engines/tabsjs. 2008-06-03 14:45:53 -07:00
Atul Varma
daf3be7564 Moved all form-syncing code into modules/engines/forms.js. 2008-06-03 14:20:51 -07:00
Atul Varma
1e0a1d1e06 Moved all password-syncing code into modules/engines/passwords.js. 2008-06-03 14:08:53 -07:00
Atul Varma
e2ce660c53 Moved all history-related functionality into modules/engines/history.js. 2008-06-03 13:56:16 -07:00
Atul Varma
f365f924cf Re-removed cookie-related changes that were accidentally re-added by c1a58b24679c and/or 5a49daf87c94.
Also moved all bookmark syncing logic into modules/engines/bookmarks.js.
2008-06-03 12:38:48 -07:00
Myk Melez
690e2b800c merge 2008-06-03 11:43:07 -07:00
Myk Melez
07ba8ea83e bug 434817: sync tabs 2008-06-03 11:32:59 -07:00
Atul Varma
ada0204cac Moved all code related to the syncing of cookies--e.g. CookieStore, CookieTracker, CookieEngine, CookieSyncCore--into their own file at modules/engines/cookies.js. I'll be doing the same to the other engines shortly.
This helps with code organization--all the logic for dealing with a particular data type is now in one place--and should also make it easier to write unit/regression tests.
2008-06-03 11:11:44 -07:00
Dan Mills
d526a56d57 log stack traces from sync exceptions 2008-06-02 13:02:04 +09:00
Dan Mills
0640f244d6 format exception correctly when an engine throws during sync 2008-05-30 17:40:08 -07:00
Atul Varma
243f1bce21 Refactored logging system so that clients don't need to call factory functions to create specific instances of formatters and appenders. 2008-05-29 18:15:50 -07:00
Dan Mills
fd0eac8eb3 continue sync of other engines even after one of them throws an exception; use constructor name instead of instanceof to check for array object in modules 2008-05-23 23:58:53 -07:00
Atul Varma
04c6dda2c2 Fixed bug 427113: https://bugzilla.mozilla.org/show_bug.cgi?id=427113
I should note that I think that there's a more idiomatic way of doing what I did, but I don't yet fully understand how Weave does things asynchronously.  As such, this commit can probably be refactored to be more in the style of the surrounding code.
2008-05-23 12:22:08 -07:00
Atul Varma
0b8c18a3c7 Fixed bug 435103 (https://bugzilla.mozilla.org/show_bug.cgi?id=435103) 2008-05-23 12:08:03 -07:00
Anant Narayanan
36482f8bef Sync form data: bug #434818, r=thunder 2008-05-22 15:36:44 -07:00
Justin Dolske
8df51016ac Bug 433762 – Sync stored passwords. r=thunder 2008-05-21 18:09:19 -07:00
Anant Narayanan
d0ee5b17d4 Allow login & sync when encryption is off 2008-05-21 16:28:23 -07:00
Anant Narayanan
ba0fa55299 Typo in log message 2008-05-21 11:16:39 -07:00
Dan Mills
2c39623eab DAV: separate the root url of the DAV repository from the default prefix for all operations (i.e., the user's subdirectory) 2008-05-15 18:08:13 -07:00
Dan Mills
63af6c5dbd service: remove accidental 'resetServer' call in sync (\!); dav: lock a file called 'lock', instead of the entire collection (workaround for bug 421610) 2008-04-16 14:46:57 -07:00
Dan Mills
6670eb2948 engines now get the pbe identity directly from the identity manager; engines now know their 'enabled' status (pref); main service syncs *all* registered (enabled) engines 2008-04-15 17:21:34 -07:00
Dan Mills
5a2d0451db add engine registration service; use global id service in service.js 2008-04-14 18:53:35 -07:00
Dan Mills
83fd7d6261 Various improvements:
* async generators: much better stack traces
* dav: use global identity system rather than login/logout to manage
  usernames and passwords.
* dav: there is a checkLogin() instead of login() which can be used to
  verify auth at any time.
* dav: make it so that we can (only internally atm) hold multiple
  locks for different URLs.
* identity: add an identity manager singleton service to keep
  identities globally, referenced by a name, with aliasing support (so
  e.g., dav can ask for the 'dav' identity, while something else can
  alias 'dav' to another identity).
* service: keep track of logged in status here, rather than in the dav
  service.  Use the global id manager.
2008-04-10 21:38:15 -07:00
Dan Mills
a4b0ed4a6e make login more robust, specially work around first-login oddities with services.m.c 2008-04-01 23:43:14 -07:00
jono@jono-gibbon-laptop
b405d397ce Fixed a couple of missing symbol exports that were stopping CookieEngine from being able to be instantiated. 2008-04-01 17:32:14 -07:00
jono@jono-gibbon-laptop
640267d614 Merged changes and resolved conflicts between my cookie stuff and r282. 2008-04-01 14:46:29 -07:00
Dan Mills
a5bb6bf61f [mostly] beat login dialog into submission; use DAV singleton instead of making a new DAVCollection in service.js; split up checks from login into their own functions, call them on sync(); check we are logged in before syncing 2008-03-31 07:20:09 -07:00
Dan Mills
acdfa5a921 use the wrapper notifier for login(), change observers to the slightly different observer topics; allow server url to not have a trailing slash (add one automatically); dial down dav.js verbosity; add serverWipe service method; change 'reset server data' button in prefs pane to do serverWipe instead of resetServer; allow for wrappers to have extra args both saved in the closure (at wrap creation time) as well as passed in later (via .async()) 2008-03-30 08:40:23 -07:00
Dan Mills
78041c490b fix 'clear logs' on windows 2008-03-28 19:36:11 -07:00
Dan Mills
eaca70f4d9 add status notification to sharing dialog; fix async generators in the case where an async method is missing a yield (better error, continue execution in parent); add guts of demo sharing code to engine & store (for bookmarks, with some spillage) 2008-03-28 03:25:51 -07:00
Dan Mills
62e963c8b9 status label now has service status instead of username; service [un]lock observer notifications are gone; don't error when async methods don't call done() - consider them methods with no return value; don't require passing null into login() to cause the identity to look up the password in the pw mgr; make some wrapper 'method generators' to make lock handling and observer notification simpler 2008-03-27 19:12:53 -07:00
Dan Mills
24ba577b6f improve async generator logging; don't call done() on StopIteration when we already have a timer set (it means the generator just 'bottomed out' after calling done()); make XHRs be synchronous (blocking) - temporarily; fix up sharing code (adding to the keyring) 2008-03-26 00:59:34 -07:00
Dan Mills
7ec09f1317 add sharing ui+backend code (not working yet); make engines less chatty when applying commands 2008-03-25 23:01:34 -07:00
Dan Mills
0a4be048f7 make service.js the main entry point from chrome/content; make the service be lazy-loaded; make crypto be lazy-loaded 2008-03-25 15:14:00 -07:00
Dan Mills
233a0d648d fix resetClient's locking. change bookmarks wrap format to have hardcoded guids for the 3 roots (menu, toolbar, unfiled) rather than random ones. 2008-03-21 15:56:41 -07:00
Dan Mills
2739b301fc split up/simplify login functions; add a global (server-wide) storage version; wipe server for storage version upgrades 2008-03-19 18:42:12 -07:00
Dan Mills
16920cd2ae Various improvements:
* Logging improvements / default log levels tweaked.  Less chatty now.
  Ability to tweak log levels of individual loggers via prefs.
* Various crypto module fixes, specially for RSA.
* 'service' lock removed, reuses server lock now.  dav module supports
  temporarily blocking locks to simulate the 'service' lock (login()
  needs this, since dav is not configured at that time).
* PKI support: data encryption uses randomly-generated symmetric keys,
  which are then encrypted with RSA public keys and stored on the
  server.
2008-03-19 15:17:04 -07:00
Dan Mills
732f6b234c workaround for services.m.c 500 error on some GET requests 2008-03-12 23:06:28 -07:00
jono@jono-gibbon-laptop
a2c4928bc5 My changes to weave to enable cookie synchronization. So far untested and still missing a thing or two. 2008-03-11 12:08:38 -05:00
Dan Mills
48733f699a add a dav method for getting a list of server files/directories; delete all server data when private key isn't found (this will cause everyone's server data to get wiped, since no one has a key yet); fix a bug in checkStatus with specific status codes (as opposed to ranges) 2008-03-07 04:20:55 -08:00
Dan Mills
941dd24c3b Asynchronous generator helpers rework + PKI work
* Async helpers are in a module of their own now
* Async routines have simpler semantics now.  onComplete handlers are taken care of by the helpers.  Exceptions are bubbled up across nested asynchronous generators
* Stack traces are automatically logged for unhandled exceptions
* Async generators are now allowed to 'bottom out' (StopIteration is ignored) - this is configurable.
* RSA key generation fixes
* On login we now create an RSA keypair, encrypt the private one with PBE, and upload them to the server
* Log files are now limited to 2MB (down from 5)
2008-03-07 01:56:36 -08:00
Dan Mills
0ed61df581 don't sync bookmarks/history unless they have been enabled 2008-03-05 18:36:58 -08:00
Dan Mills
261ddf2a9e clean up prefs; add logging prefs; check weave is enabled on scheduled sync 2008-02-13 16:07:11 -08:00
Dan Mills
d6b5a9fc29 put utility functions in an object to avoid namespace pollution 2008-02-13 14:30:44 -08:00
Dan Mills
d5c5e064e7 create user directories when they don't exist - good for personal webdav servers 2008-02-08 01:03:45 -08:00
Dan Mills
731575d8bf add openssl support 2008-02-05 14:15:53 -08:00
Dan Mills
7e968fc10e remove debug statements 2007-12-26 16:11:19 -08:00
Dan Mills
79688a1c16 Pull xxxtea code into modules/; fix passphrase bug in the login dialog 2007-12-26 16:10:23 -08:00
Dan Mills
232f7951a9 change prefs to live under extensions.weave 2007-12-20 14:46:12 -08:00
Dan Mills
fb020f0577 ui / prefs fixes 2007-12-20 12:18:41 -08:00
Dan Mills
bdb1273a28 move logs and snapshots into a 'weave' directory in the profile; use .txt filenames for logs to (hopefully) fix content type problems some people are seeing 2007-12-19 19:49:28 -08:00
Dan Mills
2cc8662f0f rename 'bookmarks' events to be weave events; add service-level events in addition to engine-specific ones (where appropriate) 2007-12-19 17:37:01 -08:00
Dan Mills
6782f99ad3 login fixes; history sync fixes; make reset client actually delete all client data (useful for testing and for syncing down server data - e.g. the restore case) 2007-12-19 13:24:31 -08:00
Dan Mills
516dfc2930 some more cleanup/refactoring; add history engine/core/store (history sync\!) 2007-12-14 18:07:25 -08:00
Dan Mills
f9df1f57a8 assume in loaded modules that the resource:// alias has already been added - remove all the templatey code to do that 2007-12-11 11:57:13 -08:00
Dan Mills
e44b47a493 more and more refactoring: split weave module into multiple files (finally!) 2007-12-10 21:38:53 -08:00