Skip to content

Commit df17f91

Browse files
committed
ncm: proxy location check
1 parent 3ddc95a commit df17f91

1 file changed

Lines changed: 37 additions & 31 deletions

File tree

model/network_client_model.go

Lines changed: 37 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -261,45 +261,51 @@ func AuthNetworkClient(
261261
)
262262
}
263263

264-
if proxyDeviceState.Location != nil {
265-
proxyDeviceState.DnsResolverSettings = connect.RegionalDnsResolverSettings(proxyDeviceState.Location.CountryCode)
266-
}
267-
268-
proxyDeviceConfig := &ProxyDeviceConfig{
269-
ProxyDeviceConnection: ProxyDeviceConnection{
270-
ClientId: clientId,
271-
},
272-
LockSubnets: lockSubnets,
273-
InitialDeviceState: &proxyDeviceState,
274-
}
275-
err := CreateProxyDeviceConfig(session.Ctx, proxyDeviceConfig)
276-
if err == nil {
277-
278-
opts := CreateProxyClientOptions{
279-
HttpsRequireAuth: authClient.ProxyConfig.HttpsRequireAuth,
280-
EnableWg: authClient.ProxyConfig.EnableWg,
264+
if proxyDeviceState.Location == nil {
265+
authClientResult.Error = &AuthNetworkClientError{
266+
Message: "Invalid location",
267+
}
268+
} else {
269+
if proxyDeviceState.Location.CountryCode != "" {
270+
proxyDeviceState.DnsResolverSettings = connect.RegionalDnsResolverSettings(proxyDeviceState.Location.CountryCode)
281271
}
282-
proxyClient, err := CreateProxyClient(
283-
session.Ctx,
284-
proxyDeviceConfig.ProxyId,
285-
proxyDeviceConfig.ClientId,
286-
proxyDeviceConfig.InstanceId,
287-
opts,
288-
)
289272

273+
proxyDeviceConfig := &ProxyDeviceConfig{
274+
ProxyDeviceConnection: ProxyDeviceConnection{
275+
ClientId: clientId,
276+
},
277+
LockSubnets: lockSubnets,
278+
InitialDeviceState: &proxyDeviceState,
279+
}
280+
err := CreateProxyDeviceConfig(session.Ctx, proxyDeviceConfig)
290281
if err == nil {
291-
authClientResult.ProxyConfigResult = &ProxyConfigResult{
292-
ProxyClient: *proxyClient,
282+
283+
opts := CreateProxyClientOptions{
284+
HttpsRequireAuth: authClient.ProxyConfig.HttpsRequireAuth,
285+
EnableWg: authClient.ProxyConfig.EnableWg,
286+
}
287+
proxyClient, err := CreateProxyClient(
288+
session.Ctx,
289+
proxyDeviceConfig.ProxyId,
290+
proxyDeviceConfig.ClientId,
291+
proxyDeviceConfig.InstanceId,
292+
opts,
293+
)
294+
295+
if err == nil {
296+
authClientResult.ProxyConfigResult = &ProxyConfigResult{
297+
ProxyClient: *proxyClient,
298+
}
299+
} else {
300+
authClientResult.Error = &AuthNetworkClientError{
301+
Message: "Could not create proxy client",
302+
}
293303
}
294304
} else {
295305
authClientResult.Error = &AuthNetworkClientError{
296-
Message: "Could not create proxy client",
306+
Message: "Could not create proxy device",
297307
}
298308
}
299-
} else {
300-
authClientResult.Error = &AuthNetworkClientError{
301-
Message: "Could not create proxy device",
302-
}
303309
}
304310
}
305311
} else {

0 commit comments

Comments
 (0)