]> Sergey Matveev's repositories - godlighty.git/commitdiff
SHAKE it
authorSergey Matveev <stargrave@stargrave.org>
Fri, 14 Apr 2023 16:20:17 +0000 (19:20 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Fri, 14 Apr 2023 16:20:25 +0000 (19:20 +0300)
handler.go
meta4/parse.go
meta4/scheme.go

index e17583c4388f1aa901b89fb237e0eb8b2bb75e88..30b1c1ec4266c4684f6955ecbee61d7fde7942d2 100644 (file)
@@ -286,6 +286,14 @@ IndexLookuped:
                        w.Header().Add("Digest", "Streebog-512="+
                                base64.StdEncoding.EncodeToString(forHTTP.Streebog512))
                }
+               if forHTTP.SHAKE128 != nil {
+                       w.Header().Add("Digest", "SHAKE128="+
+                               base64.StdEncoding.EncodeToString(forHTTP.SHAKE128))
+               }
+               if forHTTP.SHAKE256 != nil {
+                       w.Header().Add("Digest", "SHAKE256="+
+                               base64.StdEncoding.EncodeToString(forHTTP.SHAKE256))
+               }
        }
 SkipMeta4:
 
index c816434cd19362da67b896cc6f3c43d15daf34b9..b5f67baa7c5baabe2a1ea97d37d61911e4e69493 100644 (file)
@@ -27,6 +27,8 @@ type ForHTTP struct {
        SHA512      []byte
        Streebog256 []byte
        Streebog512 []byte
+       SHAKE128    []byte
+       SHAKE256    []byte
        URLs        []string
 }
 
@@ -55,6 +57,10 @@ func Parse(fn string, data []byte) (*ForHTTP, error) {
                                forHTTP.Streebog256 = digest
                        case HashStreebog512:
                                forHTTP.Streebog512 = digest
+                       case HashSHAKE128:
+                               forHTTP.SHAKE128 = digest
+                       case HashSHAKE256:
+                               forHTTP.SHAKE256 = digest
                        }
                }
                for _, u := range f.URLs {
index 681bf4a889f522c85f342a77ec35c60611ab44f4..82796a4191bfdf484bf61ca1445423d422cb2149 100644 (file)
@@ -27,6 +27,8 @@ const (
        HashSHA512      = "sha-512"
        HashStreebog256 = "streebog-256"
        HashStreebog512 = "streebog-512"
+       HashSHAKE128    = "shake128"
+       HashSHAKE256    = "shake256"
        Ext             = ".meta4"
        MaxSize         = 1 << 16
 )