Change from encoding/xml to etree.

code-cleanup
Martin Dosch 2 years ago
parent dd4a9c9bed
commit 8764f03eec

@ -7,28 +7,6 @@ package main
import "encoding/xml"
// Created with https://github.com/miku/zek
type OxMessageElement struct {
XMLName xml.Name `xml:"message"`
Text string `xml:",chardata"`
To string `xml:"to,attr"`
Id string `xml:"id,attr"`
Store struct {
Text string `xml:",chardata"`
Xmlns string `xml:"xmlns,attr"`
} `xml:"store"`
Openpgp struct {
Text string `xml:",chardata"`
Xmlns string `xml:"xmlns,attr"`
} `xml:"openpgp"`
Encryption struct {
XMLName xml.Name `xml:"encryption"`
Text string `xml:",chardata"`
Xmlns string `xml:"xmlns,attr"`
Namespace string `xml:"namespace,attr"`
}
Body string `xml:"body"`
}
// Created with https://github.com/miku/zek
// Created with https://github.com/miku/zek
type OxPublicKeysList struct {

27
ox.go

@ -489,7 +489,6 @@ func oxGetPublicKeyRing(client *xmpp.Client, recipient string) (*crypto.KeyRing,
func oxEncrypt(client *xmpp.Client, oxPrivKey *crypto.Key, recipient string,
keyRing *crypto.KeyRing, message string) (string, error) {
var oxMessage OxMessageElement
privKeyRing, err := crypto.NewKeyRing(oxPrivKey)
if err != nil {
return "error", err
@ -524,18 +523,24 @@ func oxEncrypt(client *xmpp.Client, oxPrivKey *crypto.Key, recipient string,
if err != nil {
return "error", err
}
oxMessage.To = recipient
oxMessage.Id = getID()
oxMessage.Store.Xmlns = nsHints
oxMessage.Openpgp.Text = base64.StdEncoding.EncodeToString(pgpMessage.Data)
oxMessage.Openpgp.Xmlns = nsOx
oxMessage.Encryption.Xmlns = nsEme
oxMessage.Encryption.Namespace = nsOx
oxMessage.Body = oxAltBody
om, err := xml.Marshal(oxMessage)
om := etree.NewDocument()
omMessage := om.CreateElement("message")
omMessage.CreateAttr("to", recipient)
omMessage.CreateAttr("id", getID())
omMessageStore := omMessage.CreateElement("store")
omMessageStore.CreateAttr("xmlns", nsHints)
omMessageEme := omMessage.CreateElement("encryption")
omMessageEme.CreateAttr("xmlns", nsEme)
omMessageEme.CreateAttr("namespace", nsOx)
omMessageOpgp := omMessage.CreateElement("openpgp")
omMessageOpgp.CreateAttr("xmlns", nsOx)
omMessageOpgp.CreateText(base64.StdEncoding.EncodeToString(pgpMessage.Data))
omMessageBody := omMessage.CreateElement("body")
omMessageBody.CreateText(oxAltBody)
oms, err := om.WriteToString()
if err != nil {
return "error", err
}
return string(om), nil
return oms, nil
}

Loading…
Cancel
Save