When Auxin was last under active development, the required libraries for implementing Signal's groups via the zkgroup crate were in separate repos. They have since been condensed into the libsignal repo. This caused Auxin to cease building properly.
This PR updates those repos and eliminates the curve25519-dalek collision created by importing both libsignal-protocol and zkgroup with a [patch] to the workspace file so that Auxin can once again function.
The zkgroup and libsignal libraries also changed their API causing key state management functions to cease functioning properly. Fortunately Signal provided method in their API which encapsulate the functionality Auxin was implementing itself. The keystate management functions in Auxin has been updated to use this new API
This PR serves as a minor patch to restore Auxin to working state. A larger refactor should be considered soon.
Changelog
Reorganize dependencies alphabetically
Update dependencies to point towards correct location of libsignal-protocol
Eliminate curve25519-dalek collision
Beginning of minor code updates to restore Auxin to working state
Used updated keystate API from libsignal libraries, removed Auxin functions duplicating their functionality (which relied on parts of the zkgroup api which have been made private and thus no longer accessible)
Future Work
Refactor Auxin to eliminate bug sources and to use updated APIs published by signal
Motivation
When Auxin was last under active development, the required libraries for implementing Signal's groups via the
zkgroup
crate were in separate repos. They have since been condensed into the libsignal repo. This caused Auxin to cease building properly.This PR updates those repos and eliminates the
curve25519-dalek
collision created by importing bothlibsignal-protocol
andzkgroup
with a[patch]
to the workspace file so that Auxin can once again function.The zkgroup and libsignal libraries also changed their API causing key state management functions to cease functioning properly. Fortunately Signal provided method in their API which encapsulate the functionality Auxin was implementing itself. The keystate management functions in Auxin has been updated to use this new API
This PR serves as a minor patch to restore Auxin to working state. A larger refactor should be considered soon.
Changelog
libsignal-protocol
Future Work