Commit Graph

37 Commits

Author SHA1 Message Date
Dan Mills
8c5dd2449d makeUri: don't throw on invalid uris, return null instead 2008-11-03 14:56:56 -08:00
Dan Mills
7ff40bec59 Bug 450526: fix tag sync bug created by a typo in deepCopy. Fix by Mishail <mishail.mishail@gmail.com> 2008-08-14 17:23:11 -07:00
Dan Mills
3fc5d0e8a1 fix typo in utils deepCopy 2008-07-30 23:37:21 -07:00
Dan Mills
ea65089051 when making deep copies of an object, default to alphabetically sorting the properties for adding 2008-07-23 15:46:48 -07:00
Dan Mills
f1bea5c26d allow deep copies of objects to optionally copy object properties in alphabetical order. This is useful to guarantee the order in which they would be serialized as json (which may depend on the order in which properties are added) 2008-07-16 19:36:06 -07:00
Dan Mills
94709c6381 move formatAsyncFrame to utils, don't print 'regular' stack trace when we have an async exception (it's not useful) 2008-07-11 13:40:06 -07:00
Atul Varma
7303b375dc Refactored the exception-handling code a bit and made traces produced by async look more like they used to. 2008-07-01 12:03:05 -07:00
Anant Narayanan
2339871cf6 Prevent multiple lock requests from being executed (bug 441922, r=thunder) 2008-06-26 11:15:02 -07:00
Anant Narayanan
ee51a31ea5 Remove runCmd and other openssl related stuff we no longer need. (bug 441898, r=thunder) 2008-06-25 17:10:24 -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
Atul Varma
9d7f1afc80 Made exception logging routines more informative and added logtests for them. 2008-06-25 00:13:36 -07:00
Atul Varma
ac90aaff04 Refactoring: consolidated duplicate code creating GUIDs via XPCOM gunk into a new function, Utils.makeGUID().
Note that there are some strange things re: whitespace in engines/bookmarks.js in this changeset; I literally only changed one line, though, and I'm not sure where they came from.  Maybe it was js2-mode?
2008-06-20 12:34:29 -07:00
Atul Varma
30046913d8 Refactored some file operations into a new function in Utils and out of engines.js. 2008-06-18 14:12:24 -07:00
Atul Varma
22a628bfea Moved XPCOM-specific stuff from engines/passwords.js to util.js so they could be easily stubbed-out by unit tests. 2008-06-18 11:54:24 -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
6b20868829 Fixed a minor typo, though there's a better way to do the unary getter which Myk told me about; will probably substitute that soon. 2008-06-17 11:11:56 -07:00
Atul Varma
245e6492da Fixed a strict warning in util.js. 2008-06-16 18:11:41 -07:00
Atul Varma
9cc4da48c1 Refactoring: made a new function, Utils.makeTimerForCall(), which is used by test suites and async.js. 2008-06-09 19:30:11 -07:00
Dan Mills
c682a760f9 remove some debugging output, fix some remaining array detection code 2008-05-24 17:30:22 -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
ba3e131c29 Fixed a variety of style issues and minor warnings raised by js2-mode. 2008-05-23 11:05:42 -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
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
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
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
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
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
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