Commit Graph

722 Commits

Author SHA1 Message Date
Justin Dolske
1fb1cf3fa3 Cleanup some trivial nits with cookie (whitespace and function name). 2008-05-21 17:53:35 -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
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
9340b3c431 Added TODO that expired cookies should be thrown out, in the unlikely event that we get one from a createCommand or editCommand. 2008-05-20 18:24:28 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
aea75cbd20 Made cookie-sync sync only persistent cookies, drop single-session cookies. (Needs testing.) 2008-05-20 18:14:18 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
7793fe3db1 Created some documentation of how to add synchronization functionality for a new user data type to Weave. Created a new directory called docs to put this into. 2008-05-19 19:40:45 -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
2aa793313d merge with jono's changes 2008-05-12 10:14:15 -07:00
Dan Mills
e5e1d00a3f sync bookmark descriptions 2008-05-12 10:11:07 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
11d82ab309 Created a readme for using the XMPP client module. 2008-05-08 18:50:12 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
c2d09e5829 renamed testSynchronizer.js to just synchronizer.js, because otherwise the test framework tries to run it as a test itself. 2008-05-06 12:04:04 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
90053f0c73 Oops, I miscapitalized XmppClient in the export statement -- fixed. 2008-04-30 17:08:39 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
2fec756b19 Made xmppClient, transportLayer, and authenticationLayer into proper modules using Components.Utils. Also renamed the JabberClient class to XMPPClient, which is more accurate (as it implements XMPP which is a newer protocol than Jabber.) 2008-04-30 16:55:34 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
e8b52e9413 Gave sasl.js a more descriptive name -- authentication is what it does.
--HG--
rename : services/sync/modules/xmpp/sasl.js => services/sync/modules/xmpp/authenticationLayer.js
2008-04-30 16:29:03 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
8fda2ee763 Merged my changes with the main repository. 2008-04-30 16:27:52 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
0251715f68 First commit of my XMPP client, as demonstrated at the meeting today, to weave/modules. This does not include the test-synchronization stuff. xmppClient.js is the main client class; transportLayer.js and sasl.js (which does authentication) are the helper classes. 2008-04-30 16:27:32 -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
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
62da55a446 Implemented cookieStore.editCommand(). 2008-04-07 11:53:55 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
055836a4ee Semicolon was missing in cookieStore.wrap() 2008-04-04 12:09:04 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
de75398691 Prettied up my code by using block comments and making my indents 2 spaces. 2008-04-04 12:08:04 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
02171a4c9b Merged changes from Dan 2008-04-04 10:50:21 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
185294a6e6 Removed comment from load-weave.js that I put in while debugging and committed by accident. 2008-04-04 10:49:41 -07:00
Dan Mills
99f4ac9084 rethrow exception when applyCommands fails; merge changes from jono 2008-04-03 17:18:38 -07:00
Dan Mills
edd4329c4a rethrow exception when applyCommands fails 2008-04-03 17:16:22 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
acbff936ba Discovered that trying to use duck-typing in passing an object into cookieExists() will hard-crash Firefox, and figured out why; added comment to syncCores.js explaining this. 2008-04-03 14:30:34 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
27c6454920 Fixed bugs in cookieSyncCore.itemExists and cookieStore.addCommand. The problem in addCommand was just a missing argument, but in itemExists I had to change the implementation to use cookieManager.enumerator rather than cookieManager.findMatchingCookie -- the latter function apparently does not exist in the nsICookieManager2 interface despite what MDC says about it. 2008-04-03 14:26:06 -07:00
Dan Mills
d1bd5e5aaa don't fail on invalid server deltas which don't apply to the local snapshot; wipe the local snapshot instead 2008-04-02 00:00:24 -07:00
Dan Mills
8df3c78b61 bump version 2008-04-01 23:44:39 -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
f6dd9c5d7f Updated the comment in CookieStore.editCommand. 2008-04-01 19:16:27 -07:00
jono@jono-gibbon-laptop
0640b8474c Removed some lines that were only in there for debugging purposes. 2008-04-01 19:12:03 -07:00
jono@jono-gibbon-laptop
4ad1b9c94f Fixed some minor errors in cookieStore / cookieSyncCore (still getting used to the getter idiom in javascript -- had too many underscores). Syncing cookies now works in as much as it can upload all cookies to the server without raising any exceptions; now to see if it can download and merge cookies on the other side... 2008-04-01 17:51:10 -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
609b043699 Fixed a couple of syntax errors that were preventing weave from starting 2008-04-01 16:36:08 -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
b8cca5d3a9 bump version 2008-03-31 17:46:29 -07:00
Dan Mills
e4254ee7bd fix tag sync 2008-03-31 17:07:40 -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
2028f0a69d bump storage format version to cause a server wipe 2008-03-30 08:52:49 -07:00
Dan Mills
8f9f414efb bump version 2008-03-30 08:42:35 -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
18f1113dcf remove try/catch block in the reconciler; correctly fix parent guids of remove commands during guid changes; only allow guid changes for create commands 2008-03-30 03:36:25 -07:00
Dan Mills
3ba627c585 fix the bookmarks likeness comparator (a.data undefined bug) 2008-03-29 00:00:16 -07:00
Dan Mills
54e61dbe6b ignore 'type' properties in edit commands; fix history sync 2008-03-28 22:55:23 -07:00
Dan Mills
78041c490b fix 'clear logs' on windows 2008-03-28 19:36:11 -07:00
Dan Mills
fc6202f2e2 bump version 2008-03-28 03:27:05 -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
cfbb3a75b1 remove old '500 error' hack for services.m.c during mkcol; fix applyCommands to do async right & make a listener correctly 2008-03-26 23:51:01 -07:00
Dan Mills
1b3916bc83 make XHRs non-blocking again; change sharing dialog so sharing is done without closing the dialog (still lacks any feedback though) 2008-03-26 23:22:35 -07:00
Dan Mills
cfae90a73a fix typo 2008-03-26 23:12:58 -07:00
Dan Mills
ebf0b6a973 make applyCommands asynchronous 2008-03-26 23:11:15 -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
86d8009d14 lazy-load service 2008-03-25 13:55:34 -07:00
Dan Mills
5b6dc30300 work with all exception objects, whether we can modify them or not 2008-03-24 19:08:43 -07:00
Dan Mills
aa012aa6cf bump version 2008-03-24 16:05:02 -07:00
Dan Mills
6c82a158bd decrypt private rsa keys before decrypting data with it (rather than doing it in one step). fix for windows openssl.exe 2008-03-24 16:04:29 -07:00
Dan Mills
8541c2d22a bump version; bump storage format version 2008-03-21 16:07:44 -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
99618dc083 bump version 2008-03-20 14:59:59 -07:00
Dan Mills
22ef0e035f bookmarks syncCore: remove actions never qualify for 'likeness' 2008-03-20 14:59:20 -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
6d055afeb8 bump version 2008-03-19 17:31:45 -07:00
Dan Mills
fd86363364 bookmarks sync core: always include type information when generating commands. also, allow for properties to not be set when comparing commands for likeness. 2008-03-19 17:31:00 -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
07c4bbd0dc bump version 2008-03-12 23:07: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
4c23a0a589 Merged my changes with the changes to async.js -- no conflicts. 2008-03-11 14:59:06 -05:00
thunder@h-132.office.mozilla.org
cdbd7976e2 add missing async.js module 2008-03-11 11:47:54 -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
075381eca7 fix full (first) upload brokenness 2008-03-07 04:49:56 -08: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
4bfb8c52e7 version bump 2008-03-07 01:57:18 -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
cc0892b5ff ignore broken local snapshots if they can't be parsed; trigger an initial sync instead 2008-03-05 17:11:08 -08:00
Dan Mills
c1f8acb964 switch to nsIJSON for JSON parsing and output. add a deepCopy function instead of using eval(uneval()). make *sure* to read and write UTF-8 to files. bump version 2008-03-05 00:00:56 -08:00
Dan Mills
288aaae471 fix openssl args mangling 2008-02-19 21:01:11 -08:00
Dan Mills
1817c866fe version bump 2008-02-19 20:53:45 -08:00
Dan Mills
350adaed51 use a scriptableinputstream to correctly read openssl output 2008-02-19 20:53:01 -08:00
Dan Mills
5efa6b7b5f flesh out openssl code; still needs more work 2008-02-19 11:39:39 -08:00
thunder@h-132.office.mozilla.org
093fac248a move openssl() into crypto object so it can use the logger there. up version 2008-02-18 11:18:04 -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
ec4aa0abba fix openssl binary path on windows 2008-02-05 16:15:43 -08:00
Dan Mills
e6eda21f32 branch merge 2008-02-05 14:16:38 -08:00
Dan Mills
731575d8bf add openssl support 2008-02-05 14:15:53 -08:00
Myk Melez
e6c482d3b5 make log4moz not depend on constants.js so it's easier to reuse it in another project 2008-01-24 17:41:36 -08:00
Dan Mills
fac152858b bump version 2008-01-22 22:46:39 -08:00
Dan Mills
c967d1b41f Bug 411105: nsILoginInfo no longer accepts null values for usernameField/passwordField. Send empty strings instead 2008-01-22 22:46:07 -08:00
Dan Mills
062ba11eda bump version 2008-01-07 20:20:54 -08:00
Dan Mills
a3b17ebe6a bump version 2008-01-07 16:29:30 -08:00
Dan Mills
d4392ac825 load all modules directly from load-weave.js to get around bug 408412; fix uses of |let| not directly within a block 2008-01-07 16:28:57 -08:00
Dan Mills
dd6341464b bump version in constants.js 2007-12-28 16:34:28 -08:00
Dan Mills
23affe6333 Bug 409908: don't decrypt cleartext. Also, fix broken checkStatus calls when resetting server data. 2007-12-28 16:33:09 -08:00
Dan Mills
c00d20a783 move xxxtea.js -> xxtea.js (typo) 2007-12-27 12:50:51 -08:00
Dan Mills
2883ed0621 Make {en,de}cryption asynchronous so as to not block the UI; fix 'xxxtea' typos (it's xxtea); fix auth header suppression 2007-12-26 17:40:46 -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
c3f4b08ffc Fix typo in last commit; use asterisks in place of auth header 2007-12-26 14:51:52 -08:00
Dan Mills
6dfb3eae28 Bug 409673: Don't log the authentication header 2007-12-26 14:49:03 -08:00
thunder@daniel-millss-macbook-pro-15.local
539fdecb0f fix getTagsForURI call (API changed); bump version 2007-12-24 14:47:37 -08:00
Dan Mills
c2c6f2597a version bump 2007-12-21 18:38:04 -08:00
Dan Mills
e320b490d8 version bump 2007-12-21 16:51:14 -08:00
Dan Mills
c713a81236 process GUID changes *before* anything else 2007-12-21 16:50:32 -08:00
Dan Mills
21f147b7bb limit history sync to the last 500 items; load snapshots from the right directory in the profile 2007-12-21 16:07:42 -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
Dan Mills
e5050adc9c refactoring: remove log4moz component, use it as a js module instead 2007-12-10 19:47:11 -08:00
Dan Mills
5de0bd93c4 more refactoring: move bookmarks-specific code into an 'engine' object; get rid of sync xpcom component and replace it with Components.utils.import hotness 2007-12-10 16:42:10 -08:00