signalapp / libsignal-protocol-c

GNU General Public License v3.0
1.41k stars 295 forks source link

Make internal function `session_builder_process_pre_key_signal_message` public? #139

Closed hartwork closed 4 years ago

hartwork commented 4 years ago

Hi!

In the context of packaging https://github.com/gkdr/lurch for a Linux distribution I noticed that https://github.com/gkdr/axc/ bundles a copy of libsignal-protocol-c that I cannot unbundle because they call an internal function session_builder_process_pre_key_signal_message for some reason — valid or not.

In the interest of having end-users use a single recent and secure copy of libsignal-protocol-c code, I would appreciate your help with

so that unbundling becomes possible.

Many thanks in advance,

Sebastian

Related?: #123

dkonigsberg commented 4 years ago

The "axc" project appears to completely reimplement the public session_cipher_decrypt_pre_key_signal_message() function, which is why they felt the need to call that private function. They shouldn't need to do this, and I'm not sure why they did. Regardless, the library will not be changing to support this behavior.

There have been integrations of this library on a wide variety of platforms, using a wide variety of DB and crypto implementations, and none have needed to poke deeper into the library code than its public interfaces.