Commit graph

6540 commits

Author SHA1 Message Date
Matt Corallo 8d408e6d8f THOUGH SALL USE TABSTOP AND SHIFTWIDTH 4 (so that indents read right) 2014-05-14 17:21:49 -04:00
Matt Corallo ae41a5df71 Merge remote-tracking branch 'lilia/master' 2014-05-14 17:21:40 -04:00
Matt Corallo d5491bda0b Stop an attacker from closing a session that isn't theirs (#29) 2014-05-14 14:27:08 -04:00
Matt Corallo 3a812d4958 Multi-session storage for close/regular message race conditions 2014-05-14 05:10:05 -04:00
Matt Corallo cdebc8afb4 Also delete chain key 2014-05-14 03:33:24 -04:00
Matt Corallo 08093a206d Fix old chain deletion 2014-05-14 03:02:47 -04:00
Matt Corallo 605863ffa3 Fix decryption of large messages (eg w/ attachments) 2014-05-14 02:08:01 -04:00
lilia e3b00e08f3 Generate and submit registrationId, fixes #25
If we're expecting to get registrationIds from others, it's only fair
that we also supply our own.
2014-05-13 20:10:30 -07:00
Matt Corallo 5752a772d1 promises, type conversion errors 2014-05-13 15:15:45 -04:00
Matt Corallo caa363b929 FINALLY report crypto, etc errors to console thanks to promises... 2014-05-13 04:40:29 -04:00
Matt Corallo a7de5e2159 last(?) round of crypto.js AB-type-conversion changes, new tests 2014-05-13 01:52:25 -04:00
Matt Corallo f46d8eaaad Merge pull request #23 from liliakai/fix
Fix exception in options.js on first run
2014-05-12 22:39:19 +00:00
lilia 1d95fcc027 Fix exception in options.js on first run
Fixes #22 Uncaught ReferenceError: getRandomBytes is not defined
options.js:41
2014-05-12 13:45:52 -07:00
Matt Corallo 3b79dd256c Remove TODO.txt now that I found time to put in github issues. 2014-05-11 23:24:31 -04:00
Matt Corallo 5583e82a20 Refactor some low-level crypto things 2014-05-09 03:43:23 -04:00
Matt Corallo 905357a2e1 More wholesale conversion to promises 2014-05-09 03:20:54 -04:00
Matt Corallo efe2fa1021 Move crypto things to js/crypto.js 2014-05-09 02:00:49 -04:00
Matt Corallo 2b21111d7b Fix/test pre key generation 2014-05-09 01:35:16 -04:00
Matt Corallo 3fffbad11a Fix now-broken test cases and change lots of things over to promises 2014-05-06 23:46:32 -04:00
lilia 41d50d7480 Lilia's Webcrypto branch rebased and a few very tiny tweaks 2014-05-06 23:45:55 -04:00
Matt Corallo ab6ebbab16 Add TODO 2014-05-04 17:13:43 -04:00
Matt Corallo 1137f9d711 Add TODO file showing what still needs to be done 2014-05-04 17:07:25 -04:00
Matt Corallo 138581701c tweak ui things a tiny bit 2014-05-04 02:50:34 -04:00
Matt Corallo 3e60368a16 LGPL license (I'd like to be an axolotl/TS JS lib in the future) 2014-05-04 02:34:13 -04:00
Matt Corallo 0f8643bcd8 Regenerate bins for fixed ephemeral bit 2014-05-04 02:21:31 -04:00
Matt Corallo 01c4f3dd56 Fix ALL the things! 2014-05-04 02:21:31 -04:00
Matt Corallo d213cb0598 I like stack traces, also, fix identity key bit fiddle crap 2014-05-04 02:21:31 -04:00
Matt Corallo 705f8ce818 generic-ize 2014-05-04 02:21:31 -04:00
Matt Corallo 87c19c0c94 Another step forward 2014-05-04 02:21:31 -04:00
Matt Corallo d9e7e59c3a Merge pull request #9 from Ventero/password
Password is always "[object ArrayBuffer"
2014-04-20 22:16:14 +00:00
Ventero 3d7db4dbc3 Correctly extract string data for password.
btoa expects a string argument, so when passing it the ArrayBuffer
object returned by getRandomBytes(), it's converted to a string by
calling .toString() on it. This always results in "[object ArrayBuffer]",
effectively resulting in a completely non-random password.
2014-04-17 15:56:50 +02:00
Matt Corallo cf79b41cc4 Merge pull request #8 from liliakai/master
Fix click handler
2014-04-09 02:07:28 -04:00
lilia 68027dadd4 Fix click handler
var i was being bound in the closure of this click handler, then
incremented by the for loop, such that its value was 1 by the time the
handler was called, so we were grabbing the message body from, e.g.
$("#input1") when we wanted $("#input0").
2014-04-08 23:03:34 -07:00
Matt Corallo d56c3e1051 Add bit for !identityKey and commit wip test-cases 2014-04-07 13:11:01 -04:00
Matt Corallo 244aa8df92 Fix NaCL priv calc code 2014-04-07 13:11:01 -04:00
Matt Corallo 2630d9ef3f Merge pull request #7 from liliakai/master
+ui, -bug
2014-04-06 23:37:52 +02:00
lilia 984a76eeb1 Fix crashing send button
destinations is dead. all hail group.members.
2014-04-06 14:26:38 -07:00
lilia 49cdf04065 Work on message styling
Replicates some styles from the android app.
2014-04-06 14:26:09 -07:00
Matt Corallo e492aae172 Fix popup refreshing on send 2014-04-04 05:50:46 -04:00
Matt Corallo 732f9ac089 ping server to keep connection open 2014-04-04 04:47:04 -04:00
Matt Corallo afd9924a5d Merge pull request #6 from liliakai/master
Make popup a little nicer to look at
2014-04-04 07:14:52 +02:00
lilia a67ab3a46f Make popup a little nicer to look at
Also add a little auto-suggestion contacts list. For now it just
contains your own number.
2014-04-02 23:11:34 -07:00
Matt Corallo 2ae5628122 Send-to-self works =D 2014-03-26 15:05:09 -04:00
Matt Corallo 136a8941c1 Things:
* key API changes moxie made because he disliked the other API
 * remove atmosphere
 * Fix some bugs in the send path, update for new send API
 * Send HTML
2014-03-25 15:27:19 -04:00
Matt Corallo 000a5e1440 Fix up a few things so registration works 2014-03-23 13:19:53 -04:00
Matt Corallo 832daf54db tabstabstabstabstabs 2014-03-22 18:45:01 -04:00
Matt Corallo 8a2b35b48d Merge pull request #4 from liliakai/refactor
Refactor server API calls into a module
2014-03-22 14:58:11 -07:00
lilia be52e4c3a4 Fix infinite recursion in ensureStringed(Array)
To ensureStringed(thing), you must first ensureStringed(thing)...
This was causing an infintel loop in multidevice mode.
2014-03-20 00:57:29 -07:00
lilia fe1b5435aa Add FakeWhisperAPI for serverless development
When included after api.js, fake_api.js inits a FakeWhisperAPI.

FakeWhisperAPI inherits the methods of API, overrides a few, and
then usurps its place as the one true API.

Single device mode successfully "registers" against FakeAPI. Sadly,
multidevice mode has a recursive loop somewhere that makes the callstack
asplode.
2014-03-20 00:57:29 -07:00
lilia 6934ba0b92 Refactor Server API functions
The details of the server API are now mostly relegated to api.js, and
accessed through the API container object, improving modularity and
readability, and setting us up to derive a FakeAPI for serverless
development.
2014-03-15 19:57:40 -07:00