Remove unnecessary base64 util

This commit is contained in:
Tulir Asokan 2023-06-30 13:48:52 +03:00
parent 13f47319b2
commit d1897a2b80
11 changed files with 27 additions and 58 deletions

View file

@ -1,6 +1,7 @@
package textgapi package textgapi
import ( import (
"encoding/base64"
"io" "io"
"log" "log"
"net/http" "net/http"
@ -166,7 +167,7 @@ func (c *Client) decryptImages(messages *binary.FetchMessagesResponse) error {
} }
func (c *Client) decryptImageData(imageId string, key []byte) ([]byte, error) { func (c *Client) decryptImageData(imageId string, key []byte) ([]byte, error) {
decodedRpcKey, err := crypto.Base64DecodeStandard(c.rpcKey) decodedRpcKey, err := base64.StdEncoding.DecodeString(c.rpcKey)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -192,7 +193,7 @@ func (c *Client) decryptImageData(imageId string, key []byte) ([]byte, error) {
if err2 != nil { if err2 != nil {
return nil, err2 return nil, err2
} }
download_metadata_b64 := crypto.EncodeBase64Standard(download_metadata_bytes) download_metadata_b64 := base64.StdEncoding.EncodeToString(download_metadata_bytes)
req, err := http.NewRequest("GET", util.UPLOAD_MEDIA, nil) req, err := http.NewRequest("GET", util.UPLOAD_MEDIA, nil)
if err != nil { if err != nil {
return nil, err return nil, err

View file

@ -1,41 +0,0 @@
package crypto
import (
"encoding/base64"
"fmt"
"strings"
)
func EncodeBase64Standard(data []byte) string {
return base64.StdEncoding.EncodeToString(data)
}
func EncodeBase64(data []byte) string {
return base64.RawURLEncoding.EncodeToString(data)
}
func Base64Decode(input string) ([]byte, error) {
padding := len(input) % 4
if padding > 0 {
input += strings.Repeat("=", 4-padding)
}
data, err := base64.URLEncoding.DecodeString(input)
if err != nil {
return nil, err
}
return data, nil
}
func Base64DecodeStandard(input string) ([]byte, error) {
decoded, err := base64.StdEncoding.DecodeString(input)
if err != nil {
fmt.Println("decode error:", err)
return nil, err
}
return decoded, nil
}
func Base64Encode(input []byte) string {
return base64.StdEncoding.EncodeToString(input)
}

View file

@ -33,13 +33,13 @@ func (t *JWK) Marshal() ([]byte, error) {
} }
func (t *JWK) PrivKeyB64Bytes() ([]byte, error) { func (t *JWK) PrivKeyB64Bytes() ([]byte, error) {
decodedPrivateKey, err2 := Base64Decode(t.D) decodedPrivateKey, err2 := base64.RawURLEncoding.DecodeString(t.D)
return decodedPrivateKey, err2 return decodedPrivateKey, err2
} }
func (t *JWK) ExtractPublicKeyDetails(pubKey []byte) *JWK { func (t *JWK) ExtractPublicKeyDetails(pubKey []byte) *JWK {
x := EncodeBase64(pubKey[1:33]) x := base64.RawURLEncoding.EncodeToString(pubKey[1:33])
y := EncodeBase64(pubKey[33:]) y := base64.RawURLEncoding.EncodeToString(pubKey[33:])
return &JWK{ return &JWK{
Kty: "EC", Kty: "EC",
Crv: "P-256", Crv: "P-256",

View file

@ -6,6 +6,7 @@ import (
"crypto/hmac" "crypto/hmac"
"crypto/rand" "crypto/rand"
"crypto/sha256" "crypto/sha256"
"encoding/base64"
"encoding/json" "encoding/json"
"errors" "errors"
"io" "io"
@ -35,7 +36,7 @@ func NewCryptor(aes_key []byte, sha_key []byte) *Cryptor {
} }
func (c *Cryptor) SaveAsJson() { func (c *Cryptor) SaveAsJson() {
AES_B64, SHA_B64 := EncodeBase64Standard(c.AES_CTR_KEY_256), EncodeBase64Standard(c.SHA_256_KEY) AES_B64, SHA_B64 := base64.StdEncoding.EncodeToString(c.AES_CTR_KEY_256), base64.StdEncoding.EncodeToString(c.SHA_256_KEY)
inter := struct { inter := struct {
AES_CTR_KEY_256 string AES_CTR_KEY_256 string
SHA_256_KEY string SHA_256_KEY string

View file

@ -1,13 +1,15 @@
package crypto package crypto
import ( import (
"encoding/base64"
"google.golang.org/protobuf/proto" "google.golang.org/protobuf/proto"
"go.mau.fi/mautrix-gmessages/libgm/binary" "go.mau.fi/mautrix-gmessages/libgm/binary"
) )
func DecodeAndEncodeB64(data string, msg proto.Message) error { func DecodeAndEncodeB64(data string, msg proto.Message) error {
decodedBytes, err := Base64DecodeStandard(data) decodedBytes, err := base64.StdEncoding.DecodeString(data)
if err != nil { if err != nil {
return err return err
} }
@ -19,7 +21,7 @@ func DecodeAndEncodeB64(data string, msg proto.Message) error {
} }
func DecodeEncodedResponse(data string) (*binary.EncodedResponse, error) { func DecodeEncodedResponse(data string) (*binary.EncodedResponse, error) {
decodedBytes, err := Base64DecodeStandard(data) decodedBytes, err := base64.StdEncoding.DecodeString(data)
if err != nil { if err != nil {
return nil, err return nil, err
} }

View file

@ -1,6 +1,8 @@
package crypto package crypto
import ( import (
"encoding/base64"
"google.golang.org/protobuf/proto" "google.golang.org/protobuf/proto"
"go.mau.fi/mautrix-gmessages/libgm/binary" "go.mau.fi/mautrix-gmessages/libgm/binary"
@ -55,6 +57,6 @@ func EncodeProtoB64(message proto.Message) (string, error) {
if protoErr != nil { if protoErr != nil {
return "", protoErr return "", protoErr
} }
encodedStr := EncodeBase64Standard(protoBytes) encodedStr := base64.StdEncoding.EncodeToString(protoBytes)
return encodedStr, nil return encodedStr, nil
} }

View file

@ -2,6 +2,7 @@ package textgapi
import ( import (
"bytes" "bytes"
"encoding/base64"
"errors" "errors"
"io" "io"
"log" "log"
@ -135,7 +136,7 @@ func (c *Client) StartUploadMedia(image *Image) (*StartGoogleUpload, error) {
func (c *Client) buildStartUploadPayload() (string, error) { func (c *Client) buildStartUploadPayload() (string, error) {
decodedRpcKey, err := crypto.Base64DecodeStandard(c.rpcKey) decodedRpcKey, err := base64.StdEncoding.DecodeString(c.rpcKey)
if err != nil { if err != nil {
return "", err return "", err
} }

View file

@ -1,14 +1,14 @@
package textgapi package textgapi
import ( import (
"encoding/base64"
"log" "log"
"go.mau.fi/mautrix-gmessages/libgm/binary" "go.mau.fi/mautrix-gmessages/libgm/binary"
"go.mau.fi/mautrix-gmessages/libgm/crypto"
) )
func (c *Client) handleSeperateOpCode(msgData *binary.MessageData) { func (c *Client) handleSeperateOpCode(msgData *binary.MessageData) {
decodedBytes, err := crypto.Base64DecodeStandard(msgData.EncodedData) decodedBytes, err := base64.StdEncoding.DecodeString(msgData.EncodedData)
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }

View file

@ -1,6 +1,7 @@
package textgapi package textgapi
import ( import (
"encoding/base64"
"io" "io"
"log" "log"
"time" "time"
@ -140,7 +141,7 @@ func (p *Pairer) GetWebEncryptionKey() {
if err2 != nil { if err2 != nil {
p.client.Logger.Err(err2).Msg("Parse webkeyresponse into proto struct error") p.client.Logger.Err(err2).Msg("Parse webkeyresponse into proto struct error")
} }
key := crypto.EncodeBase64Standard(p.client.rpc.webAuthKey) key := base64.StdEncoding.EncodeToString(p.client.rpc.webAuthKey)
p.ticker.Stop() p.ticker.Stop()
reconnectErr := p.client.Reconnect(key) reconnectErr := p.client.Reconnect(key)
if reconnectErr != nil { if reconnectErr != nil {

View file

@ -1,13 +1,14 @@
package payload package payload
import ( import (
"encoding/base64"
"go.mau.fi/mautrix-gmessages/libgm/binary" "go.mau.fi/mautrix-gmessages/libgm/binary"
"go.mau.fi/mautrix-gmessages/libgm/crypto"
"go.mau.fi/mautrix-gmessages/libgm/util" "go.mau.fi/mautrix-gmessages/libgm/util"
) )
func RefreshPhoneRelay(rpcKey string) ([]byte, *binary.Container, error) { func RefreshPhoneRelay(rpcKey string) ([]byte, *binary.Container, error) {
decodedRpcKey, err1 := crypto.Base64DecodeStandard(rpcKey) decodedRpcKey, err1 := base64.StdEncoding.DecodeString(rpcKey)
if err1 != nil { if err1 != nil {
return nil, nil, err1 return nil, nil, err1
} }

View file

@ -1,8 +1,9 @@
package textgapi package textgapi
import ( import (
"encoding/base64"
"go.mau.fi/mautrix-gmessages/libgm/binary" "go.mau.fi/mautrix-gmessages/libgm/binary"
"go.mau.fi/mautrix-gmessages/libgm/crypto"
"go.mau.fi/mautrix-gmessages/libgm/util" "go.mau.fi/mautrix-gmessages/libgm/util"
) )
@ -16,6 +17,6 @@ func (p *Pairer) GenerateQRCodeData() (string, error) {
if err != nil { if err != nil {
return "", err return "", err
} }
cData := crypto.Base64Encode(encodedUrlData) cData := base64.StdEncoding.EncodeToString(encodedUrlData)
return util.QR_CODE_URL + cData, nil return util.QR_CODE_URL + cData, nil
} }