├── .clippy.toml ├── .github └── workflows │ └── rust.yml ├── .gitignore ├── .rustfmt.license-template ├── .rustfmt.toml ├── Cargo.toml ├── LICENSE ├── README.md ├── benches └── session.rs ├── src ├── address.rs ├── consts.rs ├── crypto.rs ├── curve.rs ├── curve │ └── curve25519.rs ├── error.rs ├── fingerprint.rs ├── group_cipher.rs ├── identity_key.rs ├── kdf.rs ├── lib.rs ├── proto.rs ├── proto │ ├── fingerprint.proto │ ├── fingerprint.rs │ ├── storage.proto │ ├── storage.rs │ ├── wire.proto │ └── wire.rs ├── protocol.rs ├── ratchet.rs ├── ratchet │ ├── keys.rs │ └── params.rs ├── sender_keys.rs ├── session.rs ├── session_cipher.rs ├── state.rs ├── state │ ├── bundle.rs │ ├── prekey.rs │ ├── session.rs │ └── signed_prekey.rs ├── storage.rs ├── storage │ ├── inmem.rs │ └── traits.rs └── utils.rs └── tests ├── groups.rs ├── ratchet.rs ├── session.rs └── support └── mod.rs /.clippy.toml: -------------------------------------------------------------------------------- 1 | too-many-arguments-threshold = 8 2 | -------------------------------------------------------------------------------- /.github/workflows/rust.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/.github/workflows/rust.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/.gitignore -------------------------------------------------------------------------------- /.rustfmt.license-template: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/.rustfmt.license-template -------------------------------------------------------------------------------- /.rustfmt.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/.rustfmt.toml -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/README.md -------------------------------------------------------------------------------- /benches/session.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/benches/session.rs -------------------------------------------------------------------------------- /src/address.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/address.rs -------------------------------------------------------------------------------- /src/consts.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/consts.rs -------------------------------------------------------------------------------- /src/crypto.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/crypto.rs -------------------------------------------------------------------------------- /src/curve.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/curve.rs -------------------------------------------------------------------------------- /src/curve/curve25519.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/curve/curve25519.rs -------------------------------------------------------------------------------- /src/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/error.rs -------------------------------------------------------------------------------- /src/fingerprint.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/fingerprint.rs -------------------------------------------------------------------------------- /src/group_cipher.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/group_cipher.rs -------------------------------------------------------------------------------- /src/identity_key.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/identity_key.rs -------------------------------------------------------------------------------- /src/kdf.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/kdf.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/proto.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/proto.rs -------------------------------------------------------------------------------- /src/proto/fingerprint.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/proto/fingerprint.proto -------------------------------------------------------------------------------- /src/proto/fingerprint.rs: -------------------------------------------------------------------------------- 1 | include!(concat!(env!("OUT_DIR"), "/signal.proto.fingerprint.rs")); 2 | -------------------------------------------------------------------------------- /src/proto/storage.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/proto/storage.proto -------------------------------------------------------------------------------- /src/proto/storage.rs: -------------------------------------------------------------------------------- 1 | include!(concat!(env!("OUT_DIR"), "/signal.proto.storage.rs")); 2 | -------------------------------------------------------------------------------- /src/proto/wire.proto: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/proto/wire.proto -------------------------------------------------------------------------------- /src/proto/wire.rs: -------------------------------------------------------------------------------- 1 | include!(concat!(env!("OUT_DIR"), "/signal.proto.wire.rs")); 2 | -------------------------------------------------------------------------------- /src/protocol.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/protocol.rs -------------------------------------------------------------------------------- /src/ratchet.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/ratchet.rs -------------------------------------------------------------------------------- /src/ratchet/keys.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/ratchet/keys.rs -------------------------------------------------------------------------------- /src/ratchet/params.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/ratchet/params.rs -------------------------------------------------------------------------------- /src/sender_keys.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/sender_keys.rs -------------------------------------------------------------------------------- /src/session.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/session.rs -------------------------------------------------------------------------------- /src/session_cipher.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/session_cipher.rs -------------------------------------------------------------------------------- /src/state.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/state.rs -------------------------------------------------------------------------------- /src/state/bundle.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/state/bundle.rs -------------------------------------------------------------------------------- /src/state/prekey.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/state/prekey.rs -------------------------------------------------------------------------------- /src/state/session.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/state/session.rs -------------------------------------------------------------------------------- /src/state/signed_prekey.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/state/signed_prekey.rs -------------------------------------------------------------------------------- /src/storage.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/storage.rs -------------------------------------------------------------------------------- /src/storage/inmem.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/storage/inmem.rs -------------------------------------------------------------------------------- /src/storage/traits.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/storage/traits.rs -------------------------------------------------------------------------------- /src/utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/src/utils.rs -------------------------------------------------------------------------------- /tests/groups.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/tests/groups.rs -------------------------------------------------------------------------------- /tests/ratchet.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/tests/ratchet.rs -------------------------------------------------------------------------------- /tests/session.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/tests/session.rs -------------------------------------------------------------------------------- /tests/support/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/signalapp/libsignal-protocol-rust/HEAD/tests/support/mod.rs --------------------------------------------------------------------------------