0
0
mirror of https://github.com/signalapp/libsignal.git synced 2024-09-20 20:03:07 +02:00
Commit Graph

87 Commits

Author SHA1 Message Date
Ehren Kret
5b1d4fb0a3 Bump version to 0.9.4 2021-09-13 16:52:24 -05:00
Ehren Kret
53ecd6e589 Bump version to 0.9.3 2021-09-13 15:21:13 -05:00
Ehren Kret
a3578fa6d4 Bump version to 0.9.2 2021-09-10 10:24:54 -05:00
Ehren Kret
35eccb94d1 Bump version to 0.9.1 2021-09-09 13:07:09 -05:00
Ehren Kret
3ed0ff84a3 Increase local JNI frame to 8192 for all JNI calls
This is overkill for most calls but multi-recipient messages require
potentially a lot of objects. The codegen is in the way of making a
surgical change at the moment so hitting it with a broad fix for
now. May return to add a conditional to the macro definition later.
2021-09-09 12:25:37 -05:00
Alan Evans
aaa24f6efa
Handle repeated (public_key, chain_id) pairs 2021-09-03 14:03:25 -03:00
Jordan Rose
6026b8474e Bump version to 0.9.0 2021-08-31 14:50:01 -07:00
Jordan Rose
72ba4e6959 Bump version to 0.8.4 2021-08-18 12:13:11 -07:00
Jordan Rose
ca37067f5a Update to Neon 0.9.0
- Drop our fork of Neon now that our changes have been integrated
- Adopt rename of EventQueue to Channel
- Add a napi-6 feature to signal-neon-futures to make it easier to test
  under the configuration we're actually shipping
2021-07-26 12:37:42 -07:00
Ruben De Smet
b25196c256
Upgrade prost to 0.8 2021-07-09 18:54:37 +02:00
Jordan Rose
6021535fb5 Bump version to 0.8.3 2021-07-06 12:57:12 -07:00
Jordan Rose
e7a0f4d424 Replace block_on and expect_ready with FutureExt::now_or_never
Both futures::executor::block_on and our own expect_ready were being
used to resolve futures that were, in practice, known to be
non-blocking. FutureExt::now_or_never handles that case more lightly
than block_on and more uniformly than expect_ready.

This lets us drop the dependency on the full 'futures' crate down to
just futures_util, which should help with compile time.
2021-07-06 10:30:42 -07:00
Jordan Rose
4519eb4803 FFI: Depend on cpufeatures 0.1.5 to ensure iOS gets optimized crypto 2021-07-01 13:48:05 -07:00
Jordan Rose
4394d742ef crypto: Remove unused dependencies 2021-07-01 13:48:05 -07:00
Jordan Rose
6a73e5051b crypto: Use RustCrypto's GHash as well 2021-07-01 13:48:05 -07:00
Jordan Rose
92a40ce1c3 crypto: Use RustCrypto's AES and AES-CTR implementations
The signal-crypto struct Aes256Ctr32 is still useful because we use a
different nonce size than RustCrypto's "full block", and we provide a
convenience constructor to specify an initial counter value.
2021-07-01 13:48:04 -07:00
Jordan Rose
d72047a245 Bridge: expose RustCrypto's AES-GCM-SIV instead of our own
Same as before, but for the wrapper exposed to the app languages.
2021-07-01 13:46:20 -07:00
Jordan Rose
59974cf627 Update aes and block_modes crates to match aes-gcm-siv's dependencies
Also turn on the AES crate's use of ARMv8 intrinsics
2021-07-01 13:46:20 -07:00
Jordan Rose
1a05d5cb0d protocol: Use RustCrypto's AES-GCM-SIV instead of our own
Now that RustCrypto aes-gcm-siv supports runtime-detected ARMv8 and
x86_64 crypto intrinsics, we don't need our own implementation, which
will be removed from signal-crypto in a later commit.
2021-07-01 13:46:20 -07:00
Jordan Rose
348df2a268 Bump version to v0.8.2 2021-06-28 12:52:57 -07:00
Jordan Rose
b715e02aa9 Bump to version 0.8.1 2021-06-02 11:14:12 -07:00
Jordan Rose
83b0218cb1 Update to (our fork of) Neon 0.8.3
Fixes a memory leak.
2021-06-02 10:52:05 -07:00
Jordan Rose
a095f6a1fc Bump version to 0.8.0 2021-05-27 14:32:06 -07:00
Jordan Rose
0f2ae6ee53 Bump version to 0.7.0 2021-05-26 16:32:06 -07:00
Jordan Rose
a41233936f Bump version to 0.6.0 2021-05-21 15:04:27 -07:00
Jordan Rose
9748c25f40 Node: Switch to our fork of Neon with faster EventQueue operations 2021-05-19 17:49:04 -07:00
Siva Mahadevan
a97b1bd0ad rust/crypto: bump libc to support getauxval on musl 2021-05-02 13:29:41 -04:00
Jordan Rose
b5f6d50b53 Bump version to 0.5.1 2021-04-28 17:05:25 -07:00
Jordan Rose
113e849d76 Bump version to 0.5.0 2021-04-21 19:07:56 -07:00
Jordan Rose
7d62e674b5 Bump version to v0.4.0 across all languages 2021-04-05 13:13:09 -07:00
Jordan Rose
871209e4db Use uuid crate instead of our own Uuid type
This lets us parse UUIDs as well (needed in next commit)
2021-04-05 11:46:52 -07:00
Jordan Rose
d339d5a072 Expose Sealed Sender v2 to clients
- Add a new "multi-recipient encrypt" entry point
- Add an "encrypt v1 sealed sender from UnidentifiedSenderMessage-
  Content" entry point
- Add a public constructor for UnidentifiedSenderMessageContent
- Change group_encrypt to return a CiphertextMessage instead of bytes,
  so it can be used with the above
- Java: add SenderKeyStore to SignalProtocolStore requirements
2021-04-05 11:31:27 -07:00
Jordan Rose
29b7be5429 Add multi-recipient sealed sender support
Also known as "sealed sender v2".
2021-04-05 11:31:27 -07:00
Jordan Rose
df3e01f909 Node: update to Neon 0.8.0
And remove the FinalizableOption workaround.
2021-03-23 11:39:04 -07:00
Jack Lloyd
ad495ccab9 Move AES-GCM-SIV implementation into rust/crypto 2021-03-15 13:33:33 -04:00
Jack Lloyd
f8648c21cd Add hashes and HMAC for Java 2021-03-15 13:30:39 -04:00
Jordan Rose
56afeb885c By default, skip Rust tests that take over 10s in debug builds
We'll still run them in CI, but we don't need to run them locally.
2021-03-10 09:54:49 -08:00
Jack Lloyd
7bd9c5f987 Switch to using picky crate for forming PKCS8 and X.509 data 2021-03-08 16:46:19 -05:00
Jack Lloyd
1944d16dec Device Sender Utilities - Generate Key + Self-Signed Certificate 2021-03-08 16:46:19 -05:00
Jack Lloyd
5f5687ed74 Update libsignal-node version in Cargo.lock 2021-03-08 16:44:37 -05:00
Jack Lloyd
a005082984 Bump Cargo.lock 2021-03-03 17:28:26 -05:00
Jordan Rose
5ac206dbb0 Log panics in all three bridges 2021-03-03 09:58:01 -08:00
Jack Lloyd
9c28adb0b7 Update Cargo.lock 2021-02-25 12:24:28 -05:00
Jordan Rose
a983a564ac CocoaPods: Tag 0.3.1 after curve25519-dalek branch update
The mistakes with the curve25519-dalek update means that 0.3.0 no
longer builds correctly. Use 0.3.1 instead.

Changes from 0.1.2 (the version before 0.3.0):
- Reject SenderCertificates without UUIDs
- Fix IdentityKeyPair.init(bytes:)
- Add logging to match SignalProtocolKit
- Update Cargo dependencies to newer versions
2021-02-24 16:34:50 -08:00
Jack Lloyd
147b4738c3 Use a new branch for the 3.0.0 fork of curve25519-dalek
As reusing the old branch breaks building zkgroup
2021-02-24 15:10:45 -05:00
Jack Lloyd
b2bdf6e052 Update dependencies
This is `cargo update` along with manually upgrading jni to 0.19 and prost to 0.7

This isn't a complete cargo update as it avoids updating polyval as there is
a duplicate dependency issue there in cpuid-bool between the newest version of
polyval crate and the current latest version of the sha2 crate.

The bytes dependency in protocol that was causing duplicate dependencies was a
red herring - actually bytes was not used with the protocol crate!

Supplants #164 update prost
Fixes #221 update jni
2021-02-24 11:13:47 -05:00
Jordan Rose
67f01e851f CocoaPod: tag v0.3.0
This skips the v0.2 series to bring it in line with the Java bridge.
2021-02-23 12:16:15 -08:00
Jordan Rose
c86ce1d8d2 Bridge: break up bridge_fn implementation by FFI/JNI/Node
Also, revert back to the simpler unzip3 crate instead of unzip-n.
2021-02-22 18:37:13 -08:00
Jordan Rose
25c7b19891 Port SenderKeyStore to async bridge_fn 2021-02-19 14:55:26 -08:00
Jordan Rose
7b48b7d673 Bridge: initial support for async bridge_fns
For FFI and JNI, these use expect_ready to force the function to
completion, since all FFI and JNI callbacks are (currently)
synchronous. For Node, this uses the newly-landed signal-neon-futures
support crate to return a JavaScript Promise. A new AsyncArgTypeInfo
trait is added for Node types as well.
2021-02-19 14:50:34 -08:00