move gotd fork into repo. (#111)
- update to latest telegram layer - remove some references to fields in tg.Entities that don't exist in the schema - originally added here: https://github.com/beeper/td/commit/820929062a2ba0104397bc01235ab58a9cff780e - referenced here - https://github.com/mautrix/telegramgo/commit/124f0967ed195b5a380c9bd02e170ada9710dde3 - https://github.com/mautrix/telegramgo/commit/4205047aab2e0639217148b5d125bfaab668bd8e
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
// Code generated by rsagen, DO NOT EDIT.
|
||||
//
|
||||
{{ range .InputLines -}}
|
||||
// {{ printf "%s" . }}
|
||||
{{ end -}}
|
||||
//
|
||||
|
||||
package {{ .Package }}
|
||||
|
||||
import (
|
||||
"crypto/rsa"
|
||||
"math/big"
|
||||
)
|
||||
|
||||
var _ = (*big.Int)(nil)
|
||||
|
||||
{{ define "chunks" -}}
|
||||
{{- range chunks . 8 }}
|
||||
{{ range . }}{{ printf "%#02x" . }},{{ end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{ define "bigint-positive" -}}
|
||||
new(big.Int).SetBytes([]byte{
|
||||
{{- template "chunks" .Bytes }}
|
||||
})
|
||||
{{- end }}
|
||||
|
||||
{{ define "bigint" }}
|
||||
{{- if eq .Sign -1 -}} new(big.Int).Neg( {{- end -}}
|
||||
{{- template "bigint-positive" . -}}
|
||||
{{- if eq .Sign -1 -}} ) {{- end -}}
|
||||
{{ end }}
|
||||
|
||||
{{ define "pubkey" -}}
|
||||
&rsa.PublicKey{
|
||||
E: {{ .E }},
|
||||
N: {{ template "bigint" .N }},
|
||||
}
|
||||
{{- end }}
|
||||
|
||||
{{ if not .Single }}
|
||||
var {{ .Variable }} = []*rsa.PublicKey{
|
||||
{{- range .Keys }}
|
||||
{{ template "pubkey" . }}, // Fingerprint: {{ fingerprint . }}
|
||||
{{- end }}
|
||||
}
|
||||
{{ else }}
|
||||
var {{ .Variable }} = {{ template "pubkey" (single .Keys) }} // Fingerprint: {{ single .Keys | fingerprint }}
|
||||
{{ end }}
|
||||
@@ -0,0 +1,32 @@
|
||||
// Code generated by rsagen, DO NOT EDIT.
|
||||
|
||||
package {{ .Package }}
|
||||
|
||||
import (
|
||||
"crypto/rsa"
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
"go.mau.fi/mautrix-telegram/pkg/gotd/crypto"
|
||||
)
|
||||
|
||||
func {{ .TestFunc }}(t *testing.T) {
|
||||
fingerprint := func(pubkey *rsa.PublicKey) string {
|
||||
return fmt.Sprintf("%08x", uint64(crypto.RSAFingerprint(pubkey)))
|
||||
}
|
||||
{{- if .Single }}
|
||||
assert.Equal(t, {{ single .Keys | fingerprint | printf "%q" }}, fingerprint({{ .Variable }}))
|
||||
{{- else }}
|
||||
expected := []string{
|
||||
{{- range .Keys }}
|
||||
{{ fingerprint . | printf "%q" }},
|
||||
{{- end }}
|
||||
}
|
||||
assert.Len(t, {{ .Variable }}, len(expected))
|
||||
for i, pubkey := range {{ .Variable }} {
|
||||
assert.Equal(t, expected[i], fingerprint(pubkey))
|
||||
}
|
||||
{{- end }}
|
||||
}
|
||||
Reference in New Issue
Block a user