public PrivateNodeConfig() { Security = new NodeConfig.SecurityPolicy(); BrunetNamespace = String.Empty; }
public override int Parse(string[] args) { if(base.Parse(args) != 0) { return -1; } if(_ipop_config_path == string.Empty || !File.Exists(_ipop_config_path)) { _error_message = "Missing IpopConfig"; return -1; } try { Validator.Validate(_ipop_config_path, IPOP_XSD); _ipop_config = Utils.ReadConfig<IpopConfig>(_ipop_config_path); _ipop_config.Path = _ipop_config_path; } catch (Exception e) { _error_message = "Invalid IpopConfig file:" + e.Message; return -1; } if(_dhcp_config_path != string.Empty) { if(!File.Exists(_dhcp_config_path)) { _error_message = "No such DhtIpop file"; return -1; } try { Validator.Validate(_dhcp_config_path, DHCP_XSD); _dhcp_config = Utils.ReadConfig<DHCPConfig>(_dhcp_config_path); } catch(Exception e) { _error_message = "Invalid DhcpConfig file: " + e.Message; return -1; } if(!_dhcp_config.Namespace.Equals(_ipop_config.IpopNamespace)) { _error_message = "IpopConfig.Namespace isn't the same as DHCPConfig.Namespace"; return -1; } } if(_node_config.PrivateNodeConfig != null && _node_config.PrivateNodeConfig.Enabled) { _sp = _node_config.PrivateNodeConfig.Security; } else { _sp = _node_config.Security; } _group_vpn = _sp.Enabled && _ipop_config.GroupVPN.Enabled && (_ipop_config.EndToEndSecurity || _sp != _node_config.Security); return 0; }