Pazu
e4dc334725
Clear KeyPair cache on server wipe, and make new key generation work again.
2008-07-08 17:06:21 -03:00
Pazu
795762882d
Performance improvements: keypair is now fetched only once, and cached in memory.
2008-07-08 15:33:17 -03:00
Dan Mills
5082e5e422
keep track of errors during sync and throw after trying all engines
2008-07-08 17:44:00 -07:00
Dan Mills
54a2a8a785
Bug 443385: unconditionally remove saved local token, regardless of whether the UNLOCK command succeeded; also cleans up some variable naming re: local locks in dav.js; cosmetic changes in wrap.js
2008-07-07 22:30:32 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
10d9360015
Merged
2008-07-01 10:18:43 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
aa859a7626
Made _stopSharing and _stopOutgoingShare more fault-tolerant (they will no longer die if the expected annotation is missing.
2008-07-01 09:58:00 -07:00
Dan Mills
44c908db91
save username/pass in verifyLogin, at least for now
2008-06-30 23:41:47 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
5d960d2e8f
Combined shareData and stopSharingData into one function to reuse code; made it so that if it gets called when Weave.DAV is already locked, instead of failing it sets up an observer that will trigger the share to happen as soon as the sync-succeeded or sync-failed message is received.
2008-06-30 22:30:04 -07:00
Atul Varma
07f3aacf01
Added documentation for Service._getKeypair().
2008-06-30 18:09:30 -07:00
Atul Varma
aa2cab9380
The auto-login at startup no longer unconditionally syncs; if the login fails, the sync is now aborted.
2008-06-30 17:55:48 -07:00
Atul Varma
7512505bb7
Added a Service.verifyPassphrase() method. Also, Service.login() now checks to ensure that the user's passphrase is valid, and if it's not, it throws an exception.
2008-06-30 16:50:19 -07:00
Atul Varma
4c44bcd581
Fixed a potential bug in Service.login() whereby a user's directory wouldn't be created if it didn't exist (though it would in Service.verifyLogin(), which is only called from the setup wizard).
2008-06-30 15:54:15 -07:00
Dan Mills
32d1262667
style fixes, js warning fixes
2008-06-30 14:00:06 -07:00
Dan Mills
e03543007a
make resetguids async
2008-06-29 07:00:53 -07:00
Dan Mills
6f246308bc
don't even try to sync when the local lock is taken
2008-06-26 16:37:38 -07:00
Dan Mills
703829a510
fix comment in verifyLogin
2008-06-26 14:30:38 -07:00
Dan Mills
5c7f8c6a40
check login status code in service's verifyLogin; attempt to create user directory when it's a 404
2008-06-26 12:27:54 -07:00
Myk Melez
cab1d95570
bug 436636: a system for showing various kinds of notifications in one consolidated location
2008-06-25 13:51:39 -07:00
Atul Varma
92f85d952e
Another automated merge. I'm kind of confused at this point, so I hope I'm not breaking anything by mis-merging.
2008-06-25 04:45:22 -07:00
Atul Varma
37225f431c
Changed AsyncException so that it dynamically subclasses the exception it's wrapping, and adds an 'asyncStack' property to allow access to the asynchronous call stack. This, along with my previous few commits, makes the processing of stack traces in our code much more streamlined, and also allows our debugging output to be more informative, as stack information is now logged from the point at which an exception was thrown, rather than the point at which it was caught.
...
Also renamed some things in async.js to be more descriptive and easier-to-understand, albeit a bit more verbose.
2008-06-25 04:43:07 -07:00
Justin Dolske
b015539e7a
Split account verification out from login(), make wizard work for using an existing account, related code cleanup/simplification
2008-06-25 00:22:53 -07:00
Atul Varma
7b4737aed7
Fixed something that I should've changed in my last commit; also removed a call to Utils.stackTrace() that shouldn't have been made.
2008-06-24 19:58:50 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
2158cdf9c4
Merged
2008-06-24 13:41:25 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
c4fa84f683
Merged
2008-06-24 13:41:12 -07:00
chris@h-194.office.mozilla.org
32d06ac143
added embedded verification method to login (this wants to be it's own object method, but should work well enough for now.)
...
some formatted cleanup for wizard.js
2008-06-24 12:42:52 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
286e670fb2
Finished the bridge between UI code and bookmark engine so that stopSharing gets called when you pick the menu itme.
2008-06-24 12:22:32 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
ed99f7cb53
Make the stop-sharing-data command work
2008-06-23 18:23:08 -07:00
Justin Dolske
6ed3755104
Bug 433949 - Use WeaveCrypto component (NSS) instead of OpenSSL
2008-06-23 16:23:57 -07:00
Myk Melez
9668227aad
wrap notify around lock instead of the other way around so that notify includes locking failure/success in its notifications
2008-06-23 16:22:05 -07:00
Myk Melez
6cdf7d9c0d
bug 435341: sync automatically when Firefox quits
2008-06-23 16:10:31 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
68669b6a0f
Merged changes
2008-06-18 12:29:39 -07:00
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