1
0
mirror of https://github.com/Ylianst/MeshCentralRouter synced 2025-12-15 15:53:45 +00:00

URI exception fix.

This commit is contained in:
Ylian Saint-Hilaire
2020-06-07 11:23:13 -07:00
parent 85b4f017bc
commit d7eeaac3fe
2 changed files with 31 additions and 12 deletions

View File

@@ -280,7 +280,6 @@ namespace MeshCentralRouter
private void nextButton1_Click(object sender, EventArgs e) private void nextButton1_Click(object sender, EventArgs e)
{ {
// Attempt to login // Attempt to login
addButton.Enabled = false; addButton.Enabled = false;
addRelayButton.Enabled = false; addRelayButton.Enabled = false;
@@ -293,12 +292,15 @@ namespace MeshCentralRouter
meshcentral.onLoginTokenChanged += Meshcentral_onLoginTokenChanged; meshcentral.onLoginTokenChanged += Meshcentral_onLoginTokenChanged;
if (lastBadConnectCert != null) { meshcentral.okCertHash = lastBadConnectCert.GetCertHashString(); } if (lastBadConnectCert != null) { meshcentral.okCertHash = lastBadConnectCert.GetCertHashString(); }
Uri serverurl = new Uri("wss://" + serverNameComboBox.Text + "/control.ashx"); Uri serverurl = null;
if (authLoginUrl != null) { if (authLoginUrl != null) {
meshcentral.okCertHash2 = getValueFromQueryString(authLoginUrl.Query, "t"); try {
serverurl = new Uri("wss://" + authLoginUrl.Host + ":" + ((authLoginUrl.Port > 0) ? authLoginUrl.Port : 443) + authLoginUrl.LocalPath + "?auth=" + getValueFromQueryString(authLoginUrl.Query, "c")); meshcentral.okCertHash2 = getValueFromQueryString(authLoginUrl.Query, "t");
serverurl = new Uri("wss://" + authLoginUrl.Host + ":" + ((authLoginUrl.Port > 0) ? authLoginUrl.Port : 443) + authLoginUrl.LocalPath + "?auth=" + getValueFromQueryString(authLoginUrl.Query, "c"));
} catch (Exception) { }
meshcentral.connect(serverurl, null, null, null); meshcentral.connect(serverurl, null, null, null);
} else { } else {
try { serverurl = new Uri("wss://" + serverNameComboBox.Text + "/control.ashx"); } catch (Exception) { }
meshcentral.connect(serverurl, userNameTextBox.Text, passwordTextBox.Text, null); meshcentral.connect(serverurl, userNameTextBox.Text, passwordTextBox.Text, null);
} }
} }
@@ -317,12 +319,13 @@ namespace MeshCentralRouter
meshcentral.onLoginTokenChanged += Meshcentral_onLoginTokenChanged; meshcentral.onLoginTokenChanged += Meshcentral_onLoginTokenChanged;
meshcentral.okCertHash = lastBadConnectCert.GetCertHashString(); meshcentral.okCertHash = lastBadConnectCert.GetCertHashString();
Uri serverurl = new Uri("wss://" + serverNameComboBox.Text + "/control.ashx"); Uri serverurl = null;
if (authLoginUrl != null) { if (authLoginUrl != null) {
meshcentral.okCertHash2 = getValueFromQueryString(authLoginUrl.Query, "t"); meshcentral.okCertHash2 = getValueFromQueryString(authLoginUrl.Query, "t");
serverurl = new Uri("wss://" + authLoginUrl.Host + ":" + ((authLoginUrl.Port > 0) ? authLoginUrl.Port : 443) + authLoginUrl.LocalPath + "?auth=" + getValueFromQueryString(authLoginUrl.Query, "c")); serverurl = new Uri("wss://" + authLoginUrl.Host + ":" + ((authLoginUrl.Port > 0) ? authLoginUrl.Port : 443) + authLoginUrl.LocalPath + "?auth=" + getValueFromQueryString(authLoginUrl.Query, "c"));
meshcentral.connect(serverurl, null, null, null); meshcentral.connect(serverurl, null, null, null);
} else { } else {
serverurl = new Uri("wss://" + serverNameComboBox.Text + "/control.ashx");
meshcentral.connect(serverurl, userNameTextBox.Text, passwordTextBox.Text, null); meshcentral.connect(serverurl, userNameTextBox.Text, passwordTextBox.Text, null);
} }
} }
@@ -787,8 +790,16 @@ namespace MeshCentralRouter
addButton.Enabled = false; addButton.Enabled = false;
addRelayButton.Enabled = false; addRelayButton.Enabled = false;
openWebSiteButton.Visible = false; openWebSiteButton.Visible = false;
Uri serverurl = new Uri("wss://" + serverNameComboBox.Text + "/control.ashx");
Uri serverurl = null;
if (authLoginUrl != null) {
serverurl = new Uri("wss://" + authLoginUrl.Host + ":" + ((authLoginUrl.Port > 0) ? authLoginUrl.Port : 443) + authLoginUrl.LocalPath + "?auth=" + getValueFromQueryString(authLoginUrl.Query, "c"));
} else {
serverurl = new Uri("wss://" + serverNameComboBox.Text + "/control.ashx");
}
meshcentral = new MeshCentralServer(); meshcentral = new MeshCentralServer();
meshcentral.debug = debug;
meshcentral.ignoreCert = ignoreCert; meshcentral.ignoreCert = ignoreCert;
if (lastBadConnectCert != null) { meshcentral.okCertHash = lastBadConnectCert.GetCertHashString(); } if (lastBadConnectCert != null) { meshcentral.okCertHash = lastBadConnectCert.GetCertHashString(); }
meshcentral.onStateChanged += Meshcentral_onStateChanged; meshcentral.onStateChanged += Meshcentral_onStateChanged;
@@ -886,7 +897,12 @@ namespace MeshCentralRouter
private void openWebSiteButton_Click(object sender, EventArgs e) private void openWebSiteButton_Click(object sender, EventArgs e)
{ {
if (meshcentral.loginCookie != null) { if (meshcentral.loginCookie != null) {
Uri serverurl = new Uri("https://" + serverNameComboBox.Text + "?login=" + meshcentral.loginCookie); Uri serverurl = null;
if (authLoginUrl != null) {
serverurl = new Uri("https://" + authLoginUrl.Host + ":" + ((authLoginUrl.Port > 0) ? authLoginUrl.Port : 443) + authLoginUrl.LocalPath + "?login=" + meshcentral.loginCookie);
} else {
serverurl = new Uri("https://" + serverNameComboBox.Text + "?login=" + meshcentral.loginCookie);
}
System.Diagnostics.Process.Start(serverurl.ToString()); System.Diagnostics.Process.Start(serverurl.ToString());
} }
} }

View File

@@ -243,15 +243,18 @@ namespace MeshCentralRouter
if (jsonAction.ContainsKey("ugroups")) if (jsonAction.ContainsKey("ugroups"))
{ {
Dictionary<string, object> usergroups = (Dictionary<string, object>)jsonAction["ugroups"]; Dictionary<string, object> usergroups = (Dictionary<string, object>)jsonAction["ugroups"];
foreach (string i in usergroups.Keys) if (usergroups != null)
{ {
Dictionary<string, object> usergroupsEx = (Dictionary<string, object>)usergroups[i]; foreach (string i in usergroups.Keys)
if (usergroupsEx.ContainsKey("name"))
{ {
userGroups.Add(i, usergroupsEx["name"].ToString()); Dictionary<string, object> usergroupsEx = (Dictionary<string, object>)usergroups[i];
if (usergroupsEx.ContainsKey("name"))
{
userGroups.Add(i, usergroupsEx["name"].ToString());
}
} }
if ((onNodesChanged != null) && (nodes != null)) onNodesChanged();
} }
if ((onNodesChanged != null) && (nodes != null)) onNodesChanged();
} }
break; break;
} }