mirror of
https://dev.narayana.im/narayana/telegabber.git
synced 2026-08-05 04:07:07 +00:00
27 lines
979 B
Go
27 lines
979 B
Go
//go:build !signal_legacy
|
|
|
|
package libsignal
|
|
|
|
/*
|
|
#include <signal_protocol.h>
|
|
#include <protocol.h>
|
|
*/
|
|
import "C"
|
|
|
|
// deserializeSignalMessageOmemo and deserializePreKeySignalMessageOmemo
|
|
// parse the OMEMO (protocol v4) wire encoding, which only libomemo-c
|
|
// understands - signal_message_deserialize_omemo and
|
|
// pre_key_signal_message_deserialize_omemo don't exist in vanilla
|
|
// libsignal-protocol-c (see deserialize_legacy.go).
|
|
|
|
func deserializeSignalMessageOmemo(ctx *Context, data *C.uint8_t, length C.size_t) (*C.signal_message, C.int) {
|
|
var msg *C.signal_message
|
|
code := C.signal_message_deserialize_omemo(&msg, data, length, ctx.raw)
|
|
return msg, code
|
|
}
|
|
|
|
func deserializePreKeySignalMessageOmemo(ctx *Context, data *C.uint8_t, length C.size_t, registrationID uint32) (*C.pre_key_signal_message, C.int) {
|
|
var msg *C.pre_key_signal_message
|
|
code := C.pre_key_signal_message_deserialize_omemo(&msg, data, length, C.uint32_t(registrationID), ctx.raw)
|
|
return msg, code
|
|
}
|