[golangci-lint]: Use constant for error.

errwrp
Martin Dosch 1 year ago
parent 686041acc8
commit d85cf8fee7
No known key found for this signature in database
GPG Key ID: 52A57CFCE13D657D

@ -21,5 +21,6 @@ const (
oxAltBody = "This message is encrypted (XEP-0373: OpenPGP for XMPP)."
pubsubPubOptions = "http://jabber.org/protocol/pubsub#publish-options"
strChat = "chat"
strError = "error"
strGroupchat = "groupchat"
)

46
ox.go

@ -81,7 +81,7 @@ func oxDecrypt(m xmpp.Chat, client *xmpp.Client, iqc chan xmpp.IQ,
cryptMsgByte, err =
base64.StdEncoding.DecodeString(r.InnerXML)
if err != nil {
return "error", time.Now(), err
return strError, time.Now(), err
}
break
}
@ -89,53 +89,53 @@ func oxDecrypt(m xmpp.Chat, client *xmpp.Client, iqc chan xmpp.IQ,
oxMsg := crypto.NewPGPMessage(cryptMsgByte)
keyRing, err := crypto.NewKeyRing(oxPrivKey)
if err != nil {
return "error", time.Now(), err
return strError, time.Now(), err
}
senderKeyRing, err := oxGetPublicKeyRing(client, iqc, sender)
if err != nil {
return "error", time.Now(), err
return strError, time.Now(), err
}
decryptMsg, err := keyRing.Decrypt(oxMsg, senderKeyRing, crypto.GetUnixTime())
if err != nil {
return "error", time.Now(), err
return strError, time.Now(), err
}
// Remove invalid code points.
message := validUTF8(string(decryptMsg.Data))
doc := etree.NewDocument()
err = doc.ReadFromString(message)
if err != nil {
return "error", time.Now(), err
return strError, time.Now(), err
}
signcrypt := doc.SelectElement("signcrypt")
if signcrypt == nil {
return "error", time.Now(), errors.New("ox: no signcrypt element")
return strError, time.Now(), errors.New("ox: no signcrypt element")
}
to := signcrypt.SelectElement("to")
if to == nil {
return "error", time.Now(), errors.New("ox: no to element")
return strError, time.Now(), errors.New("ox: no to element")
}
jid := to.SelectAttr("jid")
if jid == nil {
return "error", time.Now(), errors.New("ox: no jid attribute")
return strError, time.Now(), errors.New("ox: no jid attribute")
}
if strings.Split(jid.Value, "/")[0] != user {
return "error", time.Now(), errors.New("ox: encrypted for wrong user")
return strError, time.Now(), errors.New("ox: encrypted for wrong user")
}
timestamp := signcrypt.SelectElement("time")
if timestamp == nil {
return "error", time.Now(), errors.New("ox: no time element")
return strError, time.Now(), errors.New("ox: no time element")
}
stamp := timestamp.SelectAttr("stamp")
if stamp == nil {
return "error", time.Now(), errors.New("ox: no stamp attribute")
return strError, time.Now(), errors.New("ox: no stamp attribute")
}
msgStamp, err := time.Parse("2006-01-02T15:04:05Z0700", stamp.Value)
if err != nil {
return "error", time.Now(), err
return strError, time.Now(), err
}
payload := signcrypt.SelectElement("payload")
if payload == nil {
return "error", time.Now(), errors.New("ox: no payload element")
return strError, time.Now(), errors.New("ox: no payload element")
}
body := payload.SelectElement("body")
if body == nil {
@ -334,10 +334,10 @@ func oxGetPrivKeyLoc(jid string) (string, error) {
default:
homeDir, err = os.UserHomeDir()
if err != nil {
return "error", err
return strError, err
}
if homeDir == "" {
return "error", err
return strError, err
}
dataDir = homeDir + "/.local/share"
}
@ -345,7 +345,7 @@ func oxGetPrivKeyLoc(jid string) (string, error) {
if _, err = os.Stat(dataDir); os.IsNotExist(err) {
err = os.MkdirAll(dataDir, 0700)
if err != nil {
return "error", err
return strError, err
}
}
dataFile := dataDir + base64.StdEncoding.EncodeToString([]byte(jid))
@ -367,10 +367,10 @@ func oxGetPubKeyLoc(fingerprint string) (string, error) {
default:
homeDir, err = os.UserHomeDir()
if err != nil {
return "error", err
return strError, err
}
if homeDir == "" {
return "error", err
return strError, err
}
dataDir = homeDir + "/.local/share"
}
@ -378,7 +378,7 @@ func oxGetPubKeyLoc(fingerprint string) (string, error) {
if _, err = os.Stat(dataDir); os.IsNotExist(err) {
err = os.MkdirAll(dataDir, 0700)
if err != nil {
return "error", err
return strError, err
}
}
dataFile := dataDir + fingerprint
@ -703,7 +703,7 @@ func oxEncrypt(client *xmpp.Client, iqc chan xmpp.IQ, oxPrivKey *crypto.Key,
}
privKeyRing, err := crypto.NewKeyRing(oxPrivKey)
if err != nil {
return "error", err
return strError, err
}
ownJid := strings.Split(client.JID(), "/")[0]
if recipient != ownJid {
@ -729,12 +729,12 @@ func oxEncrypt(client *xmpp.Client, iqc chan xmpp.IQ, oxPrivKey *crypto.Key,
oxCryptMessageScPayloadBody.CreateText(message)
ocm, err := oxCryptMessage.WriteToString()
if err != nil {
return "error", err
return strError, err
}
plainMessage := crypto.NewPlainMessage([]byte(ocm))
pgpMessage, err := keyRing.Encrypt(plainMessage, privKeyRing)
if err != nil {
return "error", err
return strError, err
}
om := etree.NewDocument()
om.WriteSettings.AttrSingleQuote = true
@ -753,7 +753,7 @@ func oxEncrypt(client *xmpp.Client, iqc chan xmpp.IQ, oxPrivKey *crypto.Key,
omMessageBody.CreateText(oxAltBody)
oms, err := om.WriteToString()
if err != nil {
return "error", err
return strError, err
}
return oms, nil

@ -88,11 +88,11 @@ func rcvStanzas(client *xmpp.Client, iqc chan xmpp.IQ, msgc chan xmpp.Chat) {
root := etree.NewDocument()
root.WriteSettings.AttrSingleQuote = true
reply := root.CreateElement("iq")
reply.CreateAttr("type", "error")
reply.CreateAttr("type", strError)
reply.CreateAttr("from", client.JID())
reply.CreateAttr("to", v.From)
reply.CreateAttr("id", v.ID)
errorReply := reply.CreateElement("error")
errorReply := reply.CreateElement(strError)
errorReply.CreateAttr("type", "cancel")
su := errorReply.CreateElement("service-unavailable")
su.CreateAttr("xmlns", nsXMPPStanzas)
@ -108,11 +108,11 @@ func rcvStanzas(client *xmpp.Client, iqc chan xmpp.IQ, msgc chan xmpp.Chat) {
root := etree.NewDocument()
root.WriteSettings.AttrSingleQuote = true
reply := root.CreateElement("iq")
reply.CreateAttr("type", "error")
reply.CreateAttr("type", strError)
reply.CreateAttr("from", client.JID())
reply.CreateAttr("to", v.From)
reply.CreateAttr("id", v.ID)
errorReply := reply.CreateElement("error")
errorReply := reply.CreateElement(strError)
errorReply.CreateAttr("type", "cancel")
su := errorReply.CreateElement("service-unavailable")
su.CreateAttr("xmlns", nsXMPPStanzas)
@ -123,7 +123,7 @@ func rcvStanzas(client *xmpp.Client, iqc chan xmpp.IQ, msgc chan xmpp.Chat) {
log.Println(err)
}
}
case "reply", "error":
case "reply", strError:
iqc <- v
default:
iqc <- v

Loading…
Cancel
Save