X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=handler.go;h=81bd2aa1f399101d5a10ef06619ea80cd845c9f5;hb=e5b6a66ac9e02d1369f72bc2b1b3fac3de36ef22;hp=a8a9e31b03835e3fae3078e84f3399b328717b38;hpb=0fe97b4cad480d0584e3d52f579662a7910d9984;p=godlighty.git diff --git a/handler.go b/handler.go index a8a9e31..81bd2aa 100644 --- a/handler.go +++ b/handler.go @@ -1,6 +1,6 @@ /* godlighty -- highly-customizable HTTP, HTTP/2, HTTPS server -Copyright (C) 2021-2022 Sergey Matveev +Copyright (C) 2021-2023 Sergey Matveev This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -119,7 +119,9 @@ func (h Handler) Handle( return } - if cfg.TLS != nil && len(cfg.TLS.ClientCAs) > 0 { + if (cfg.ECDSATLS != nil && len(cfg.ECDSATLS.ClientCAs) > 0) || + (cfg.EdDSATLS != nil && len(cfg.EdDSATLS.ClientCAs) > 0) || + (cfg.GOSTTLS != nil && len(cfg.GOSTTLS.ClientCAs) > 0) { if r.TLS == nil { err = errors.New("TLS client authentication required") printErr(http.StatusForbidden, err) @@ -268,13 +270,11 @@ IndexLookuped: for _, u := range forHTTP.URLs { w.Header().Add("Link", "<"+u+">; rel=duplicate") } - if forHTTP.SHA256 != nil { - w.Header().Add("Digest", "SHA-256="+ - base64.StdEncoding.EncodeToString(forHTTP.SHA256)) + for name, digest := range forHTTP.Hashes { + w.Header().Add("Digest", name+"="+base64.StdEncoding.EncodeToString(digest)) } - if forHTTP.SHA512 != nil { - w.Header().Add("Digest", "SHA-512="+ - base64.StdEncoding.EncodeToString(forHTTP.SHA512)) + for _, u := range forHTTP.Torrents { + w.Header().Add("Link", "<"+u+`>; rel=describedby; type="application/x-bittorrent"`) } } SkipMeta4: