Tulir Asokan
a3cb6c3791
Use uintptrs for store contexts
2024-01-04 02:21:46 +02:00
Tulir Asokan
717e58cbd0
Revert "Use fake pointers for store contexts"
...
This reverts commit be876bf333 .
2024-01-04 02:11:26 +02:00
Tulir Asokan
be876bf333
Use fake pointers for store contexts
2024-01-04 02:05:01 +02:00
Tulir Asokan
9722361288
Use contexts in signal stores properly
2024-01-04 01:06:45 +02:00
Tulir Asokan
0829e48069
Use uuid type everywhere in signalmeow
2024-01-03 23:14:54 +02:00
Tulir Asokan
4446688764
Sprinkle runtime.KeepAlive everywhere
2024-01-03 20:31:27 +02:00
Tulir Asokan
42075c88f5
Add runtime.KeepAlive to sealed sender encrypt
...
This is a quick hack since that part crashes often, the proper solution
is probably refactoring everything to free memory manually using defers
rather than using finalizers and still having to use defer to keepalive
2024-01-03 19:53:12 +02:00
Tulir Asokan
c2a7b6aa01
Check sender certificate expiry
2024-01-03 12:48:31 +02:00
Tulir Asokan
dcb84458f4
Cancel finalizers for values returned to Rust code
2024-01-03 00:16:19 +02:00
Tulir Asokan
616f4f4a29
Don't allow copying structs with finalizers
2024-01-03 00:16:19 +02:00
Tulir Asokan
a0dadf733f
Add -lm to ldflags
2024-01-03 00:16:19 +02:00
Tulir Asokan
9efe31d789
Refactor Signal -> Matrix message handling
...
Also add support for edits
2024-01-02 19:04:45 +02:00
Tulir Asokan
4dc2cc37c3
Disable broken tests in libsignalgo
2023-12-30 21:00:11 +01:00
Sumner Evans
9152313cde
modules: un-modulify libsignalgo and signalmeow
...
I don't see any reason why they should have their own go.mod. I think
this is legacy from when I had them in separate repositories.
If we ever need to split those packages out into their own repo, we can
just:
1. Copy the directories to a new repo
2. Copy the go.mod/go.sum files
3. Run `go mod tidy` in this repo and the new repo.
This commit also removes the go.work and go.work.sum files.
Signed-off-by: Sumner Evans <me@sumnerevans.com>
2023-12-29 18:33:31 -07:00
Tulir Asokan
175fde6a94
Fix some tests broken by kyber prekeys
...
[skip cd]
2023-12-28 17:53:37 +01:00
Tulir Asokan
7186350d10
Small consistency fixes
2023-12-22 14:56:31 +02:00
Tulir Asokan
3a3c7299fe
Remove custom UUID type
2023-12-22 14:48:47 +02:00
Tulir Asokan
f79668dd4b
Update readme and other things
2023-12-18 02:05:18 +02:00
Tulir Asokan
60b9a4577b
Add build flags to fix macOS build
2023-12-17 16:13:39 +02:00
Tulir Asokan
49ce1f530c
Add copyright headers
2023-12-17 15:54:35 +02:00
Tulir Asokan
396071be12
Update dependencies
2023-12-17 15:16:18 +02:00
Scott Weber
3953789ef0
Support kyber prekeys and use them during provisioning
2023-12-13 22:15:41 +00:00
Scott Weber
55318033fd
Work around GCC bug to fix Linux build (breaks clang build on macOS though)
2023-12-11 04:11:20 +00:00
Scott Weber
9ea94243a9
Update bridge to use libsignal v0.36.1 and latest protobufs
...
- Update libsignal to v0.36.1 and run protobuf fetch and update
- Update libsignalgo to work with libsignal v0.36.1
2023-12-10 21:39:43 -05:00
Tulir Asokan
2ca4e2bbcd
Mention precompiled libsignals in readme
2023-09-30 15:31:27 +03:00
Tulir Asokan
60fc9aece9
Sync go mod and sum files
2023-09-30 14:51:04 +03:00
Scott Weber
9b18117029
Replace "master key" group identfiers with actual GroupIdentifier
...
Everywhere.
And save them in the DB so we can still look up master keys when needed
2023-09-14 16:33:40 -04:00
Scott Weber
7a35632eed
Fix test
2023-08-15 21:20:21 -04:00
Scott Weber
1157766d10
Add stub for kyber prekey store to fix tests
2023-07-31 21:25:45 -07:00
Scott Weber
f60b7dc431
Stub KyberPreKeyStore implementation to hopefully fix prekey decrypt null pointer error
2023-07-28 14:21:14 -04:00
Scott Weber
00195615da
Major logging cleanup and full move to zerolog
2023-07-27 18:13:33 -04:00
Scott Weber
d1a21462ce
Fix tests (note: tests are still failing due to prekey null thing)
2023-07-26 11:12:12 -04:00
Scott Weber
099a58a31b
Fixes: FFI problems, logging, profile fetch error caching
2023-07-26 10:03:28 -04:00
Scott Weber
e5db9a0be2
Docker build!
2023-07-21 14:06:41 -04:00
Scott Weber
b65d275495
Update update-ffi.sh and replace build.sh with Makefile
2023-07-21 11:17:23 -04:00
Scott Weber
a0fc08db7d
Added libsignal as a submodule
2023-07-21 10:45:59 -04:00
Scott Weber
105a081a1b
Make linting pass
2023-07-20 13:05:26 -04:00
Scott Weber
df8b0db093
Double puppet is working!
2023-07-19 14:54:16 -04:00
Scott Weber
196516a7a6
Send SealedSender via unauthed WS when possible
...
Seems to get around 428 problems and now group sends work!?
2023-07-19 01:01:28 -04:00
Scott Weber
9090da3643
Decrypt group data
2023-07-17 16:06:48 -04:00
Scott Weber
f20a67d6ff
Refactor out most packages, and successfully decrypt group title :O
2023-07-16 23:31:38 -04:00
Scott Weber
58e64d885d
Fetching group metadata from server!
...
Had to use storage.signal.org, and had to ignore a very misleading
AuthCredentialPresentation lengths in the FFI header, it was leading me
to improperly truncate the presentation before sending >:(
2023-07-16 17:33:28 -04:00
Scott Weber
0b9df4ffde
Successfully fetching and unmunging group auth credentials
2023-07-14 15:00:25 -04:00
Scott Weber
84e7ab7f85
Fix end of files (linter)
2023-07-10 11:45:45 -04:00
Scott Weber
2755008f4b
Decrypting group messages!!! (but going to the wrong portal)
2023-07-10 00:07:44 -04:00
Scott Weber
9f592956e0
Almost decrypting group message, but getting an error
...
"ciphertext version was too old <2>"
2023-07-09 09:39:45 -04:00
Scott Weber
68c4f2085d
Successfully create and send credential request, but it doesn't help get a profile
2023-06-29 17:12:47 -04:00
Scott Weber
f7b62677ba
Add a new unauthed websocket, and use it to fetch parts of a profile
...
but the server won't even send me the encrypted bits yet
2023-06-26 10:43:33 -04:00
Scott Weber
bd401ca051
Fetch a profile without any encrypted fields
2023-06-25 17:21:19 -04:00
Scott Weber
177cb62577
Lots of fixes
...
- Store profile keys
- Fix DB users
- Fix puppets
- Fix prekey bundles (Kyber)
2023-06-22 17:28:11 -04:00