]> Sergey Matveev's repositories - sgblog.git/blobdiff - cmd/sgblog/http.go
BLAKE3 instead of BLAKE2
[sgblog.git] / cmd / sgblog / http.go
index 527f51eacec80cfc7aad4e1286603b4153691bda..fd5f7b448ec88bcdb7dc8a15d5b51e01a5575b5a 100644 (file)
@@ -1,6 +1,6 @@
 /*
 SGBlog -- Git-backed CGI/UCSPI blogging/phlogging/gemlogging engine
-Copyright (C) 2020-2022 Sergey Matveev <stargrave@stargrave.org>
+Copyright (C) 2020-2023 Sergey Matveev <stargrave@stargrave.org>
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU Affero General Public License as
@@ -41,9 +41,10 @@ import (
        "github.com/go-git/go-git/v5"
        "github.com/go-git/go-git/v5/plumbing"
        "github.com/go-git/go-git/v5/plumbing/object"
+       "github.com/vorlif/spreak"
        "go.stargrave.org/sgblog"
        "go.stargrave.org/sgblog/cmd/sgblog/atom"
-       "golang.org/x/crypto/blake2b"
+       "lukechampine.com/blake3"
 )
 
 const (
@@ -174,6 +175,7 @@ func serveHTTP() {
        if err != nil {
                log.Fatalln(err)
        }
+       initLocalizer(cfg.Lang)
 
        pathInfo := os.Getenv("PATH_INFO")
        if len(pathInfo) == 0 {
@@ -184,10 +186,7 @@ func serveHTTP() {
                makeErr(err, http.StatusBadRequest)
        }
 
-       etagHash, err := blake2b.New256(nil)
-       if err != nil {
-               panic(err)
-       }
+       etagHash := blake3.New(32, nil)
        for _, s := range []string{
                "SGBLOG",
                sgblog.Version,
@@ -210,9 +209,7 @@ func serveHTTP() {
                cfg.CommentsNotesRef,
                cfg.CommentsEmail,
        }
-       for _, gitURL := range cfg.GitURLs {
-               etagHashForWeb = append(etagHashForWeb, gitURL)
-       }
+       etagHashForWeb = append(etagHashForWeb, cfg.GitURLs...)
 
        headHash, err := initRepo(cfg)
        if err != nil {
@@ -349,6 +346,7 @@ func serveHTTP() {
                }
                os.Stdout.Write([]byte(startHeader(etagHash, gzipWriter != nil)))
                err = TmplHTMLIndex.Execute(out, struct {
+                       T                *spreak.Localizer
                        Version          string
                        Cfg              *Cfg
                        Topic            string
@@ -363,6 +361,7 @@ func serveHTTP() {
                        LogEnded         bool
                        Entries          []TableEntry
                }{
+                       T:                localizer,
                        Version:          sgblog.Version,
                        Cfg:              cfg,
                        Topic:            topic,
@@ -433,10 +432,7 @@ func serveHTTP() {
                } else {
                        title = fmt.Sprintf("%s (topic: %s)", cfg.Title, topic)
                }
-               idHasher, err := blake2b.New256(nil)
-               if err != nil {
-                       panic(err)
-               }
+               idHasher := blake3.New(32, nil)
                idHasher.Write([]byte("ATOM POSTS"))
                idHasher.Write([]byte(cfg.AtomId))
                idHasher.Write([]byte(topic))
@@ -520,10 +516,7 @@ func serveHTTP() {
                etagHash.Write([]byte("ATOM COMMENTS"))
                etagHash.Write(commit.Hash[:])
                checkETag(etagHash)
-               idHasher, err := blake2b.New256(nil)
-               if err != nil {
-                       panic(err)
-               }
+               idHasher := blake3.New(32, nil)
                idHasher.Write([]byte("ATOM COMMENTS"))
                idHasher.Write([]byte(cfg.AtomId))
                feed := atom.Feed{
@@ -651,10 +644,7 @@ func serveHTTP() {
                                        body: lines[3:],
                                })
                        }
-                       idHasher, err := blake2b.New256(nil)
-                       if err != nil {
-                               panic(err)
-                       }
+                       idHasher := blake3.New(32, nil)
                        idHasher.Write([]byte("ATOM COMMENTS"))
                        idHasher.Write(commit.Hash[:])
                        feed := atom.Feed{
@@ -739,6 +729,7 @@ func serveHTTP() {
 
                os.Stdout.Write([]byte(startHeader(etagHash, gzipWriter != nil)))
                err = TmplHTMLEntry.Execute(out, struct {
+                       T               *spreak.Localizer
                        Version         string
                        Cfg             *Cfg
                        Title           string
@@ -752,6 +743,7 @@ func serveHTTP() {
                        Comments        []CommentEntry
                        Topics          []string
                }{
+                       T:               localizer,
                        Version:         sgblog.Version,
                        Cfg:             cfg,
                        Title:           title,