gkdr / axc Goto Github PK
View Code? Open in Web Editor NEWClient lib for libsignal-protocol-c. Implements the necessary interfaces using gcrypt and SQLite.
License: GNU General Public License v3.0
Client lib for libsignal-protocol-c. Implements the necessary interfaces using gcrypt and SQLite.
License: GNU General Public License v3.0
Hi @gkdr,
today I got a new build system related bug report against 0.3.7 at https://bugs.gentoo.org/875104. It would be great if I could package CMake-based 0.3.8 in Gentoo so that I no longer have to fix issues resulting from the hand-written makefile of <=0.3.7. Thank you!
Best, Sebastian
currently doesn't compile with updated libsignal because as far as i can tell there has been a small change to the interface: last resort pre-keys don't exist anymore.
the way the code is now, it is possible to set the log function on the signal context only after it was created, which seems to be too late
I don't see implementation for:
int axc_handshake_initiate(axc_address * recipient_addr_p, axc_context * ctx_p, axc_handshake ** handshake_init_pp);
int axc_handshake_accept(axc_buf * msg_data_p, axc_address * sender_addr_p, axc_context * ctx_p, axc_handshake ** handshake_response_pp);
int axc_handshake_acknowledge(axc_buf * msg_data_p, axc_handshake * handshake_p, axc_context * ctx_p);
where i can find this implementation ? or some examples of this logic ?
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
This is a follow-up to #16.
I just learned that aee726a is incomplete: There is one more call to non-API function session_builder_free
at
Line 1051 in 27e0544
libsignal-protocol-c
.Best, Sebastian
Forgot to update the tests to libsignal as well.
Hi!
I noticed that the bundled libsignal-protocol-c is at version 2.3.2 while upstream is at release 2.3.3 by now. Are there plans to upgrade?
Best, Sebastian
opening it for every action is SLOW
Hi @gkdr ,
as I learned today GCC 11 puts the *.g*
coverage files into the test/
folder and hence the two mv *.g* $(TDIR)
calls in the Makefile
fail, as there is nothing to move. A fix supporting both GCC 9 and 11 could be prefixing them with -
(dash or "minus") so that make ignores a non-zero return code. What do you think?
Best, Sebastian
It seems message_client.c is referencing old functions that are still on the .h files
axc_handshake_accept
axc_handshake_acknowledge
Are this suppose to be implemented are they needed?
Since I discovered it does not need to be patched, the actual libsignal can be used with some changes to the makefile.
This will cause some refactoring because of the renaming, also the SHA512 interface will need to be implemented.
I should probably add it as a submodule, too.
Might fix some INVALID_KEY errors people get, but since that works eventually I'm not quite sure what the deal is.
src/axc.c:34:16: warning: struct has no members [-Wpedantic]
34 | typedef struct axc_mutexes {
| ^~~~~~~~~~~
src/axc.c: In function ‘axc_pre_key_message_process’:
src/axc.c:1074:12: warning: unused variable ‘pre_key_id’ [-Wunused-variable]
1074 | uint32_t pre_key_id = 0;
| ^~~~~~~~~~
I was not able to make
the project.
cc -fPIC -I./lib/libsignal-protocol-c/src -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -std=c11 -g -Wall -Wextra -Wpedantic -Wstrict-overflow -fno-strict-aliasing -funsigned-char -fno-builtin-memset -D_XOPEN_SOURCE=700 -D_BSD_SOURCE -D_POSIX_SOURCE -D_GNU_SOURCE -D_DEFAULT_SOURCE -c src/axc.c -o build/axc.o
src/axc.c:13:29: fatal error: signal_protocol.h: No such file or directory
compilation terminated.
Makefile:59: recipe for target 'build/axc.o' failed
make: *** [build/axc.o] Error 1
I see that libsignal-protocal is referenced as submodule, my project has it as dependency and it is built separated.
Is there anyway to just build your files without need to reference the libsignal-protocol in your Makefile?
Could you provide a simple step by step if possible?
Thx
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.