From d7825a4da815a149ac5573486722954e82d1d2e5 Mon Sep 17 00:00:00 2001 From: Bernhard B Date: Sun, 10 Oct 2021 17:54:08 +0200 Subject: [PATCH] only add numbers to jsonrpc2.yml config file; skip any other files starting with a '+' --- src/scripts/jsonrpc2-helper.go | 57 +++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 25 deletions(-) diff --git a/src/scripts/jsonrpc2-helper.go b/src/scripts/jsonrpc2-helper.go index 127808b..1491072 100644 --- a/src/scripts/jsonrpc2-helper.go +++ b/src/scripts/jsonrpc2-helper.go @@ -43,34 +43,41 @@ func main() { err := filepath.Walk(*signalCliConfigDir, func(path string, info os.FileInfo, err error) error { filename := filepath.Base(path) if strings.HasPrefix(filename, "+") && info.Mode().IsRegular() { - fifoPathname := fifoBasePathName + strconv.FormatInt(ctr, 10) - tcpPort := tcpBasePort + ctr - jsonRpc2ClientConfig.AddEntry(filename, utils.ConfigEntry{TcpPort: tcpPort, FifoPathname: fifoPathname}) - ctr += 1 - _, err = exec.Command("mkfifo", fifoPathname).Output() - if err != nil { - log.Fatal("Couldn't create fifo with name ", fifoPathname, ": ", err.Error()) - } + if utils.IsPhoneNumber(filename) { + number := filename + fifoPathname := fifoBasePathName + strconv.FormatInt(ctr, 10) + tcpPort := tcpBasePort + ctr + jsonRpc2ClientConfig.AddEntry(number, utils.ConfigEntry{TcpPort: tcpPort, FifoPathname: fifoPathname}) + ctr += 1 + _, err = exec.Command("mkfifo", fifoPathname).Output() + if err != nil { + log.Fatal("Couldn't create fifo with name ", fifoPathname, ": ", err.Error()) + } - _, err = exec.Command("chown", "1000:1000", fifoPathname).Output() - if err != nil { - log.Fatal("Couldn't change permissions of fifo with name ", fifoPathname, ": ", err.Error()) - } + _, err = exec.Command("chown", "1000:1000", fifoPathname).Output() + if err != nil { + log.Fatal("Couldn't change permissions of fifo with name ", fifoPathname, ": ", err.Error()) + } - supervisorctlProgramName := "signal-cli-json-rpc-" + strconv.FormatInt(ctr, 10) - supervisorctlLogFolder := "/var/log/" + supervisorctlProgramName - _, err = exec.Command("mkdir", "-p", supervisorctlLogFolder).Output() - if err != nil { - log.Fatal("Couldn't create log folder ", supervisorctlLogFolder, ": ", err.Error()) - } + supervisorctlProgramName := "signal-cli-json-rpc-" + strconv.FormatInt(ctr, 10) + supervisorctlLogFolder := "/var/log/" + supervisorctlProgramName + _, err = exec.Command("mkdir", "-p", supervisorctlLogFolder).Output() + if err != nil { + log.Fatal("Couldn't create log folder ", supervisorctlLogFolder, ": ", err.Error()) + } - //write supervisorctl config - supervisorctlConfigFilename := "/etc/supervisor/conf.d/" + "signal-cli-json-rpc-" + strconv.FormatInt(ctr, 10) + ".conf" - supervisorctlConfig := fmt.Sprintf(supervisorctlConfigTemplate, supervisorctlProgramName, supervisorctlProgramName, - tcpPort, fifoPathname, filename, fifoPathname, supervisorctlProgramName, supervisorctlProgramName) - err = ioutil.WriteFile(supervisorctlConfigFilename, []byte(supervisorctlConfig), 0644) - if err != nil { - log.Fatal("Couldn't write ", supervisorctlConfigFilename, ": ", err.Error()) + log.Info("Found number ", number, " and added it to jsonrpc2.yml") + + //write supervisorctl config + supervisorctlConfigFilename := "/etc/supervisor/conf.d/" + "signal-cli-json-rpc-" + strconv.FormatInt(ctr, 10) + ".conf" + supervisorctlConfig := fmt.Sprintf(supervisorctlConfigTemplate, supervisorctlProgramName, supervisorctlProgramName, + tcpPort, fifoPathname, number, fifoPathname, supervisorctlProgramName, supervisorctlProgramName) + err = ioutil.WriteFile(supervisorctlConfigFilename, []byte(supervisorctlConfig), 0644) + if err != nil { + log.Fatal("Couldn't write ", supervisorctlConfigFilename, ": ", err.Error()) + } + } else { + log.Error("Skipping ", filename, " as it is not a valid phone number!") } } return nil