mautrix-signal/pkg/libsignalgo
Tulir Asokan 29d55ebbde signalmeow: add support for ssre2
Corresponds to a338bc5a67
2024-11-18 15:19:18 +02:00
..
libsignal@90ba453840 libsignal: update to v0.62.0 2024-11-15 12:54:43 +02:00
resources copy over everything from libsignalgo 2023-03-22 10:32:13 -06:00
README.md Update readme and other things 2023-12-18 02:05:18 +02:00
accountentropy.go signalmeow: add support for ssre2 2024-11-18 15:19:18 +02:00
address.go Drop their_device_id column in signalmeow_identity_keys table 2024-03-21 16:24:03 +02:00
address_test.go Drop their_device_id column in signalmeow_identity_keys table 2024-03-21 16:24:03 +02:00
aes256gcmsiv.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
aes256gcmsiv_test.go Add copyright headers 2023-12-17 15:54:35 +02:00
authcredential.go Update to libsignal 0.49.0 2024-06-03 16:57:45 +03:00
buffer.go Update to libsignal 0.37.0 2024-01-04 19:52:09 +02:00
ciphertextmessage.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
conversions.go Add -lm to ldflags 2024-01-03 00:16:19 +02:00
decryptionerrormessage.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
devicetransfer.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
devicetransfer_test.go Add copyright headers 2023-12-17 15:54:35 +02:00
error.go Use contexts in signal stores properly 2024-01-04 01:06:45 +02:00
fingerprint.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
fingerprint_test.go Add copyright headers 2023-12-17 15:54:35 +02:00
groupcipher.go Use contexts in signal stores properly 2024-01-04 01:06:45 +02:00
groupcipher_test.go Drop their_device_id column in signalmeow_identity_keys table 2024-03-21 16:24:03 +02:00
groupsecretparams.go Update to libsignal 0.49.0 2024-06-03 16:57:45 +03:00
hsmenclave.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
hsmenclave_test.go Add copyright headers 2023-12-17 15:54:35 +02:00
identitykey.go Include E164 and identity key in PNI sync messages 2024-03-26 17:59:59 +02:00
identitykey_test.go Add copyright headers 2023-12-17 15:54:35 +02:00
identitykeystore.go Drop their_device_id column in signalmeow_identity_keys table 2024-03-21 16:24:03 +02:00
inmemorystore_test.go Drop their_device_id column in signalmeow_identity_keys table 2024-03-21 16:24:03 +02:00
kdf.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
kdf_test.go Add copyright headers 2023-12-17 15:54:35 +02:00
kyberprekey.go Refactor prekey and session tables to add own service ID 2024-03-19 19:26:51 +02:00
kyberprekeystore.go Use contexts in signal stores properly 2024-01-04 01:06:45 +02:00
libsignal-ffi.h libsignal: update to v0.62.0 2024-11-15 12:54:43 +02:00
logging.go libsignal: update to v0.62.0 2024-11-15 12:54:43 +02:00
message.go Use contexts in signal stores properly 2024-01-04 01:06:45 +02:00
nocopy.go Don't allow copying structs with finalizers 2024-01-03 00:16:19 +02:00
plaintextcontent.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
prekey.go Refactor prekey and session tables to add own service ID 2024-03-19 19:26:51 +02:00
prekeybundle.go Use contexts in signal stores properly 2024-01-04 01:06:45 +02:00
prekeymessage.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
prekeystore.go Use contexts in signal stores properly 2024-01-04 01:06:45 +02:00
privatekey.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
privatekey_test.go Add copyright headers 2023-12-17 15:54:35 +02:00
profilekey.go Update to libsignal 0.49.0 2024-06-03 16:57:45 +03:00
protocol.go Use contexts in signal stores properly 2024-01-04 01:06:45 +02:00
publickey.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
sealedsender.go signalmeow/sending: set urgent flag and content hint properly 2024-09-24 17:22:43 +03:00
sendercertificate.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
sendercertificate_test.go Small consistency fixes 2023-12-22 14:56:31 +02:00
senderkeydistributionmessage.go Use contexts in signal stores properly 2024-01-04 01:06:45 +02:00
senderkeyrecord.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
senderkeystore.go Use contexts in signal stores properly 2024-01-04 01:06:45 +02:00
serializedeserializeroundtrip_test.go Add copyright headers 2023-12-17 15:54:35 +02:00
servercertificate.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
serverpublicparams.go Update to libsignal 0.49.0 2024-06-03 16:57:45 +03:00
serviceid.go signalmeow/receiving: handle sync messages sent to PNIs properly 2024-07-14 19:19:02 +03:00
serviceid_clang.go add iOS to serviceid 2024-09-04 22:52:12 +08:00
serviceid_gcc.go add iOS to serviceid 2024-09-04 22:52:12 +08:00
session_test.go signalmeow/sending: set urgent flag and content hint properly 2024-09-24 17:22:43 +03:00
sessionrecord.go Sprinkle runtime.KeepAlive everywhere 2024-01-03 20:31:27 +02:00
sessionstore.go Use contexts in signal stores properly 2024-01-04 01:06:45 +02:00
setup_test.go libsignal: update to v0.62.0 2024-11-15 12:54:43 +02:00
sgxclient.go Add CDSI client 2024-01-13 16:26:29 +02:00
signedprekey.go Refactor prekey and session tables to add own service ID 2024-03-19 19:26:51 +02:00
signedprekeystore.go Use contexts in signal stores properly 2024-01-04 01:06:45 +02:00
storeutil.go Revert "Use fake pointers for store contexts" 2024-01-04 02:11:26 +02:00
update-ffi.sh Save libsignal version in go file 2024-01-14 13:20:04 +02:00
version.go libsignal: update to v0.62.0 2024-11-15 12:54:43 +02:00

README.md

libsignalgo

Go bindings for libsignal.

Installation

  1. Install Rust. You may also need to install libclang-dev and cbindgen manually.
  2. Clone libsignal somewhere.
  3. Run ./update-ffi.sh <path to libsignal> (this builds the library, regenerates the header, and copies them both here)
  4. Copy libsignal_ffi.a to /usr/lib/.
    • Alternatively, set LIBRARY_PATH to the directory containing libsignal_ffi.a. Something like this: LIBRARY_PATH="$LIBRARY_PATH:./pkg/libsignalgo" ./build.sh
  5. Use like a normal Go library.

Precompiled

You can find precompiled libsignal_ffi.a's on mau.dev/tulir/gomuks-build-docker. Direct links: