From 4711856cd43f58ff42f78a6343515331a402f44f Mon Sep 17 00:00:00 2001
From: ale <ale@incal.net>
Date: Fri, 15 Nov 2013 10:13:34 +0000
Subject: [PATCH] prevent broken updates when no master is set

---
 node/icecast.go | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/node/icecast.go b/node/icecast.go
index 843024fe..1102682f 100644
--- a/node/icecast.go
+++ b/node/icecast.go
@@ -1,6 +1,8 @@
 package node
 
 import (
+	"errors"
+	"log"
 	"os"
 	"os/exec"
 )
@@ -30,6 +32,11 @@ func (ic *IcecastController) reload() error {
 }
 
 func (ic *IcecastController) Update(conf *ClusterConfig, isMaster bool, masterAddr string) error {
+	if !isMaster && masterAddr == "" {
+		log.Printf("system in unknown state (no master) - update aborted")
+		return errors.New("unknown system state")
+	}
+
 	tmpf := ic.ConfigFile + ".tmp"
 	defer os.Remove(tmpf)
 
-- 
GitLab