From: Jeff Halter Date: Sat, 27 Jul 2024 01:19:33 +0000 (-0700) Subject: Make Bonjour optional and disabled by default X-Git-Url: https://git.r.bdr.sh/rbdr/mobius/commitdiff_plain/d03ffd881e4a8bd93a2936556fd09214b4ad0bd1 Make Bonjour optional and disabled by default Bonjour doesn't seem happy inside Docker, so I'm making it optional and off by default. --- diff --git a/cmd/mobius-hotline-server/main.go b/cmd/mobius-hotline-server/main.go index e2c7789..1390dda 100644 --- a/cmd/mobius-hotline-server/main.go +++ b/cmd/mobius-hotline-server/main.go @@ -169,11 +169,13 @@ func main() { // Assign functions to handle specific Hotline transaction types mobius.RegisterHandlers(srv) - s, err := bonjour.Register(srv.Config.Name, "_hotline._tcp", "", *basePort, []string{"txtv=1", "app=hotline"}, nil) - if err != nil { - slogger.Error("Error registering Hotline server with Bonjour", "err", err) + if srv.Config.EnableBonjour { + s, err := bonjour.Register(srv.Config.Name, "_hotline._tcp", "", *basePort, []string{"txtv=1", "app=hotline"}, nil) + if err != nil { + slogger.Error("Error registering Hotline server with Bonjour", "err", err) + } + defer s.Shutdown() } - defer s.Shutdown() // Serve Hotline requests until program exit log.Fatal(srv.ListenAndServe(ctx)) diff --git a/cmd/mobius-hotline-server/mobius/config/config.yaml b/cmd/mobius-hotline-server/mobius/config/config.yaml index 0801621..7cb7412 100644 --- a/cmd/mobius-hotline-server/mobius/config/config.yaml +++ b/cmd/mobius-hotline-server/mobius/config/config.yaml @@ -58,3 +58,6 @@ MaxConnectionsPerIP: 0 IgnoreFiles: - '^\.' # Ignore all files starting with ".". Leave this set if you are using the PreserveResourceForks option. - '^@' # Ignore all files starting with "@" + +# Enable service announcement on local network with Bonjour +EnableBonjour: false \ No newline at end of file diff --git a/hotline/config.go b/hotline/config.go index 1ad0ec2..a7bd81e 100644 --- a/hotline/config.go +++ b/hotline/config.go @@ -14,4 +14,5 @@ type Config struct { MaxConnectionsPerIP int `yaml:"MaxConnectionsPerIP"` // Max connections per IP PreserveResourceForks bool `yaml:"PreserveResourceForks"` // Enable preservation of file info and resource forks in sidecar files IgnoreFiles []string `yaml:"IgnoreFiles"` // List of regular expression for filtering files from the file list + EnableBonjour bool `yaml:"EnableBonjour"` // Enable service announcement on local network with Bonjour }