[go: nahoru, domu]

Skip to content

Commit

Permalink
Merge pull request #127 from ethan-gallant/master
Browse files Browse the repository at this point in the history
Fix Nil pointer references for WebSystemdSocket
  • Loading branch information
roidelapluie committed Mar 9, 2023
2 parents bd1af23 + 137f7e5 commit 54d6390
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion web/tls_config.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ import (

var (
errNoTLSConfig = errors.New("TLS config is not present")
ErrNoListeners = errors.New("no web listen address or systemd socket flag specified")
)

type Config struct {
Expand Down Expand Up @@ -203,7 +204,11 @@ func ServeMultiple(listeners []net.Listener, server *http.Server, flags *FlagCon
// WebSystemdSocket in the FlagConfig is true. The FlagConfig is also passed on
// to ServeMultiple.
func ListenAndServe(server *http.Server, flags *FlagConfig, logger log.Logger) error {
if *flags.WebSystemdSocket {
if flags.WebSystemdSocket == nil && (flags.WebListenAddresses == nil || len(*flags.WebListenAddresses) == 0) {
return ErrNoListeners
}

if flags.WebSystemdSocket != nil && *flags.WebSystemdSocket {
level.Info(logger).Log("msg", "Listening on systemd activated listeners instead of port listeners.")
listeners, err := activation.Listeners()
if err != nil {
Expand All @@ -214,6 +219,7 @@ func ListenAndServe(server *http.Server, flags *FlagConfig, logger log.Logger) e
}
return ServeMultiple(listeners, server, flags, logger)
}

listeners := make([]net.Listener, 0, len(*flags.WebListenAddresses))
for _, address := range *flags.WebListenAddresses {
listener, err := net.Listen("tcp", address)
Expand Down

0 comments on commit 54d6390

Please sign in to comment.