diff options
| -rw-r--r-- | provider_base/services/obfsproxy.json | 7 | 
1 files changed, 6 insertions, 1 deletions
| diff --git a/provider_base/services/obfsproxy.json b/provider_base/services/obfsproxy.json index 792a4183..d6771148 100644 --- a/provider_base/services/obfsproxy.json +++ b/provider_base/services/obfsproxy.json @@ -4,6 +4,11 @@        "password": "= base32_secret :scramblesuit_password",        "port" : "= rand_range :scramblesuit_port, 18000..32000"      }, -    "gateway_address": "= nodes[:services => 'openvpn'].field('openvpn.gateway_address')[0]" +    "gateway_address": "= self['openvpn'] ? openvpn.gateway_address : nodes_like_me[:services => 'openvpn'].field('openvpn.gateway_address').shuffle.first" +    // Later, if we add a SafeNil class that looks and acts like nil +    // but will allow you to call methods on it (each returning another SafeNil) +    // without throwing an exception, we could do: +    // "gateway_address": "= self['openvpn'] ? openvpn.gateway_address : (nodes_like_me[:services => 'openvpn']['location.name' => location.name].field('openvpn.gateway_address').shuffle.first || nodes_like_me[:services => 'openvpn'].field('openvpn.gateway_address').shuffle.first)" +    // Perhaps we should also create a macro.    }  } | 
