diff options
| author | historia <[not public]> | 2026-06-29 22:31:11 -0400 |
|---|---|---|
| committer | historia <[not public]> | 2026-06-29 22:31:11 -0400 |
| commit | 069d3c1c81d71042706372df153254487a765dfc (patch) | |
| tree | d83a4a3954d2b8304f49d83e365f4c2b075b91eb /internal/net | |
| parent | 6c5271fb085b4571a10f106391974c249cd84317 (diff) | |
| download | thehouseoficarus-069d3c1c81d71042706372df153254487a765dfc.tar.gz | |
feat: wip web admin for mapping and crud
Diffstat (limited to 'internal/net')
| -rw-r--r-- | internal/net/server.go | 42 |
1 files changed, 14 insertions, 28 deletions
diff --git a/internal/net/server.go b/internal/net/server.go index 345122e..d212dbf 100644 --- a/internal/net/server.go +++ b/internal/net/server.go @@ -199,20 +199,9 @@ func NewServer(cfg *config.Config) (*Server, error) { } if cfg.TelnetTLS.Enabled { - var cert tls.Certificate - if cfg.TelnetTLS.CertFile == "" || cfg.TelnetTLS.KeyFile == "" { - var err error - cert, err = generateSelfSignedCert() - if err != nil { - return nil, fmt.Errorf("telnet_tls self-signed cert: %w", err) - } - log.Printf("telnet_tls: using self-signed certificate (no cert_file/key_file configured)") - } else { - var err error - cert, err = tls.LoadX509KeyPair(cfg.TelnetTLS.CertFile, cfg.TelnetTLS.KeyFile) - if err != nil { - return nil, fmt.Errorf("telnet_tls cert: %w", err) - } + cert, err := loadOrGenerateCert(cfg, "telnet_tls") + if err != nil { + return nil, fmt.Errorf("telnet_tls cert: %w", err) } tlsCfg := &tls.Config{ Certificates: []tls.Certificate{cert}, @@ -234,20 +223,9 @@ func NewServer(cfg *config.Config) (*Server, error) { } if cfg.HTTPS.Enabled { - var cert tls.Certificate - if cfg.HTTPS.CertFile == "" || cfg.HTTPS.KeyFile == "" { - var err error - cert, err = generateSelfSignedCert() - if err != nil { - return nil, fmt.Errorf("https self-signed cert: %w", err) - } - log.Printf("https: using self-signed certificate (no cert_file/key_file configured)") - } else { - var err error - cert, err = tls.LoadX509KeyPair(cfg.HTTPS.CertFile, cfg.HTTPS.KeyFile) - if err != nil { - return nil, fmt.Errorf("https cert: %w", err) - } + cert, err := loadOrGenerateCert(cfg, "https") + if err != nil { + return nil, fmt.Errorf("https cert: %w", err) } s.httpsTLSConfig = &tls.Config{ Certificates: []tls.Certificate{cert}, @@ -262,6 +240,14 @@ func NewServer(cfg *config.Config) (*Server, error) { return s, nil } +func loadOrGenerateCert(cfg *config.Config, service string) (tls.Certificate, error) { + if cfg.TLS.CertFile != "" && cfg.TLS.KeyFile != "" { + return tls.LoadX509KeyPair(cfg.TLS.CertFile, cfg.TLS.KeyFile) + } + log.Printf("%s: using self-signed certificate (no shared tls cert configured)", service) + return generateSelfSignedCert() +} + func generateSelfSignedCert() (tls.Certificate, error) { key, err := rsa.GenerateKey(rand.Reader, 2048) if err != nil { |
