Commit Graph

44 Commits

Author SHA1 Message Date
Dan Mills
1a6a8397c4 Bug 444119: catch errors during a lock and avoid a deadlock 2008-07-08 16:34:27 -07:00
Dan Mills
b0bede9548 sigh, my previous unlock change actually breaks unlock. fix fix fix. 2008-07-08 13:56:03 -07:00
Dan Mills
13c049d2de merge upstream changes 2008-07-08 11:59:28 -07:00
Dan Mills
31a5149a4c check that we have a local lock token before trying to delete it (or 'delete' will fail) 2008-07-08 11:58:59 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
acf0d0ded8 Merged 2008-07-08 01:18:40 -07:00
jonathandicarlo@jonathan-dicarlos-macbook-pro.local
1cf9a1dea9 Fixed a bunch of bugs in bookmark share: stuf related to server-side paths being incorrect (because the defaultPrefix in DAV was getting reset to an empty string or was getting applied wrong). Discovered that updateOutgoingShare and updateIncomingShare were both calling the same _wrapMount() function, which was incorrect, so I broke that up and fixed what parts are meant to be outgoing and which incoming. 2008-07-08 01:18:30 -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
9cfef4be35 Fixed a whole bunch of bugs in bookmark share, mostly related to adding in needed JsonFilters for remote Resources and fixing the server paths which are passed into DAV for the keyring file and encrypted share data files. (Also fixed a minor bug in DAV itself so that mkcol won't quit right away if you pass it something that starts with a slash.) 2008-07-03 17:57:21 -07:00
Dan Mills
8bc8c1abbb when we abort a lock request because we already hold a token, reset _lockAllowed to allow further requests for locks 2008-06-26 16:26:14 -07:00
Dan Mills
6badbcac4d merge upstream changes 2008-06-26 12:23:07 -07:00
Dan Mills
2d3216c74e return http status code from dav's checkLogin 2008-06-26 12:22:19 -07:00
Anant Narayanan
2339871cf6 Prevent multiple lock requests from being executed (bug 441922, r=thunder) 2008-06-26 11:15:02 -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
Dan Mills
5e07cb98d5 Don't allow re-entrance! Fail to lock when we already hold a lock. 2008-06-17 18:01:48 +09:00
Dan Mills
5c196a641a treat paths beginning with '/' as absolute 2008-06-17 09:51:02 +09:00
Dan Mills
a8ad7d2804 merge upstream changes 2008-06-15 13:42:10 +09:00
Atul Varma
92583fc5ff Fixed an 'outstanding callbacks' warning and simplified the code a tiny bit. 2008-06-13 15:39:06 -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
Dan Mills
589f3222eb To avoid some async.js warnings: Turn some 'yield' calls into 'return' ones, and don't call 'self.cb' twice in a row when constructing event listeners for XHRs. 2008-06-13 15:49:18 +09:00
Atul Varma
813c1abb3f Added a POST method to dav.js. 2008-06-09 17:36:54 -07:00
Atul Varma
53f7206dec Just added a few semicolons that js2-mode warned me about. 2008-06-09 09:45:55 -07:00
Dan Mills
88bafd3245 Add and start using an object to represent a remote resource (file), and a server object to hold them. Resources will attempt to retry network operations if they fail. 2008-05-28 20:11: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
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
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
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
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
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
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
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
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
d6b5a9fc29 put utility functions in an object to avoid namespace pollution 2008-02-13 14:30:44 -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
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
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