Commit graph

54 commits

Author SHA1 Message Date
lilia
e07759a93c Fix CBC encryption, test 2014-10-25 20:45:21 -07:00
lilia
4675cdf3f2 Webcrypto won't go down without a fight
Turns out that assigning a new object to window.crypto.subtle
is not so easy. That's probably a good thing.
2014-10-23 21:30:36 -07:00
lilia
1023ea1732 Refactor textsecure.protos -> textsecure.protobuf
DRY up protobuf declarations and move to a slightly briefer naming
convention.

Also dropped some ArrayBuffer -> string conversions as
ProtoBuf.js handles ArrayBuffers just fine, and in fact, more
efficiently than strings.

Finally, dropped the btoa() wrappers, because that incurs an extra
string -> string conversion before the protobuf's internal string ->
array buffer conversion. In lieu of btoa, we can simply pass in the
optional string encoding argument to the protobuf's decode method,
which in these cases should be 'binary'.

Related: #17
2014-10-20 15:11:16 -07:00
Matt Corallo
3696214edc Add missing localStorage.clear() 2014-07-27 02:30:00 -04:00
Matt Corallo
28779e0b35 Fix tests by returning promises 2014-07-27 02:05:25 -04:00
Matt Corallo
d9f53d4c01 Fix not-allowed inline scripts error 2014-07-26 01:37:47 -04:00
lilia
2751d0e884 Such tests. Very mocha. Much chai. Amaze!!!
ERHMAGERRRD testing frameworks are so the best. Removed all our custom
code for ensuring test exclusivity and doneness and isolating callbacks
and everything. mocha does it all for us, and makes it pretty.

Also rather than return a long chain of promises that eventually resolve
to truthiness, we now use chai to make assertions about what is good and
right in the world.

Recommended reading:
  https://visionmedia.github.io/mocha
  http://chaijs.com/api/assert/
2014-07-25 18:01:19 -10:00
Matt Corallo
6455da5c9a Refactor a bunch of stuff re: session closing, add test cases 2014-07-25 19:55:49 -04:00
Matt Corallo
c427da04f0 Add closeSession tests as Alice and fix re-requesting prekeys 2014-07-24 20:15:27 -04:00
Matt Corallo
6f3ee151f3 Add a BOB test-case around session closure 2014-07-24 17:11:53 -04:00
Matt Corallo
85f33345ab Move test shuffling to js/testvectors.js 2014-07-23 20:29:45 -04:00
Matt Corallo
0088721343 Move AXOLOTL test vectors to js/testvectors.js 2014-07-23 18:22:16 -04:00
Matt Corallo
07f79cb4bf Fix tester 2014-07-23 03:59:22 -04:00
Matt Corallo
7013c5e031 First steps towards BOB test vectors 2014-07-23 03:57:50 -04:00
Matt Corallo
a76ae2f1f8 Add verification tags, make alice tests strict(ish) again 2014-07-23 02:49:47 -04:00
Matt Corallo
287b55120d First cut of ALICE test vectors 2014-07-23 01:49:13 -04:00
Matt Corallo
de83429962 v3 steps 2014-07-22 21:23:52 -04:00
Matt Corallo
53f8ac9ad9 Generate signed keys (breaks registration) 2014-07-22 21:23:35 -04:00
Matt Corallo
3190fe97f9 HMAC Update for Protov3 2014-07-22 21:23:35 -04:00
Matt Corallo
b5c6e3d101 JS ed25519 2014-07-20 16:49:40 -04:00
Matt Corallo
7d27df9868 Report testing done 2014-07-20 16:29:42 -04:00
Matt Corallo
d0fd3e94d8 sendMessage refactor, initial group stuff (breaks message storage) 2014-06-03 15:28:30 -04:00
Matt Corallo
c2d1d816f2 Save sessions in deviceObjects, test using fake_api, minor tweaks 2014-05-31 13:28:46 -04:00
Matt Corallo
2d12a33ead Fix decoding/protos/tests 2014-05-26 01:48:41 +02:00
Matt Corallo
9aae93fc99 textsecure.protos 2014-05-26 00:45:55 +02:00
Matt Corallo
d9bf0a41fb textsecure.storage, chromium.js 2014-05-20 22:21:07 -04:00
Matt Corallo
6bc19ef558 More namespacing 2014-05-17 01:53:58 -04:00
Matt Corallo
05101b69b0 Some initial helpers.js namespaceing 2014-05-17 00:54:12 -04:00
Matt Corallo
ea1bd535dc Fix interpretation of prekeymsg.registrationId 2014-05-14 23:26:46 -04:00
Matt Corallo
2f16b884a5 Fixup last commit 2014-05-14 18:26:07 -04:00
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
08093a206d Fix old chain deletion 2014-05-14 03:02:47 -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
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
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
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
01c4f3dd56 Fix ALL the things! 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
d56c3e1051 Add bit for !identityKey and commit wip test-cases 2014-04-07 13:11:01 -04:00
Matt Corallo
2ae5628122 Send-to-self works =D 2014-03-26 15:05:09 -04:00
Matt Corallo
fee6a69083 Optional curve25519 in js 2014-03-09 20:32:00 -04:00
Matt Corallo
85f419b923 Passing test-cases (fscking type conversions...) 2014-03-08 20:23:24 -05:00
Matt Corallo
e932536dfd Untested send-encrypted support 2014-03-08 19:15:36 -05:00
Matt Corallo
fe570c754a Genericify initSession (and break it for alice) 2014-03-08 19:08:40 -04:00
Matt Corallo
611d5329d3 Pass tests 2014-03-08 00:13:53 -04:00
Matt Corallo
6e0fe271ab Few more steps 2014-03-06 17:44:59 -04:00