X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=fifos%2Flist.go;h=d8f77adc3430721f35f60587539eb9041966c2a0;hb=6eee3c6c83cc535855e254426a90f7a2abba04ce;hp=8625a814450af01213402b65d732ff1b6d2f6e52;hpb=bae1cfe5ce46a1b758ccc4dddda2751b6ac47f3e;p=tofuproxy.git diff --git a/fifos/list.go b/fifos/list.go index 8625a81..d8f77ad 100644 --- a/fifos/list.go +++ b/fifos/list.go @@ -1,5 +1,6 @@ /* -tofuproxy -- flexible HTTP/WARC proxy with TLS certificates management +tofuproxy -- flexible HTTP proxy, TLS terminator, X.509 certificates + manager, WARC/Gemini browser Copyright (C) 2021 Sergey Matveev This program is free software: you can redistribute it and/or modify @@ -77,11 +78,15 @@ func listTLSAuth(p string) { } caches.TLSAuthCacheM.RLock() for host, tlsCert := range caches.TLSAuthCache { - cert, err := x509.ParseCertificate(tlsCert.Certificate[0]) - if err != nil { - log.Fatalln(err) + subj := "NONE" + if len(tlsCert.Certificate) != 0 { + cert, err := x509.ParseCertificate(tlsCert.Certificate[0]) + if err != nil { + log.Fatalln(err) + } + subj = cert.Subject.String() } - if _, err = fd.WriteString(fmt.Sprintf("%s\t%s\n", host, cert.Subject)); err != nil { + if _, err = fd.WriteString(fmt.Sprintf("%s\t%s\n", host, subj)); err != nil { break } }