gkdr / libomemo

Implements OMEMO in C.
MIT License
55 stars 16 forks source link

XEP-0384: OMEMO Encryption 0.4.0+ #25

Open Neustradamus opened 4 years ago

Neustradamus commented 4 years ago

Can you update the XEP-0384: OMEMO Encryption support to 0.4.0+?

And XEP-0454: OMEMO Media sharing:

Diff Tool:

PS: Not sure that 0.3.0 was complete before:

gkdr commented 3 years ago

as far as i know there is no client implementing this. am i wrong?

selurvedu commented 3 years ago

as far as i know there is no client implementing this

Yes

Neustradamus commented 3 years ago

Here: https://github.com/dino/dino/tree/feature/omemo1

gkdr commented 3 years ago

nice, that means the libsignal-protocol-c fork is functional as well?

Neustradamus commented 3 years ago

@gkdr: First, I can not confirm that current libomemo supports a perfect OMEMO 0.3.0, only you can confirm it.

About OMEMO 0.4.0+, I am not sure that the omemo1 branch of Dino is up-to-date. It is important to create a new libomemo branch for OMEMO 0.4.0+ or better, I think, a new repo, for example "libomemo-v2" or other...

@mar-v-in: Please talk with @gkdr.

Thanks in advance.

mar-v-in commented 3 years ago

libomemo-c should work, but afaik it was not thoroughly tested with for compatibility any other implementation yet. When operating based on libomemo-c, you can implement omemo 0.3.0 and 0.4.0+ at the same time so that your client remains fully backwards-compatible. This is what is implemented in omemo1 branch, but again, nothing of this was thoroughly tested and you'd be the first client to implement this in production.

gkdr commented 3 years ago

oh, nice, thanks for that! the changes look like i can probably plug it into my signal-protocol-client-code with little adaptations. i can also start implementing the pure xml stuff here, but will think about how to include the forked signal protocol since it's now part of the omemo spec.

hades commented 11 months ago

Is this fixed now (after 6f153c086b1b5618fca347f420fe50a8f73e14d5 and further changes last year)?

Neustradamus commented 8 months ago

@hades: Sorry for the delay, it does not support OMEMO 0.8.3, it is only 0.3.0.

And "XEP-0454: OMEMO Media sharing" is missing too:

Maybe some guys can look it?

All links in description.

cc: @root-hardenedvault, @hartwork, @fortysixandtwo.

Neustradamus commented 4 weeks ago

I think it is time to update the lib with latest XEP-0384 version.

People would like the support of the latest version.

gkdr commented 1 week ago

@Neustradamus I agree the newest version would be nice. As mentioned above, this would require using the omemo-specific crypto in a completely different place than here (as this module only dealt with the XML protocol and left the crypto to a libsignal-protocol-c wrapper). Not sure what the newest versions add beyond that, is there a good implementation guide somewhere?