mirror of
https://github.com/oxen-io/lokinet.git
synced 2024-11-02 03:40:12 +00:00
14de93066a
add fonts (licence: https://github.com/be5invis/Iosevka/blob/master/LICENSE.md) remove release tag (iss should have a custom option for cli builds in the editor)
67 lines
2.5 KiB
C#
67 lines
2.5 KiB
C#
using System;
|
|
using System.Net;
|
|
using System.Net.Security;
|
|
using System.Security.Cryptography.X509Certificates;
|
|
using System.Windows.Forms;
|
|
|
|
namespace network.loki.lokinet.win32.ui
|
|
{
|
|
public partial class dlgBootstrap : Form
|
|
{
|
|
public dlgBootstrap()
|
|
{
|
|
InitializeComponent();
|
|
if (Program.platform == PlatformID.Win32NT)
|
|
default_path = Environment.ExpandEnvironmentVariables("%APPDATA%\\.lokinet\\bootstrap.signed");
|
|
else
|
|
default_path = Environment.ExpandEnvironmentVariables("%HOME%/.lokinet/bootstrap.signed");
|
|
label2.Text = String.Format("This file is automatically saved as {0}.", default_path);
|
|
}
|
|
|
|
private WebClient wc;
|
|
private string default_path;
|
|
private void button1_Click(object sender, EventArgs e)
|
|
{
|
|
ServicePointManager.ServerCertificateValidationCallback += cert_check;
|
|
ServicePointManager.SecurityProtocol = (SecurityProtocolType)48 | 0 | (SecurityProtocolType)192 | (SecurityProtocolType)768 | (SecurityProtocolType)3072;
|
|
wc = new WebClient();
|
|
// add something more unique, this is the IE 5.0 default string
|
|
wc.Headers.Add("User-Agent","Mozilla/4.0 (compatible; MSIE 5.0; Windows NT 5.0)");
|
|
try
|
|
{
|
|
wc.DownloadFile(uriBox.Text, default_path);
|
|
MessageBox.Show("LokiNET node bootstrapped", "LokiNET", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
DialogResult = DialogResult.OK;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show(string.Format("An error occured while downloading data. {0}", ex.Message), "Error", MessageBoxButtons.OK, MessageBoxIcon.Hand);
|
|
DialogResult = DialogResult.Abort;
|
|
}
|
|
wc.Dispose();
|
|
Close();
|
|
}
|
|
|
|
private bool cert_check(object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors error)
|
|
{
|
|
// If the certificate is a valid, signed certificate, return true.
|
|
if (error == System.Net.Security.SslPolicyErrors.None)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
MessageBox.Show(string.Format("X509Certificate [{0}] Policy Error: '{1}'",
|
|
cert.Subject,
|
|
error.ToString()), "SSL Error", MessageBoxButtons.OK, MessageBoxIcon.Hand);
|
|
|
|
return false;
|
|
}
|
|
|
|
private void button1_Click_1(object sender, EventArgs e)
|
|
{
|
|
DialogResult = DialogResult.Cancel;
|
|
Close();
|
|
}
|
|
}
|
|
}
|