mirror of
https://github.com/Ylianst/MeshCentralRouter
synced 2025-12-06 00:13:33 +00:00
fix force2factor #116
Signed-off-by: Simon Smith <simonsmith5521@gmail.com>
This commit is contained in:
9
Properties/Resources.Designer.cs
generated
9
Properties/Resources.Designer.cs
generated
@@ -980,6 +980,15 @@ namespace MeshCentralRouter.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Complete 2FA setup online first.
|
||||||
|
/// </summary>
|
||||||
|
internal static string TwoFactorSetupRequired {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("TwoFactorSetupRequired", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Unable to bind to local port.
|
/// Looks up a localized string similar to Unable to bind to local port.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -478,4 +478,7 @@
|
|||||||
<data name="SendTokenMSG" xml:space="preserve">
|
<data name="SendTokenMSG" xml:space="preserve">
|
||||||
<value>Send token to registered messaging application?</value>
|
<value>Send token to registered messaging application?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="TwoFactorSetupRequired" xml:space="preserve">
|
||||||
|
<value>Complete 2FA setup online first</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
82
src/MainForm.Designer.cs
generated
82
src/MainForm.Designer.cs
generated
@@ -91,6 +91,9 @@
|
|||||||
this.devicesTabPage = new System.Windows.Forms.TabPage();
|
this.devicesTabPage = new System.Windows.Forms.TabPage();
|
||||||
this.devicesPanel = new System.Windows.Forms.Panel();
|
this.devicesPanel = new System.Windows.Forms.Panel();
|
||||||
this.cancelAutoCloseButton1 = new System.Windows.Forms.Button();
|
this.cancelAutoCloseButton1 = new System.Windows.Forms.Button();
|
||||||
|
this.devicesListView = new MeshCentralRouter.ListViewExtended();
|
||||||
|
this.nameColumnHeader = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||||
|
this.stateColumnHeader = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||||
this.devicesContextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
|
this.devicesContextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||||
this.addMapToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.addMapToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.addRelayMapToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.addRelayMapToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
@@ -106,6 +109,7 @@
|
|||||||
this.sshToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.sshToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.scpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.scpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.wolToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.wolToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.chatToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.devicesImageList = new System.Windows.Forms.ImageList(this.components);
|
this.devicesImageList = new System.Windows.Forms.ImageList(this.components);
|
||||||
this.noSearchResultsLabel = new System.Windows.Forms.Label();
|
this.noSearchResultsLabel = new System.Windows.Forms.Label();
|
||||||
this.noDevicesLabel = new System.Windows.Forms.Label();
|
this.noDevicesLabel = new System.Windows.Forms.Label();
|
||||||
@@ -138,10 +142,6 @@
|
|||||||
this.customAppsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.customAppsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.openMapFileDialog = new System.Windows.Forms.OpenFileDialog();
|
this.openMapFileDialog = new System.Windows.Forms.OpenFileDialog();
|
||||||
this.saveMapFileDialog = new System.Windows.Forms.SaveFileDialog();
|
this.saveMapFileDialog = new System.Windows.Forms.SaveFileDialog();
|
||||||
this.chatToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
|
||||||
this.devicesListView = new MeshCentralRouter.ListViewExtended();
|
|
||||||
this.nameColumnHeader = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
|
||||||
this.stateColumnHeader = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
|
||||||
this.panel5.SuspendLayout();
|
this.panel5.SuspendLayout();
|
||||||
this.mainPanel.SuspendLayout();
|
this.mainPanel.SuspendLayout();
|
||||||
this.mainTabControl.SuspendLayout();
|
this.mainTabControl.SuspendLayout();
|
||||||
@@ -635,6 +635,37 @@
|
|||||||
this.cancelAutoCloseButton1.Click += new System.EventHandler(this.cancelAutoCloseButton_Click);
|
this.cancelAutoCloseButton1.Click += new System.EventHandler(this.cancelAutoCloseButton_Click);
|
||||||
this.cancelAutoCloseButton1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.MainForm_KeyPress);
|
this.cancelAutoCloseButton1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.MainForm_KeyPress);
|
||||||
//
|
//
|
||||||
|
// devicesListView
|
||||||
|
//
|
||||||
|
this.devicesListView.BackColor = System.Drawing.SystemColors.Window;
|
||||||
|
this.devicesListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||||
|
this.nameColumnHeader,
|
||||||
|
this.stateColumnHeader});
|
||||||
|
this.devicesListView.ContextMenuStrip = this.devicesContextMenuStrip;
|
||||||
|
this.devicesListView.FullRowSelect = true;
|
||||||
|
this.devicesListView.GridLines = true;
|
||||||
|
this.devicesListView.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
|
||||||
|
this.devicesListView.HideSelection = false;
|
||||||
|
this.devicesListView.LargeImageList = this.devicesImageList;
|
||||||
|
resources.ApplyResources(this.devicesListView, "devicesListView");
|
||||||
|
this.devicesListView.MultiSelect = false;
|
||||||
|
this.devicesListView.Name = "devicesListView";
|
||||||
|
this.devicesListView.SmallImageList = this.devicesImageList;
|
||||||
|
this.devicesListView.Sorting = System.Windows.Forms.SortOrder.Ascending;
|
||||||
|
this.devicesListView.UseCompatibleStateImageBehavior = false;
|
||||||
|
this.devicesListView.View = System.Windows.Forms.View.Details;
|
||||||
|
this.devicesListView.Click += new System.EventHandler(this.devicesListView_Click);
|
||||||
|
this.devicesListView.DoubleClick += new System.EventHandler(this.devicesListView_DoubleClick);
|
||||||
|
this.devicesListView.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.MainForm_KeyPress);
|
||||||
|
//
|
||||||
|
// nameColumnHeader
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.nameColumnHeader, "nameColumnHeader");
|
||||||
|
//
|
||||||
|
// stateColumnHeader
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.stateColumnHeader, "stateColumnHeader");
|
||||||
|
//
|
||||||
// devicesContextMenuStrip
|
// devicesContextMenuStrip
|
||||||
//
|
//
|
||||||
this.devicesContextMenuStrip.ImageScalingSize = new System.Drawing.Size(24, 24);
|
this.devicesContextMenuStrip.ImageScalingSize = new System.Drawing.Size(24, 24);
|
||||||
@@ -742,6 +773,12 @@
|
|||||||
resources.ApplyResources(this.wolToolStripMenuItem, "wolToolStripMenuItem");
|
resources.ApplyResources(this.wolToolStripMenuItem, "wolToolStripMenuItem");
|
||||||
this.wolToolStripMenuItem.Click += new System.EventHandler(this.wolToolStripMenuItem_Click);
|
this.wolToolStripMenuItem.Click += new System.EventHandler(this.wolToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
|
// chatToolStripMenuItem
|
||||||
|
//
|
||||||
|
this.chatToolStripMenuItem.Name = "chatToolStripMenuItem";
|
||||||
|
resources.ApplyResources(this.chatToolStripMenuItem, "chatToolStripMenuItem");
|
||||||
|
this.chatToolStripMenuItem.Click += new System.EventHandler(this.chatToolStripMenuItem_Click);
|
||||||
|
//
|
||||||
// devicesImageList
|
// devicesImageList
|
||||||
//
|
//
|
||||||
this.devicesImageList.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("devicesImageList.ImageStream")));
|
this.devicesImageList.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("devicesImageList.ImageStream")));
|
||||||
@@ -978,43 +1015,6 @@
|
|||||||
this.saveMapFileDialog.DefaultExt = "mcrouter";
|
this.saveMapFileDialog.DefaultExt = "mcrouter";
|
||||||
resources.ApplyResources(this.saveMapFileDialog, "saveMapFileDialog");
|
resources.ApplyResources(this.saveMapFileDialog, "saveMapFileDialog");
|
||||||
//
|
//
|
||||||
// chatToolStripMenuItem
|
|
||||||
//
|
|
||||||
this.chatToolStripMenuItem.Name = "chatToolStripMenuItem";
|
|
||||||
resources.ApplyResources(this.chatToolStripMenuItem, "chatToolStripMenuItem");
|
|
||||||
this.chatToolStripMenuItem.Click += new System.EventHandler(this.chatToolStripMenuItem_Click);
|
|
||||||
//
|
|
||||||
// devicesListView
|
|
||||||
//
|
|
||||||
this.devicesListView.BackColor = System.Drawing.SystemColors.Window;
|
|
||||||
this.devicesListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
|
||||||
this.nameColumnHeader,
|
|
||||||
this.stateColumnHeader});
|
|
||||||
this.devicesListView.ContextMenuStrip = this.devicesContextMenuStrip;
|
|
||||||
this.devicesListView.FullRowSelect = true;
|
|
||||||
this.devicesListView.GridLines = true;
|
|
||||||
this.devicesListView.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
|
|
||||||
this.devicesListView.HideSelection = false;
|
|
||||||
this.devicesListView.LargeImageList = this.devicesImageList;
|
|
||||||
resources.ApplyResources(this.devicesListView, "devicesListView");
|
|
||||||
this.devicesListView.MultiSelect = false;
|
|
||||||
this.devicesListView.Name = "devicesListView";
|
|
||||||
this.devicesListView.SmallImageList = this.devicesImageList;
|
|
||||||
this.devicesListView.Sorting = System.Windows.Forms.SortOrder.Ascending;
|
|
||||||
this.devicesListView.UseCompatibleStateImageBehavior = false;
|
|
||||||
this.devicesListView.View = System.Windows.Forms.View.Details;
|
|
||||||
this.devicesListView.Click += new System.EventHandler(this.devicesListView_Click);
|
|
||||||
this.devicesListView.DoubleClick += new System.EventHandler(this.devicesListView_DoubleClick);
|
|
||||||
this.devicesListView.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.MainForm_KeyPress);
|
|
||||||
//
|
|
||||||
// nameColumnHeader
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.nameColumnHeader, "nameColumnHeader");
|
|
||||||
//
|
|
||||||
// stateColumnHeader
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.stateColumnHeader, "stateColumnHeader");
|
|
||||||
//
|
|
||||||
// MainForm
|
// MainForm
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this, "$this");
|
resources.ApplyResources(this, "$this");
|
||||||
|
|||||||
@@ -1077,6 +1077,13 @@ namespace MeshCentralRouter
|
|||||||
stateClearTimer.Enabled = true;
|
stateClearTimer.Enabled = true;
|
||||||
serverNameComboBox.Focus();
|
serverNameComboBox.Focus();
|
||||||
}
|
}
|
||||||
|
else if ((meshcentral.disconnectMsg != null) && meshcentral.disconnectMsg.StartsWith("2fasetuprequired"))
|
||||||
|
{
|
||||||
|
stateLabel.Text = Translate.T(Properties.Resources.TwoFactorSetupRequired);
|
||||||
|
stateLabel.Visible = true;
|
||||||
|
stateClearTimer.Enabled = true;
|
||||||
|
serverNameComboBox.Focus();
|
||||||
|
}
|
||||||
else if (meshcentral.disconnectMsg == "cert")
|
else if (meshcentral.disconnectMsg == "cert")
|
||||||
{
|
{
|
||||||
lastBadConnectCert = meshcentral.disconnectCert;
|
lastBadConnectCert = meshcentral.disconnectCert;
|
||||||
|
|||||||
@@ -204,6 +204,9 @@
|
|||||||
<data name="stateLabel.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="stateLabel.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>241, 225</value>
|
<value>241, 225</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="stateLabel.MaximumSize" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>241, 0</value>
|
||||||
|
</data>
|
||||||
<data name="stateLabel.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="stateLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>88, 13</value>
|
<value>88, 13</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -1474,7 +1477,7 @@
|
|||||||
<value>NoControl</value>
|
<value>NoControl</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="cancelAutoCloseButton1.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="cancelAutoCloseButton1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>6, 176</value>
|
<value>6, 164</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="cancelAutoCloseButton1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="cancelAutoCloseButton1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>168, 35</value>
|
<value>168, 35</value>
|
||||||
@@ -1519,19 +1522,19 @@
|
|||||||
<value>Segoe UI, 9pt, style=Bold</value>
|
<value>Segoe UI, 9pt, style=Bold</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="addMapToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="addMapToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>180, 22</value>
|
<value>170, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="addMapToolStripMenuItem.Text" xml:space="preserve">
|
<data name="addMapToolStripMenuItem.Text" xml:space="preserve">
|
||||||
<value>Add &Map...</value>
|
<value>Add &Map...</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="addRelayMapToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="addRelayMapToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>180, 22</value>
|
<value>170, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="addRelayMapToolStripMenuItem.Text" xml:space="preserve">
|
<data name="addRelayMapToolStripMenuItem.Text" xml:space="preserve">
|
||||||
<value>Add &Relay Map...</value>
|
<value>Add &Relay Map...</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolStripMenuItem3.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="toolStripMenuItem3.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>177, 6</value>
|
<value>167, 6</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="askConsentBarToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="askConsentBarToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>171, 22</value>
|
<value>171, 22</value>
|
||||||
@@ -1552,61 +1555,61 @@
|
|||||||
<value>Privacy Bar</value>
|
<value>Privacy Bar</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="remoteDesktopToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="remoteDesktopToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>180, 22</value>
|
<value>170, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="remoteDesktopToolStripMenuItem.Text" xml:space="preserve">
|
<data name="remoteDesktopToolStripMenuItem.Text" xml:space="preserve">
|
||||||
<value>Remote Desktop...</value>
|
<value>Remote Desktop...</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="remoteFilesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="remoteFilesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>180, 22</value>
|
<value>170, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="remoteFilesToolStripMenuItem.Text" xml:space="preserve">
|
<data name="remoteFilesToolStripMenuItem.Text" xml:space="preserve">
|
||||||
<value>Remote Files...</value>
|
<value>Remote Files...</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="httpToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="httpToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>180, 22</value>
|
<value>170, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="httpToolStripMenuItem.Text" xml:space="preserve">
|
<data name="httpToolStripMenuItem.Text" xml:space="preserve">
|
||||||
<value>HTTP</value>
|
<value>HTTP</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="httpsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="httpsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>180, 22</value>
|
<value>170, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="httpsToolStripMenuItem.Text" xml:space="preserve">
|
<data name="httpsToolStripMenuItem.Text" xml:space="preserve">
|
||||||
<value>HTTPS</value>
|
<value>HTTPS</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="rdpToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="rdpToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>180, 22</value>
|
<value>170, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="rdpToolStripMenuItem.Text" xml:space="preserve">
|
<data name="rdpToolStripMenuItem.Text" xml:space="preserve">
|
||||||
<value>RDP</value>
|
<value>RDP</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="sshToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="sshToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>180, 22</value>
|
<value>170, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="sshToolStripMenuItem.Text" xml:space="preserve">
|
<data name="sshToolStripMenuItem.Text" xml:space="preserve">
|
||||||
<value>SSH</value>
|
<value>SSH</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="scpToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="scpToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>180, 22</value>
|
<value>170, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="scpToolStripMenuItem.Text" xml:space="preserve">
|
<data name="scpToolStripMenuItem.Text" xml:space="preserve">
|
||||||
<value>SCP</value>
|
<value>SCP</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="wolToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="wolToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>180, 22</value>
|
<value>170, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="wolToolStripMenuItem.Text" xml:space="preserve">
|
<data name="wolToolStripMenuItem.Text" xml:space="preserve">
|
||||||
<value>Wake Up...</value>
|
<value>Wake Up...</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="chatToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="chatToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>180, 22</value>
|
<value>170, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="chatToolStripMenuItem.Text" xml:space="preserve">
|
<data name="chatToolStripMenuItem.Text" xml:space="preserve">
|
||||||
<value>Chat</value>
|
<value>Chat</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="devicesContextMenuStrip.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="devicesContextMenuStrip.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>181, 274</value>
|
<value>171, 252</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>devicesContextMenuStrip.Name" xml:space="preserve">
|
<data name=">>devicesContextMenuStrip.Name" xml:space="preserve">
|
||||||
<value>devicesContextMenuStrip</value>
|
<value>devicesContextMenuStrip</value>
|
||||||
@@ -1622,7 +1625,7 @@
|
|||||||
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
|
||||||
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
|
||||||
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADg
|
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADg
|
||||||
HQAAAk1TRnQBSQFMAgEBEAEAAUABAQFAAQEBEAEAARABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAFA
|
HQAAAk1TRnQBSQFMAgEBEAEAAVgBAQFYAQEBEAEAARABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAFA
|
||||||
AwABUAMAAQEBAAEYBgABPP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AJYAA/0D+AP3A/sD/yEAA/0D+gP5
|
AwABUAMAAQEBAAEYBgABPP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AJYAA/0D+AP3A/sD/yEAA/0D+gP5
|
||||||
A/wD/xgAAfoB+wH6A/4qAAP9A/8tAAP7A88D1QPbA88D1AO+A9QYAAP8A90D4APjA90D4APUA+MSAAP8
|
A/wD/xgAAfoB+wH6A/4qAAP9A/8tAAP7A88D1QPbA88D1AO+A9QYAAP8A90D4APjA90D4APUA+MSAAP8
|
||||||
AZEBjwF9AU4BaAEhAfQB9QH0JAAD/gPRA8YD+ioAAcYCxwHPAtAB2ALZA90DywPBA68DmgP3FQAD2APd
|
AZEBjwF9AU4BaAEhAfQB9QH0JAAD/gPRA8YD+ioAAcYCxwHPAtAB2ALZA90DywPBA68DmgP3FQAD2APd
|
||||||
@@ -1768,7 +1771,7 @@
|
|||||||
<value>devicesListView</value>
|
<value>devicesListView</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>devicesListView.Type" xml:space="preserve">
|
<data name=">>devicesListView.Type" xml:space="preserve">
|
||||||
<value>MeshCentralRouter.ListViewExtended, MeshCentralRouter, Version=1.8.8984.19540, Culture=neutral, PublicKeyToken=null</value>
|
<value>MeshCentralRouter.ListViewExtended, MeshCentralRouter, Version=1.8.9322.36929, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>devicesListView.Parent" xml:space="preserve">
|
<data name=">>devicesListView.Parent" xml:space="preserve">
|
||||||
<value>devicesPanel</value>
|
<value>devicesPanel</value>
|
||||||
@@ -1789,7 +1792,7 @@
|
|||||||
<value>2, 88</value>
|
<value>2, 88</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="noSearchResultsLabel.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="noSearchResultsLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>358, 52</value>
|
<value>346, 52</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="noSearchResultsLabel.TabIndex" type="System.Int32, mscorlib">
|
<data name="noSearchResultsLabel.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>5</value>
|
<value>5</value>
|
||||||
@@ -1828,7 +1831,7 @@
|
|||||||
<value>2, 88</value>
|
<value>2, 88</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="noDevicesLabel.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="noDevicesLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>358, 52</value>
|
<value>346, 52</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="noDevicesLabel.TabIndex" type="System.Int32, mscorlib">
|
<data name="noDevicesLabel.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>4</value>
|
<value>4</value>
|
||||||
@@ -1951,7 +1954,7 @@
|
|||||||
<value>6, 79</value>
|
<value>6, 79</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="noMapLabel.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="noMapLabel.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>430, 52</value>
|
<value>418, 52</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="noMapLabel.TabIndex" type="System.Int32, mscorlib">
|
<data name="noMapLabel.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>4</value>
|
<value>4</value>
|
||||||
@@ -5940,9 +5943,6 @@ Click "Add" to get started.</value>
|
|||||||
AADAPwAAwD8AAMA/AADAPwAA
|
AADAPwAAwD8AAMA/AADAPwAA
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="$this.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
|
||||||
<value>NoControl</value>
|
|
||||||
</data>
|
|
||||||
<data name="$this.Text" xml:space="preserve">
|
<data name="$this.Text" xml:space="preserve">
|
||||||
<value> MeshCentral Router</value>
|
<value> MeshCentral Router</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -5994,6 +5994,18 @@ Click "Add" to get started.</value>
|
|||||||
<data name=">>customAppsToolStripMenuItem1.Type" xml:space="preserve">
|
<data name=">>customAppsToolStripMenuItem1.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name=">>nameColumnHeader.Name" xml:space="preserve">
|
||||||
|
<value>nameColumnHeader</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>nameColumnHeader.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>stateColumnHeader.Name" xml:space="preserve">
|
||||||
|
<value>stateColumnHeader</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>stateColumnHeader.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
<data name=">>addMapToolStripMenuItem.Name" xml:space="preserve">
|
<data name=">>addMapToolStripMenuItem.Name" xml:space="preserve">
|
||||||
<value>addMapToolStripMenuItem</value>
|
<value>addMapToolStripMenuItem</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -6078,6 +6090,12 @@ Click "Add" to get started.</value>
|
|||||||
<data name=">>wolToolStripMenuItem.Type" xml:space="preserve">
|
<data name=">>wolToolStripMenuItem.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name=">>chatToolStripMenuItem.Name" xml:space="preserve">
|
||||||
|
<value>chatToolStripMenuItem</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>chatToolStripMenuItem.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
<data name=">>devicesImageList.Name" xml:space="preserve">
|
<data name=">>devicesImageList.Name" xml:space="preserve">
|
||||||
<value>devicesImageList</value>
|
<value>devicesImageList</value>
|
||||||
</data>
|
</data>
|
||||||
@@ -6168,24 +6186,6 @@ Click "Add" to get started.</value>
|
|||||||
<data name=">>saveMapFileDialog.Type" xml:space="preserve">
|
<data name=">>saveMapFileDialog.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.SaveFileDialog, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.SaveFileDialog, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>chatToolStripMenuItem.Name" xml:space="preserve">
|
|
||||||
<value>chatToolStripMenuItem</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>chatToolStripMenuItem.Type" xml:space="preserve">
|
|
||||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>nameColumnHeader.Name" xml:space="preserve">
|
|
||||||
<value>nameColumnHeader</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>nameColumnHeader.Type" xml:space="preserve">
|
|
||||||
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>stateColumnHeader.Name" xml:space="preserve">
|
|
||||||
<value>stateColumnHeader</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>stateColumnHeader.Type" xml:space="preserve">
|
|
||||||
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>$this.Name" xml:space="preserve">
|
<data name=">>$this.Name" xml:space="preserve">
|
||||||
<value>MainForm</value>
|
<value>MainForm</value>
|
||||||
</data>
|
</data>
|
||||||
|
|||||||
@@ -68,6 +68,7 @@ namespace MeshCentralRouter
|
|||||||
public int features = 0; // Bit flags of server features
|
public int features = 0; // Bit flags of server features
|
||||||
public int features2 = 0; // Bit flags of server features
|
public int features2 = 0; // Bit flags of server features
|
||||||
public Dictionary<string, object> serverinfo = null;
|
public Dictionary<string, object> serverinfo = null;
|
||||||
|
public Dictionary<string, object> userinfo = null;
|
||||||
|
|
||||||
public int connectionState { get { return constate; } }
|
public int connectionState { get { return constate; } }
|
||||||
|
|
||||||
@@ -206,6 +207,23 @@ namespace MeshCentralRouter
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Return the number of 2nd factor for this account
|
||||||
|
public int CountTwoFactorAuths()
|
||||||
|
{
|
||||||
|
if (userinfo == null) return -1;
|
||||||
|
int authFactorCount = 0;
|
||||||
|
object val;
|
||||||
|
if (userinfo.TryGetValue("otpsecret", out val) && Convert.ToInt32(val) == 1) authFactorCount++;
|
||||||
|
if (userinfo.TryGetValue("otpduo", out val) && Convert.ToInt32(val) == 1) authFactorCount++;
|
||||||
|
if (userinfo.TryGetValue("otpdev", out val) && Convert.ToInt32(val) == 1) authFactorCount++;
|
||||||
|
if (userinfo.TryGetValue("otphkeys", out val) && Convert.ToInt32(val) > 0) authFactorCount += Convert.ToInt32(val);
|
||||||
|
if ((features & 0x00800000) != 0 && userinfo.TryGetValue("otpekey", out val) && Convert.ToInt32(val) == 1) authFactorCount++;
|
||||||
|
if ((features & 0x02000000) != 0 && (features & 0x04000000) != 0 && userinfo.TryGetValue("phone", out val) && val != null) authFactorCount++;
|
||||||
|
if ((features2 & 0x02000000) != 0 && (features2 & 0x04000000) != 0 && userinfo.TryGetValue("msghandle", out val) && val != null) authFactorCount++;
|
||||||
|
if (authFactorCount > 0 && userinfo.TryGetValue("otpkeys", out val) && Convert.ToInt32(val) > 0 && (features2 & 0x40000) == 0) authFactorCount++;
|
||||||
|
return authFactorCount;
|
||||||
|
}
|
||||||
|
|
||||||
public void processServerData(webSocketClient sender, string data, int orglen)
|
public void processServerData(webSocketClient sender, string data, int orglen)
|
||||||
{
|
{
|
||||||
if (debug) { try { File.AppendAllText("debug.log", "ServerData-" + data + "\r\n"); } catch (Exception) { } }
|
if (debug) { try { File.AppendAllText("debug.log", "ServerData-" + data + "\r\n"); } catch (Exception) { } }
|
||||||
@@ -292,7 +310,7 @@ namespace MeshCentralRouter
|
|||||||
}
|
}
|
||||||
case "userinfo":
|
case "userinfo":
|
||||||
{
|
{
|
||||||
Dictionary<string, object> userinfo = (Dictionary<string, object>)jsonAction["userinfo"];
|
userinfo = (Dictionary<string, object>)jsonAction["userinfo"];
|
||||||
userid = (string)userinfo["_id"];
|
userid = (string)userinfo["_id"];
|
||||||
if (userinfo.ContainsKey("name")) { username = (string)userinfo["name"]; }
|
if (userinfo.ContainsKey("name")) { username = (string)userinfo["name"]; }
|
||||||
userRights = new Dictionary<string, ulong>();
|
userRights = new Dictionary<string, ulong>();
|
||||||
@@ -308,6 +326,19 @@ namespace MeshCentralRouter
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int twoFactorCount = -1;
|
||||||
|
try { twoFactorCount = CountTwoFactorAuths(); } catch (Exception) { }
|
||||||
|
if (debug) {
|
||||||
|
try { File.AppendAllText("debug.log", "CountTwoFactorAuths-" + twoFactorCount + "\r\n"); } catch (Exception) { }
|
||||||
|
}
|
||||||
|
// If no 2FA is setup and feature flag set, set message and change state
|
||||||
|
if (twoFactorCount == 0 && (features & 0x00040000) != 0)
|
||||||
|
{
|
||||||
|
disconnectMsg = "2fasetuprequired";
|
||||||
|
changeState(0);
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "usergroups":
|
case "usergroups":
|
||||||
|
|||||||
@@ -4920,6 +4920,29 @@ namespace MeshCentralRouter
|
|||||||
{"it","Avanzamento del trasferimento"},
|
{"it","Avanzamento del trasferimento"},
|
||||||
{"ru","Прогресс передачи"}
|
{"ru","Прогресс передачи"}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Complete 2FA setup online first",
|
||||||
|
new Dictionary<string, string>() {
|
||||||
|
{"de","Vervollständigen Sie zunächst die 2FA-Einrichtung online"},
|
||||||
|
{"hi","पहले ऑनलाइन 2FA सेटअप पूरा करें"},
|
||||||
|
{"fr","Terminez d'abord la configuration 2FA en ligne"},
|
||||||
|
{"zh-chs","首先在线完成 2FA 设置"},
|
||||||
|
{"fi","Suorita ensin 2FA-asennus verkossa"},
|
||||||
|
{"tr","Önce çevrimiçi 2FA kurulumunu tamamlayın"},
|
||||||
|
{"cs","Nejprve dokončete nastavení 2FA online"},
|
||||||
|
{"ja","まずオンラインで2FAのセットアップを完了してください"},
|
||||||
|
{"es","Complete primero la configuración de 2FA en línea"},
|
||||||
|
{"pl","Najpierw zakończ konfigurację 2FA online"},
|
||||||
|
{"pt","Primeiro, conclua a configuração do 2FA online"},
|
||||||
|
{"nl","Voltooi eerst de online 2FA-instelling"},
|
||||||
|
{"pt-br","Primeiro, conclua a configuração do 2FA online"},
|
||||||
|
{"sv","Slutför först 2FA-inställningen online"},
|
||||||
|
{"da","Færdiggør først 2FA-opsætningen online"},
|
||||||
|
{"ko","먼저 온라인으로 2FA 설정을 완료하세요."},
|
||||||
|
{"it","Completa prima la configurazione di 2FA online"},
|
||||||
|
{"ru","Сначала завершите настройку 2FA онлайн"}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
// *** TRANSLATION TABLE END ***
|
// *** TRANSLATION TABLE END ***
|
||||||
|
|||||||
Reference in New Issue
Block a user