encryption + helpers + contact card compression + server routing start

This commit is contained in:
ycc
2022-10-22 14:41:48 +02:00
parent 2160babeae
commit fc3747a124
15 changed files with 350 additions and 24 deletions

View File

@ -54,12 +54,16 @@ func (pl *PeerList) GetFromName(name string) *Peer {
return nil
}
func (p *Peer) BuildSimpleUserUMessage(message []byte) ([]byte, error) {
func (p *Peer) BuildSimpleUserUMessage(message []byte) (*meowlib.UserMessage, error) {
var msg meowlib.UserMessage
msg.From = p.Me.Public
msg.Data = message
msg.Type = "1"
out, err := proto.Marshal(&msg)
return &msg, nil
}
func (p *Peer) SerializeUserMessage(msg *meowlib.UserMessage) ([]byte, error) {
out, err := proto.Marshal(msg)
if err != nil {
return nil, err
}
@ -86,8 +90,8 @@ func (p *Peer) AsymDecryptMessage(Message []byte, Signature []byte) (DecryptedMe
return DecryptedMessage, err
}
// Pack will package the previously encrypted message for sending it to the peer in protobuff format
func (p *Peer) Pack(message []byte, signature []byte) meowlib.PackedUserMessage {
// PackUserMessage will package the previously encrypted message for sending it to the peer in protobuff format
func (p *Peer) PackUserMessage(message []byte, signature []byte) meowlib.PackedUserMessage {
var msg meowlib.PackedUserMessage
msg.Destination = p.Contact.LookupPublicKey
msg.From = p.Me.Public
@ -96,6 +100,14 @@ func (p *Peer) Pack(message []byte, signature []byte) meowlib.PackedUserMessage
return msg
}
func (ints *InternalServer) UnPackUserMessage(protoPackedMessage []byte) (payload []byte, signature []byte, err error) {
msg := &meowlib.PackedServerMessage{}
if err := proto.Unmarshal(protoPackedMessage, msg); err != nil {
return nil, nil, err
}
return msg.Payload, msg.Signature, nil
}
func (p *Peer) GetConversationRequest() meowlib.ToServerMessage_ConversationRequest {
var cr meowlib.ToServerMessage_ConversationRequest
return cr