Skip to content

Commit c3fd64f

Browse files
authored
Fix no-op log.Fatal() calls (#23)
Bit of a foot cannon in my opinion, but apparently you _must_ call `Msg()` or else `zerolog`'s `log.Fatal()` method does nothing. https://pkg.go.dev/github.com/rs/zerolog/[email protected]#Fatal. This should prevent some panics if `netbootd` is run when someone else is already listening of the given DHCP/TFTP/HTTP/API ports.
1 parent b16fd85 commit c3fd64f

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

cmd/server.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -81,50 +81,50 @@ var serverCmd = &cobra.Command{
8181
// DHCP
8282
dhcpServer, err := dhcpd.NewServer(viper.GetString("address"), viper.GetString("interface"), store)
8383
if err != nil {
84-
log.Fatal().Err(err)
84+
log.Fatal().Err(err).Msg("Failed to create DHCP server")
8585
}
8686
go dhcpServer.Serve()
8787

8888
// TFTP
8989
tftpServer, err := tftpd.NewServer(store)
9090
if err != nil {
91-
log.Fatal().Err(err)
91+
log.Fatal().Err(err).Msg("Failed to create TFTP server")
9292
}
9393
connTftp, err := net.ListenUDP("udp", &net.UDPAddr{
9494
IP: net.ParseIP(viper.GetString("address")),
9595
Port: 69, // TFTP
9696
})
9797
if err != nil {
98-
log.Fatal().Err(err)
98+
log.Fatal().Err(err).Msg("Failed to bind TFTP server")
9999
}
100100
go tftpServer.Serve(connTftp)
101101

102102
// HTTP service
103103
httpServer, err := httpd.NewServer(store)
104104
if err != nil {
105-
log.Fatal().Err(err)
105+
log.Fatal().Err(err).Msg("Failed to create HTTP server")
106106
}
107107
connHttp, err := net.ListenTCP("tcp", &net.TCPAddr{
108108
IP: net.ParseIP(viper.GetString("address")),
109109
Port: viper.GetInt("http.port"), // HTTP
110110
})
111111
if err != nil {
112-
log.Fatal().Err(err)
112+
log.Fatal().Err(err).Msg("Failed to bind HTTP API server")
113113
}
114114
go httpServer.Serve(connHttp)
115115
log.Info().Interface("addr", connHttp.Addr()).Msg("HTTP listening")
116116

117117
// HTTP API service
118118
apiServer, err := api.NewServer(store, viper.GetString("api.authorization"))
119119
if err != nil {
120-
log.Fatal().Err(err)
120+
log.Fatal().Err(err).Msg("Failed to create HTTP API server")
121121
}
122122
connApi, err := net.ListenTCP("tcp", &net.TCPAddr{
123123
IP: net.ParseIP(viper.GetString("address")),
124124
Port: viper.GetInt("api.port"), // HTTP
125125
})
126126
if err != nil {
127-
log.Fatal().Err(err)
127+
log.Fatal().Err(err).Msg("Failed to bind API server")
128128
}
129129
if viper.GetString("api.TLSCertificatePath") != "" && viper.GetString("api.TLSPrivateKeyPath") != "" {
130130
log.Info().Interface("api", connApi.Addr()).Msg("HTTP API listening with TLS...")

0 commit comments

Comments
 (0)