X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=src%2Fgovpn%2Fcmd%2Fgovpn-server%2Fconf.go;h=76d56cd8ae9f5185e954ff2dbc729b28a40c15f0;hb=9364defa689e91c6fb54651876fbf2d02eec35ec;hp=4136fabbdec4a2472af4ee80405d625344750f49;hpb=17c2f7327a0178dd61a8a2afa26a0dda383154a9;p=govpn.git diff --git a/src/govpn/cmd/govpn-server/conf.go b/src/govpn/cmd/govpn-server/conf.go index 4136fab..76d56cd 100644 --- a/src/govpn/cmd/govpn-server/conf.go +++ b/src/govpn/cmd/govpn-server/conf.go @@ -19,14 +19,11 @@ along with this program. If not, see . package main import ( - "encoding/hex" "encoding/json" "io/ioutil" "log" "time" - "github.com/agl/ed25519" - "govpn" ) @@ -51,35 +48,25 @@ func confRead() map[govpn.PeerId]*govpn.PeerConf { } confs := make(map[govpn.PeerId]*govpn.PeerConf, len(*confsRaw)) - for peerIdRaw, pc := range *confsRaw { - peerId, err := govpn.IDDecode(peerIdRaw) + for name, pc := range *confsRaw { + verifier, err := govpn.VerifierFromString(pc.VerifierRaw) if err != nil { - log.Fatalln("Invalid peer ID:", peerIdRaw, err) + log.Fatalln("Unable to decode the key:", err.Error(), pc.VerifierRaw) } conf := govpn.PeerConf{ - Id: peerId, - Name: pc.Name, - Up: pc.Up, - Down: pc.Down, - Noise: pc.Noise, - CPR: pc.CPR, + Verifier: verifier, + Id: verifier.Id, + Name: name, + Up: pc.Up, + Down: pc.Down, + Noise: pc.Noise, + CPR: pc.CPR, } if pc.TimeoutInt <= 0 { pc.TimeoutInt = govpn.TimeoutDefault } conf.Timeout = time.Second * time.Duration(pc.TimeoutInt) - - if len(pc.Verifier) != ed25519.PublicKeySize*2 { - log.Fatalln("Verifier must be 64 hex characters long") - } - keyDecoded, err := hex.DecodeString(string(pc.Verifier)) - if err != nil { - log.Fatalln("Unable to decode the key:", err.Error(), pc.Verifier) - } - conf.DSAPub = new([ed25519.PublicKeySize]byte) - copy(conf.DSAPub[:], keyDecoded) - - confs[*peerId] = &conf + confs[*verifier.Id] = &conf } return confs }