gkdr/axc

Please resolve use of non-API function session_builder_process_pre_key_signal_message

hartwork opened this issue ยท 4 comments

Hi!

In the context of packaging https://github.com/gkdr/lurch for a Linux distribution I noticed that axc bundles a copy of libsignal-protocol-c that I cannot unbundle because it calls an internal non-API function session_builder_process_pre_key_signal_message.

In the interest of having end-users use a single recent and secure copy of libsignal-protocol-c code, it would rock if axc could stop calling session_builder_process_pre_key_signal_message. Upstream of libsignal-protocol-c stated that calling that function should not be necessary . Is it?

Many thanks in advance,

Sebastian

gkdr commented

Thanks for pointing it out. I honestly cannot remember why I did it that way. The word "internal" in the header should have been a pointer, but maybe it was not as obviously named when it was still libaxolotl and I took a wrong turn.
In any case, according to the devs I should be able to resolve this by using the intended public API. I will look into it.

Sounds great โ€” thanks in advance! ๐Ÿ™

gkdr commented

I think I figured out what I was thinking. The session_builder is publicly used for creating a session from a bundle, but not from a prekey message, which the docs however also reference. Well, it doesn't matter, it seems it was just dead code (i.e. not changing any internal session state in the DB) and session establishment still works for both sides after I deleted it.

Maybe double-check everything still works but that should be it.

Thank you! I guess packaging would have an actual chance now at pulling axc into a dedicated package.