signalapp / libsignal

Home to the Signal Protocol as well as other cryptographic primitives which make Signal possible.
GNU Affero General Public License v3.0
3.42k stars 398 forks source link

bridge: Add zkgroup APIs #403

Closed jrose-signal closed 2 years ago

jrose-signal commented 2 years ago

These APIs are designed to match the generated "simpleapi" entry points in the original zkgroup repository, to make it easier to adapt the existing Java, Swift, and TypeScript code to libsignal-client.

The cbindgen-generated signal_ffi.h now includes constants, so that the fixed-size arrays used to serialize zkgroup types can use named constants in Rust. This meant filtering out some constants that were getting picked up but that should not be included.

Note that this commit makes references to Java exception types that will be added in a later commit.