public override string SaveData() { var rv = new SrdConfig(); rv.FirstIP = txtIP.Text.Trim(); rv.Subnet = IPv6 ? 124 - 4 * ddSubnet.SelectedIndex : 24 - 8 * ddSubnet.SelectedIndex; rv.Prefix = txtPrefix.Text.Trim().ToLower(); rv.FullIP = ddIP.SelectedIndex==0; rv.Suffix = txtSuffix.Text.Trim().ToLower(); rv.TTL = ctlTTL1.Value; rv.HostReq = chkHostReq.Checked; return rv.Serialize(); }
public void LoadConfig(string config, Guid instanceID, string dataPath, ref int maxThreads) { Cfg = SrdConfig.DeSerialize(config); var ip = System.Net.IPAddress.Parse(Cfg.FirstIP); CfgIPv6 =ip.AddressFamily==System.Net.Sockets.AddressFamily.InterNetworkV6 ; var ipb = ip.GetAddressBytes(); if (CfgIPv6) { var sb = new System.Text.StringBuilder(32); for (var i = 0; i < 16; i++) sb.Append(ByteToHex2( ipb[i])); HostIPMatchPrefix = sb.ToString(0, Cfg.Subnet / 4); } else { HostIPMatchPrefix = ipb[0].ToString(); if (Cfg.Subnet >= 16) { HostIPMatchPrefix += "." + ipb[1].ToString(); } if (Cfg.Subnet == 24) { HostIPMatchPrefix += "." + ipb[2].ToString(); } } }