]> Sergey Matveev's repositories - godlighty.git/commitdiff
Streebog hash in .meta4 support
authorSergey Matveev <stargrave@stargrave.org>
Thu, 13 Apr 2023 19:09:44 +0000 (22:09 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Thu, 13 Apr 2023 19:09:52 +0000 (22:09 +0300)
handler.go
meta4/parse.go
meta4/scheme.go

index 75c98d515fa0f73e99951d301fa837128f608620..e17583c4388f1aa901b89fb237e0eb8b2bb75e88 100644 (file)
@@ -278,6 +278,14 @@ IndexLookuped:
                        w.Header().Add("Digest", "SHA-512="+
                                base64.StdEncoding.EncodeToString(forHTTP.SHA512))
                }
+               if forHTTP.Streebog256 != nil {
+                       w.Header().Add("Digest", "Streebog-256="+
+                               base64.StdEncoding.EncodeToString(forHTTP.Streebog256))
+               }
+               if forHTTP.Streebog512 != nil {
+                       w.Header().Add("Digest", "Streebog-512="+
+                               base64.StdEncoding.EncodeToString(forHTTP.Streebog512))
+               }
        }
 SkipMeta4:
 
index bc839452d975dea050c7faeae64634ef57fef6d0..c816434cd19362da67b896cc6f3c43d15daf34b9 100644 (file)
@@ -23,9 +23,11 @@ import (
 )
 
 type ForHTTP struct {
-       SHA256 []byte
-       SHA512 []byte
-       URLs   []string
+       SHA256      []byte
+       SHA512      []byte
+       Streebog256 []byte
+       Streebog512 []byte
+       URLs        []string
 }
 
 func Parse(fn string, data []byte) (*ForHTTP, error) {
@@ -49,6 +51,10 @@ func Parse(fn string, data []byte) (*ForHTTP, error) {
                                forHTTP.SHA256 = digest
                        case HashSHA512:
                                forHTTP.SHA512 = digest
+                       case HashStreebog256:
+                               forHTTP.Streebog256 = digest
+                       case HashStreebog512:
+                               forHTTP.Streebog512 = digest
                        }
                }
                for _, u := range f.URLs {
index 6bf403308185b0f2555ca3773a43d46058d2e5d2..681bf4a889f522c85f342a77ec35c60611ab44f4 100644 (file)
@@ -23,10 +23,12 @@ import (
 )
 
 const (
-       HashSHA256 = "sha-256"
-       HashSHA512 = "sha-512"
-       Ext        = ".meta4"
-       MaxSize    = 1 << 16
+       HashSHA256      = "sha-256"
+       HashSHA512      = "sha-512"
+       HashStreebog256 = "streebog-256"
+       HashStreebog512 = "streebog-512"
+       Ext             = ".meta4"
+       MaxSize         = 1 << 16
 )
 
 type Metalink struct {