From 30bdc3243fc8b4e2a7f8948a7aecb7c7614242be Mon Sep 17 00:00:00 2001 From: Ilya Sosnovsky Date: Wed, 10 Mar 2021 17:54:27 +0300 Subject: [PATCH] Fix template rendering bug --- docker-compose-slave.yaml | 3 +-- docker-compose.yaml | 4 +--- main.go | 10 ++++++++-- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/docker-compose-slave.yaml b/docker-compose-slave.yaml index 454d2c8..05efeda 100644 --- a/docker-compose-slave.yaml +++ b/docker-compose-slave.yaml @@ -8,7 +8,6 @@ services: image: openvpn:local command: /etc/openvpn/setup/configure.sh environment: - - OPVN_PASSWD_AUTH=true - OPVN_ROLE=slave cap_add: - NET_ADMIN @@ -22,7 +21,7 @@ services: build: context: . image: openvpn-admin:local - command: /app/openvpn-admin --debug --ovpn.network="172.16.100.0/22" --master.sync-token="TOKEN" --master.host="http://172.20.0.1:8080" --role="slave" --ovpn.server="127.0.0.1:7777:tcp" --ovpn.server="127.0.0.1:7778:tcp" --auth.password + command: /app/openvpn-admin --debug --ovpn.network="172.16.100.0/22" --master.sync-token="TOKEN" --master.host="http://172.20.0.1:8080" --role="slave" --ovpn.server="127.0.0.1:7777:tcp" --ovpn.server="127.0.0.1:7778:tcp" --easyrsa.path="/mnt/easyrsa" --easyrsa.index-path="/mnt/easyrsa/pki/index.txt" environment: - OPVN_SLAVE=1 network_mode: service:openvpn diff --git a/docker-compose.yaml b/docker-compose.yaml index 98873b3..5cebfa2 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -7,8 +7,6 @@ services: dockerfile: Dockerfile.openvpn image: openvpn:local command: /etc/openvpn/setup/configure.sh - environment: - - OPVN_PASSWD_AUTH=true cap_add: - NET_ADMIN ports: @@ -21,7 +19,7 @@ services: build: context: . image: openvpn-admin:local - command: /app/openvpn-admin --debug --ovpn.network="172.16.100.0/22" --master.sync-token="TOKEN" --auth.password --ovpn.server="127.0.0.1:7777:tcp" + command: /app/openvpn-admin --debug --ovpn.network="172.16.100.0/22" --master.sync-token="TOKEN" --easyrsa.path="/mnt/easyrsa" --easyrsa.index-path="/mnt/easyrsa/pki/index.txt" --ovpn.server="127.0.0.1:7777:tcp" network_mode: service:openvpn volumes: - ./easyrsa_master:/mnt/easyrsa diff --git a/main.go b/main.go index 7c6db9d..f797344 100644 --- a/main.go +++ b/main.go @@ -532,6 +532,9 @@ func (oAdmin *OpenvpnAdmin) renderClientConfig(username string) string { parts := strings.SplitN(server, ":",3) hosts = append(hosts, OpenvpnServer{Host: parts[0], Port: parts[1], Protocol: parts[2]}) } + if *debug { + log.Printf("WARNING: hosts for %s\n %v", username, hosts ) + } conf := openvpnClientConfig{} conf.Hosts = hosts @@ -546,11 +549,14 @@ func (oAdmin *OpenvpnAdmin) renderClientConfig(username string) string { log.Println("ERROR: clientConfigTpl not found in templates box") } - t := template.New(clientConfigTpl) + t := template.Must(template.New("client-config").Parse(clientConfigTpl)) var tmp bytes.Buffer err := t.Execute(&tmp, conf) if err != nil { log.Printf("WARNING: something goes wrong during rendering config for %s", username ) + if *debug { + log.Printf("ERROR: rendering config for %s failed \n %v", username, err ) + } } hosts = nil @@ -602,7 +608,7 @@ func (oAdmin *OpenvpnAdmin) modifyCcd(ccd Ccd) (bool, string) { return false, ccdErr } - t := template.New(ccdTpl) + t := template.Must(template.New("ccd").Parse(ccdTpl)) var tmp bytes.Buffer tplErr := t.Execute(&tmp, ccd) if tplErr != nil {