File tree Expand file tree Collapse file tree 2 files changed +18
-4
lines changed
Expand file tree Collapse file tree 2 files changed +18
-4
lines changed Original file line number Diff line number Diff line change @@ -143,13 +143,21 @@ func (c addClientCmdConfig) Run() {
143143 }
144144 } else {
145145 // Get leaf server info
146+ var i int
147+ duplicate := make (map [string ]int )
146148 ip := net .ParseIP (c .serverAddress )
147149 if ip == nil {
148150 for idx , peer := range baseConfigE2EE .GetPeers () {
149151 if peer .GetNickname () == c .serverAddress {
150- c .serverAddress = baseConfigE2EE .GetPeers ()[idx ].GetApiAddr ().String ()
152+ duplicate [peer .GetNickname ()]++
153+ i = idx
151154 }
152155 }
156+ if duplicate [c .serverAddress ] >= 2 {
157+ check ("failed to resolve API address" , errors .New ("there are multiple servers with the nickname " + c .serverAddress ))
158+ } else {
159+ c .serverAddress = baseConfigE2EE .GetPeers ()[i ].GetApiAddr ().String ()
160+ }
153161 }
154162 leafApiAddr , err := netip .ParseAddr (c .serverAddress )
155163 check ("invalid server address" , err )
Original file line number Diff line number Diff line change @@ -205,16 +205,22 @@ func (c addServerCmdConfig) Run() {
205205 check ("failed to set addresses" , err )
206206 } else {
207207 // Get leaf server info
208+ var i int
209+ duplicate := make (map [string ]int )
208210 ip := net .ParseIP (c .serverAddress )
209211 if ip == nil {
210- fmt .Println ("Server Nickname: " + c .serverAddress )
211212 for idx , peer := range clientConfigE2EE .GetPeers () {
212213 if peer .GetNickname () == c .serverAddress {
213- c .serverAddress = clientConfigE2EE .GetPeers ()[idx ].GetApiAddr ().String ()
214+ duplicate [peer .GetNickname ()]++
215+ i = idx
214216 }
215217 }
218+ if duplicate [c .serverAddress ] >= 2 {
219+ check ("failed to resolve API address" , errors .New ("there are multiple servers with the nickname " + c .serverAddress ))
220+ } else {
221+ c .serverAddress = clientConfigE2EE .GetPeers ()[i ].GetApiAddr ().String ()
222+ }
216223 }
217- fmt .Println ("Server API: " + c .serverAddress )
218224 leafApiAddr , err := netip .ParseAddr (c .serverAddress )
219225 check ("invalid server address" , err )
220226 leafApiAddrPort := netip .AddrPortFrom (leafApiAddr , uint16 (ApiPort ))
You can’t perform that action at this time.
0 commit comments