User messages management + png contactcard to protobuf

This commit is contained in:
ycc
2022-09-19 14:09:32 +02:00
parent 3ef38350c6
commit 73ddfdcaa6
3 changed files with 69 additions and 28 deletions

View File

@ -5,6 +5,7 @@ import (
"time"
"forge.redroom.link/yves/meowlib"
"google.golang.org/protobuf/proto"
)
type Peer struct {
@ -53,6 +54,18 @@ func (pl *PeerList) GetFromName(name string) *Peer {
return nil
}
func (p *Peer) BuildSimpleUserUMessage(message []byte) ([]byte, error) {
var msg meowlib.UserMessage
msg.From = p.Me.Public
msg.Data = message
msg.Type = "1"
out, err := proto.Marshal(&msg)
if err != nil {
return nil, err
}
return out, nil
}
// AsymEncryptMessage prepares a message to send to a specific peer contact
func (p *Peer) AsymEncryptMessage(Message []byte) (EncryptedMessage []byte, Signature []byte, Servers []*meowlib.Server, err error) {
EncryptedMessage, Signature, err = meowlib.AsymEncryptAndSign(p.Contact.EncryptionPublicKey, p.Me.Private, Message)