wip modernize code base

This commit is contained in:
Stefan Schwarz 2020-06-04 11:58:44 +02:00
parent c562a21e8c
commit 2579999de0
37 changed files with 11104 additions and 190 deletions

50
envconfig.go Normal file
View file

@ -0,0 +1,50 @@
package main
import (
"crypto/x509"
"fmt"
"io/ioutil"
"net/url"
"strings"
)
func (cp *CertPool) Decode(value string) error {
*cp = CertPool{x509.NewCertPool()}
caPEM, err := ioutil.ReadFile(value)
if err != nil {
return fmt.Errorf("unable to open CA file: %w", err)
}
ok := cp.AppendCertsFromPEM(caPEM)
if !ok {
return fmt.Errorf("unable to parse CA")
}
return nil
}
func (cl *CertList) Decode(value string) error {
crlData, err := ioutil.ReadFile(value)
if err != nil {
return fmt.Errorf("unable to open CRL file: %w", err)
}
crl, err := x509.ParseCRL(crlData)
if err != nil {
return fmt.Errorf("unable to parse CRL file: %w", err)
}
*cl = CertList{crl}
return nil
}
func (t *Targets) Decode(value string) error {
splitted := strings.Split(value, ",")
*t = Targets{
targets: make([]*url.URL, len(splitted)),
}
for i, urlString := range splitted {
u, err := url.Parse(urlString)
if err != nil {
return err
}
t.targets[i] = u
}
return nil
}