Skip to content

chaoscommander/libomemo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libomemo

Implements OMEMO in C.

Input and output are XML strings, so it does not force you to use a certain XML lib. While the actual protocol functions do not depend on any kind of storage, it comes with a basic implementation in SQLite.

It does not handle the double ratchet sessions, just the encryption of the payload. Use axc for that.

Dependencies

  • Mini-XML
  • OpenSSL (which you probably already have)
  • glib
  • If you want to use the SQLite database, you will obviously need that.

I recommend to simply link it statically - there are makefile targets for compilation as a libtool lib.

Usage

Basically, there are three data types: messages, devicelists, and bundles. You can import received the received XML data to work with it, or create them empty. When done with them, they can be exported back to XML for displaying or sending.

The test cases should demonstrate the general usage.

If a different namespace than the one specified in the XEP is to be used, you can use specify it at compile time. See the makefile for an example.

About

Implements OMEMO in C.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 98.1%
  • Makefile 1.9%