aboutsummaryrefslogtreecommitdiff
path: root/javascript
diff options
context:
space:
mode:
authorMark Haines <mark.haines@matrix.org>2015-07-08 11:16:00 +0100
committerMark Haines <mark.haines@matrix.org>2015-07-08 11:16:00 +0100
commit974e0984bd0d618093669780a75739d4b02fd3b2 (patch)
tree637841d1bb9cf3fc4e3f76af0253022afc29c4e6 /javascript
parent3a382aec59937b086c37f039f1b011f253e80e97 (diff)
Update the javascript bindings and demo to match the format of the identity key JSON
Diffstat (limited to 'javascript')
-rw-r--r--javascript/demo.html10
-rw-r--r--javascript/olm_post.js21
2 files changed, 26 insertions, 5 deletions
diff --git a/javascript/demo.html b/javascript/demo.html
index cace119..5a32e96 100644
--- a/javascript/demo.html
+++ b/javascript/demo.html
@@ -29,10 +29,16 @@ document.addEventListener("DOMContentLoaded", function (event) {
tasks.push(["alice", "Creating account", function() { alice.create() }]);
tasks.push(["bob", "Creating account", function() { bob.create() }]);
tasks.push(["alice", "Create outbound session", function() {
- var bobs_keys_1 = JSON.parse(bob.identity_keys())[0];
+ var bobs_id_keys = JSON.parse(bob.identity_keys("bob", "bob_device", 0, 0));
+ var bobs_curve25519_key;
+ for (key in bobs_id_keys.keys) {
+ if (key.startsWith("curve25519:")) {
+ bobs_curve25519_key = bobs_id_keys.keys[key];
+ }
+ }
var bobs_keys_2 = JSON.parse(bob.one_time_keys())[1];
a_session.create_outbound(
- alice, bobs_keys_1[1], bobs_keys_2[0], bobs_keys_2[1]
+ alice, bobs_curve25519_key, bobs_keys_2[0], bobs_keys_2[1]
);
}]);
tasks.push(["alice", "Encrypt first message", function() {
diff --git a/javascript/olm_post.js b/javascript/olm_post.js
index 6ebd198..0494460 100644
--- a/javascript/olm_post.js
+++ b/javascript/olm_post.js
@@ -63,13 +63,28 @@ Account.prototype['create'] = restore_stack(function() {
);
});
-Account.prototype['identity_keys'] = restore_stack(function() {
+Account.prototype['identity_keys'] = restore_stack(function(
+ user_id, device_id, valid_after, valid_until
+) {
+ var user_id_array = array_from_string(user_id);
+ var device_id_array = array_from_string(device_id);
var keys_length = account_method(
Module['_olm_account_identity_keys_length']
- )(this.ptr);
+ )(
+ this.ptr, user_id_array.length, device_id_array.length,
+ valid_after, valid_after / Math.pow(2, 32),
+ valid_until, valid_until / Math.pow(2, 32)
+ );
+ var user_id_buffer = stack(user_id_array);
+ var device_id_buffer = stack(device_id_array);
var keys = stack(keys_length);
account_method(Module['_olm_account_identity_keys'])(
- this.ptr, keys, keys_length
+ this.ptr,
+ user_id_buffer, user_id_array.length,
+ device_id_buffer, device_id_array.length,
+ valid_after, valid_after / Math.pow(2, 32),
+ valid_until, valid_until / Math.pow(2, 32),
+ keys, keys_length
);
return Pointer_stringify(keys, keys_length);
});