Make hidden items (switches, devices, links) to simulate lost or unknown stuff on the network

This commit is contained in:
Tim Young 2017-06-21 15:19:19 -05:00
parent c597c2e6b4
commit b999bb705e
12 changed files with 2705 additions and 121 deletions

View File

@ -239,6 +239,7 @@
<None Include="Resources\Level0-Ping.enbx" />
<None Include="Resources\Level0-SimpleDHCP.enbx" />
<None Include="Resources\Level0_BrokenLink.enbx" />
<None Include="Resources\Level0_HiddenSwitch.enbx" />
<None Include="Resources\Level0_NetworkLoop.enbx" />
<None Include="Resources\Level0_NetworkLoop2.enbx" />
<None Include="Resources\Level0_PacketCorruption1.enbx" />
@ -272,6 +273,7 @@
<None Include="Resources\Level3_Dead.enbx" />
<None Include="Resources\Level3_EncryptionTroubles.enbx" />
<None Include="Resources\Level3_GrandCentralStation.enbx" />
<None Include="Resources\Level3_invisible.enbx" />
<None Include="Resources\Level3_Middle_Man_Out.enbx" />
<None Include="Resources\Level3_NowhereToGo.enbx" />
<None Include="Resources\Level3_PhoneyNetwork.enbx" />

View File

@ -62,14 +62,15 @@ namespace EduNetworkBuilder
{
Level0_IP, Level1_NoGateway, Level0_NeedsLink, Level0_NoSwitch, Level1_BadDHCP, Level1_BadGateway,
Level0_SimpleDHCP, Level1_BadIP, Level0_Help, Level0_Ping, Level0_HubVsSwitch, Level0_Power,
Level0_NetworkLoop2, Level0_BrokenLink, Level0_HiddenSwitch,
Level0_PacketCorruption1, Level0_PacketCorruption2, Level0_Traceroute, Level1_AddingDevices,
Level1_MidDHCP, Level1_OneNetTwoSubnets, Level1_DuplicateIPs, Level0_NetworkLoop, Level1_DuplicateMAC,
Level2_FirewallDemo, Level1_OneNetTwoSubnets2, Level2_VPN_Demo, Level2_Bad_VPN_IP, Level2_Bad_Encryption,
Level2_Bad_Route, Level2_Blast_From_Past, Level2_Not_Working, Level2_Build_A_VPN, Level2_Connect_The_Dots,
Level2_VPN_woes, Level2_FirewallTest2, Level2_CannotConnect,
Level3_BlackHole, Level3_Busted, Level3_Middle_Man_Out, Level3_PhoneyNetwork, Level3_VPNify, Level3_EncryptionTroubles,
Level3_NowhereToGo, Level3_GrandCentralStation, Level3_Dead, Level0_NetworkLoop2, Level0_BrokenLink,
Level3_TwoDHCPServers,
Level3_NowhereToGo, Level3_GrandCentralStation, Level3_Dead,
Level3_TwoDHCPServers, Level3_invisible,
Level4_DualWans, Level4_SinglesLife, Level4_SmallSubnets, Level4_OneRoute, Level4_RouterReplacement,
Level4_InternalSubnetting, Level4_Internalhemorrhage,
Level5_WirelessRouters, Level5_WirelessDevices, Level5_WirelessBridge, Level5_WirelessRepeater, Level5_WirelessRepeater2,

View File

@ -489,6 +489,25 @@ namespace EduNetworkBuilder
}
}
/// <summary>
/// Search throuh all the network components and delete any links that are attacked to the specified nic.
/// </summary>
/// <param name="NicStr"></param>
public List<NetworkLink> AllLinksConnectedToComponent(int UniqueID)
{
List<NetworkLink> theList = new List<NetworkLink>();
for (int looper = NetComponents.Count() - 1; looper >= 0; looper--)
{
if (NetComponents[looper] is NetworkLink)
{
NetworkLink nLink = (NetworkLink)NetComponents[looper];
if (nLink.Src.HostID == UniqueID || nLink.Dst.HostID == UniqueID)
theList.Add(nLink);
}
}
return theList;
}
public NetworkComponent AddItem(NetworkComponent ToAdd)
{
NetComponents.Add(ToAdd);

View File

@ -1150,6 +1150,7 @@ namespace EduNetworkBuilder
if (Math.Abs(ClickedLocation.X - ClickLocation.X) > 5 || Math.Abs(ClickedLocation.Y - ClickLocation.Y) > 5)
{
ItemClickedOn.ChangeLocation(CenteredLocation);
ItemClickedOn.UnHide(); //If it was hidden, unhide it
UpdateLinks();
UpdateVisuals();
}

View File

@ -18,6 +18,11 @@ namespace EduNetworkBuilder
public bool IsDirty = true; //If something has changed and it needs to be re-drawn. It starts as "true"
protected int UniqueIdentifier = NB.GetUniqueIdentifier();
public string hostname = "";
/// <summary>
/// isInvisible is what happens when we have forgotton something exists. We can have a forgotton switch, WAP, DHCP server
/// etc. Part of our training should be to find things. Network wires and devices can both be hidden.
/// </summary>
protected bool isInvisible = false; //Not used often. Basically, to simulate a device (usually a switch) that we forgot about.
public virtual void Print(Image BaseImage, bool DrawTitle)
@ -34,6 +39,25 @@ namespace EduNetworkBuilder
}
/// <summary>
/// Done when something gets moved.
/// </summary>
public void UnHide()
{
isInvisible = false;
IsDirty = true; //make sure it gets redrawn.
if(this is NetworkDevice)
{
//we want to go through all links and unhide any links connected to this device
Network myNet = NB.GetNetwork();
foreach(NetworkLink nl in myNet.AllLinksConnectedToComponent(UniqueIdentifier))
{
nl.UnHide();
}
}
}
public virtual void Destroy()
{
//This really does nothing. But the link will trigger some stuff needing to be done

View File

@ -389,6 +389,10 @@ namespace EduNetworkBuilder
case "poweroff":
bool.TryParse(Individual.InnerText, out PowerOff);
break;
case "invisible":
case "isinvisible":
bool.TryParse(Individual.InnerText, out isInvisible);
break;
}
}
}
@ -411,6 +415,8 @@ namespace EduNetworkBuilder
writer.WriteElementString("morphcolor", MorphColor.Name);
if(PowerOff == true)
writer.WriteElementString("poweroff", PowerOff.ToString());
if (isInvisible == true)
writer.WriteElementString("isinvisible", isInvisible.ToString());
DefaultGW.Save(writer, "gateway");
foreach (NetworkCard nic in NICs)
{
@ -1003,50 +1009,53 @@ namespace EduNetworkBuilder
Rectangle Location = new Rectangle(MyLocation.X, MyLocation.Y, Size, Size);
if(BackgroundColor != Color.Empty)
if (!isInvisible)
{
Brush brush = new SolidBrush(Color.FromArgb(128, BackgroundColor.R, BackgroundColor.G, BackgroundColor.B));
Graphics.FromImage(BaseImage).FillRectangle(brush, Location);
Network myNet = NB.GetNetwork();
myNet.Invalidate(Location);
}
if(MorphColor == Color.Empty && PowerOff == false)
Graphics.FromImage(BaseImage).DrawImage(MyImage, MyLocation.X, MyLocation.Y, Size, Size);
else
{
Image NewBMP = ColoredImage(MyImage);
Graphics.FromImage(BaseImage).DrawImage(NewBMP, MyLocation.X, MyLocation.Y, Size, Size);
}
if(DrawTitle)
{
int x = MyLocation.X + (Size / 2);
int y = MyLocation.Y + Size - (Size / 6);
int gap = 22;
int counter = 0;
CenterString(BaseImage, x, y + (counter * gap), hostname, Color.Black);
counter++;
if (myType != NetworkComponentType.microwave && myType != NetworkComponentType.fluorescent)
if (BackgroundColor != Color.Empty)
{
foreach (NetworkCard nic in NICs)
{
if (nic.GetNicType != NicType.lo && nic.GetNicType != NicType.port && nic.GetNicType != NicType.wport)
{
string title = "";
if (nic.GetNicType == NicType.management_interface)
title += "if: ";
else
title += nic.NicName() + ": ";
Brush brush = new SolidBrush(Color.FromArgb(128, BackgroundColor.R, BackgroundColor.G, BackgroundColor.B));
Graphics.FromImage(BaseImage).FillRectangle(brush, Location);
Network myNet = NB.GetNetwork();
myNet.Invalidate(Location);
}
if (MorphColor == Color.Empty && PowerOff == false)
Graphics.FromImage(BaseImage).DrawImage(MyImage, MyLocation.X, MyLocation.Y, Size, Size);
else
{
Image NewBMP = ColoredImage(MyImage);
Graphics.FromImage(BaseImage).DrawImage(NewBMP, MyLocation.X, MyLocation.Y, Size, Size);
}
if (DrawTitle)
{
int x = MyLocation.X + (Size / 2);
int y = MyLocation.Y + Size - (Size / 6);
int gap = 22;
foreach (string addr_str in nic.IPAddresses(true))
int counter = 0;
CenterString(BaseImage, x, y + (counter * gap), hostname, Color.Black);
counter++;
if (myType != NetworkComponentType.microwave && myType != NetworkComponentType.fluorescent)
{
foreach (NetworkCard nic in NICs)
{
if (nic.GetNicType != NicType.lo && nic.GetNicType != NicType.port && nic.GetNicType != NicType.wport)
{
CenterString(BaseImage, x, y + (counter * gap), title + addr_str, Color.Black);
counter++;
string title = "";
if (nic.GetNicType == NicType.management_interface)
title += "if: ";
else
title += nic.NicName() + ": ";
foreach (string addr_str in nic.IPAddresses(true))
{
CenterString(BaseImage, x, y + (counter * gap), title + addr_str, Color.Black);
counter++;
}
}
}
}
}
}
} //if it is not invisible
IsDirty = false; //We printed it, now we are content that we are clean
}

View File

@ -106,6 +106,10 @@ namespace EduNetworkBuilder
case "uniqueidentifier":
int.TryParse(Individual.InnerText,out UniqueIdentifier);
break;
case "invisible":
case "isinvisible":
bool.TryParse(Individual.InnerText, out isInvisible);
break;
}
}
}
@ -122,6 +126,8 @@ namespace EduNetworkBuilder
writer.WriteElementString("hostname", hostname);
writer.WriteElementString("linktype", theLinkType.ToString());
writer.WriteElementString("uniqueidentifier", UniqueIdentifier.ToString());
if(isInvisible)
writer.WriteElementString("isinvisible", isInvisible.ToString());
writer.WriteEndElement();
}
@ -221,6 +227,8 @@ namespace EduNetworkBuilder
public override void Print(Image BaseImage, bool DrawTitle)
{
if (isInvisible) return; //We do not print the line if it is invisible
//Find the XY of the connected items
Network myNet = NB.GetNetwork();
NetworkDevice Src = myNet.HostMatchingHostNicID(SrcNic);

View File

@ -221,6 +221,16 @@ namespace EduNetworkBuilder.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Byte[].
/// </summary>
internal static byte[] Level0_HiddenSwitch {
get {
object obj = ResourceManager.GetObject("Level0_HiddenSwitch", resourceCulture);
return ((byte[])(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Byte[].
/// </summary>
@ -611,6 +621,16 @@ namespace EduNetworkBuilder.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Byte[].
/// </summary>
internal static byte[] Level3_invisible {
get {
object obj = ResourceManager.GetObject("Level3_invisible", resourceCulture);
return ((byte[])(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Byte[].
/// </summary>
@ -1081,16 +1101,8 @@ namespace EduNetworkBuilder.Properties {
}
/// <summary>
/// Looks up a localized string similar to {\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033\deflangfe1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Calibri;}}
///{\*\generator Riched20 10.0.14393}{\*\mmathPr\mnaryLim0\mdispDef1\mwrapIndent1440 }\viewkind4\uc1
///\pard\nowidctlpar\sa200\sl276\slmult1\b\f0\fs22\lang9 Version 1.0.30\par
///\b0 * Another downloadable (zip only, stable) version.\b\par
///Version 1.0.29\par
///\b0 * Lots of VLAN butfixes\par
///* Fixed ping-fail test\par
///* Lots more VLAN puzzles\par
///* Update VLAN documentation\par
///\b Version 1.0.28 [rest of string was truncated]&quot;;.
/// Looks up a localized string similar to {\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi0\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f2\fbidi \fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}
///{\f3\fbidi \froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f10\fbidi \fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}{\f34\fbidi \fr [rest of string was truncated]&quot;;.
/// </summary>
internal static string ReleaseNotes {
get {

View File

@ -463,4 +463,10 @@
<data name="Level5_APProblems" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Level5_APProblems.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="Level3_invisible" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Level3_invisible.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="Level0_HiddenSwitch" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Level0_HiddenSwitch.enbx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>

View File

@ -0,0 +1,853 @@
<?xml version="1.0" encoding="utf-8"?>
<EduNetworkBuilder>
<!--This is a network file for EduNetworkBuilder.-->
<Network>
<en_message>You bought a switch but forgot where you plugget it into. Now where did you put that?
What do you do when you know where something is, but not exactly? You go to the device you know it is plugged into and follow the wire.
To solve this, drag the switch around, and then find the other end of the wire and "drag" on the empty spot to "find" it. Then, change the IP address of the missing switch.</en_message>
<en_title>Where did I put that?</en_title>
<height>1024</height>
<width>1024</width>
<itemsize>100</itemsize>
<showlabels>True</showlabels>
<level>0</level>
<sortorder>5</sortorder>
<uniqueidentifier>141</uniqueidentifier>
<startinghelplevel>full</startinghelplevel>
<vlansenabled>True</vlansenabled>
<VLANPacketColors>False</VLANPacketColors>
<device>
<hostname>laptop0</hostname>
<size>100</size>
<uniqueidentifier>103</uniqueidentifier>
<location>559,560</location>
<mytype>laptop</mytype>
<isdns>False</isdns>
<isdhcp>False</isdhcp>
<gateway>
<ip>192.168.1.1</ip>
<mask>255.255.255.0</mask>
<gateway>0.0.0.0</gateway>
<type>gw</type>
</gateway>
<nic>
<nictype>lo</nictype>
<nicname>lo0</nicname>
<myid>
<hostid>103</hostid>
<nicid>104</nicid>
<hostname>laptop0</hostname>
<nicname>lo0</nicname>
</myid>
<nictype>lo</nictype>
<uniqueidentifier>104</uniqueidentifier>
<usesdhcp>False</usesdhcp>
<interface>
<nicname>lo0</nicname>
<myip>
<ip>127.0.0.1</ip>
<mask>255.0.0.0</mask>
<gateway>0.0.0.0</gateway>
<type>ip</type>
</myip>
<VLAN
ID="1">Untagged</VLAN>
</interface>
</nic>
<nic>
<nictype>eth</nictype>
<nicname>eth0</nicname>
<myid>
<hostid>103</hostid>
<nicid>105</nicid>
<hostname>laptop0</hostname>
<nicname>eth0</nicname>
</myid>
<nictype>eth</nictype>
<uniqueidentifier>105</uniqueidentifier>
<usesdhcp>False</usesdhcp>
<interface>
<nicname>eth0</nicname>
<myip>
<ip>192.168.1.3</ip>
<mask>255.255.255.0</mask>
<gateway>0.0.0.0</gateway>
<type>ip</type>
</myip>
<VLAN
ID="1">Untagged</VLAN>
</interface>
</nic>
</device>
<device>
<hostname>laptop1</hostname>
<size>100</size>
<uniqueidentifier>123</uniqueidentifier>
<location>680,147</location>
<mytype>laptop</mytype>
<isdns>False</isdns>
<isdhcp>False</isdhcp>
<gateway>
<ip>192.168.2.1</ip>
<mask>255.255.255.0</mask>
<gateway>0.0.0.0</gateway>
<type>gw</type>
</gateway>
<nic>
<nictype>lo</nictype>
<nicname>lo0</nicname>
<myid>
<hostid>123</hostid>
<nicid>124</nicid>
<hostname>laptop1</hostname>
<nicname>lo0</nicname>
</myid>
<nictype>lo</nictype>
<uniqueidentifier>124</uniqueidentifier>
<usesdhcp>False</usesdhcp>
<interface>
<nicname>lo0</nicname>
<myip>
<ip>127.0.0.1</ip>
<mask>255.0.0.0</mask>
<gateway>0.0.0.0</gateway>
<type>ip</type>
</myip>
<VLAN
ID="1">Untagged</VLAN>
</interface>
</nic>
<nic>
<nictype>eth</nictype>
<nicname>eth0</nicname>
<myid>
<hostid>123</hostid>
<nicid>125</nicid>
<hostname>laptop1</hostname>
<nicname>eth0</nicname>
</myid>
<nictype>eth</nictype>
<uniqueidentifier>125</uniqueidentifier>
<usesdhcp>False</usesdhcp>
<interface>
<nicname>eth0</nicname>
<myip>
<ip>192.168.2.2</ip>
<mask>255.255.255.0</mask>
<gateway>0.0.0.0</gateway>
<type>ip</type>
</myip>
<VLAN
ID="1">Untagged</VLAN>
</interface>
</nic>
</device>
<device>
<hostname>net_switch0</hostname>
<size>100</size>
<uniqueidentifier>109</uniqueidentifier>
<location>400,310</location>
<mytype>net_switch</mytype>
<isdns>False</isdns>
<isdhcp>False</isdhcp>
<gateway>
<ip>192.168.1.1</ip>
<mask>255.255.255.0</mask>
<gateway>0.0.0.0</gateway>
<type>gw</type>
</gateway>
<nic>
<nictype>lo</nictype>
<nicname>lo0</nicname>
<myid>
<hostid>109</hostid>
<nicid>110</nicid>
<hostname>net_switch0</hostname>
<nicname>lo0</nicname>
</myid>
<nictype>lo</nictype>
<uniqueidentifier>110</uniqueidentifier>
<usesdhcp>False</usesdhcp>
<interface>
<nicname>lo0</nicname>
<myip>
<ip>127.0.0.1</ip>
<mask>255.0.0.0</mask>
<gateway>0.0.0.0</gateway>
<type>ip</type>
</myip>
<VLAN
ID="1">Untagged</VLAN>
</interface>
</nic>
<nic>
<nictype>management_interface</nictype>
<nicname>management_interface0</nicname>
<myid>
<hostid>109</hostid>
<nicid>111</nicid>
<hostname>net_switch0</hostname>
<nicname>management_interface0</nicname>
</myid>
<nictype>management_interface</nictype>
<uniqueidentifier>111</uniqueidentifier>
<usesdhcp>False</usesdhcp>
<interface>
<nicname>management_interface0</nicname>
<myip>
<ip>192.168.1.4</ip>
<mask>255.255.255.0</mask>
<gateway>0.0.0.0</gateway>
<type>ip</type>
</myip>
<VLAN
ID="1">Untagged</VLAN>
</interface>
</nic>
<nic>
<nictype>port</nictype>
<nicname>port1</nicname>
<myid>
<hostid>109</hostid>
<nicid>112</nicid>
<hostname>net_switch0</hostname>
<nicname>port1</nicname>
</myid>
<nictype>port</nictype>
<uniqueidentifier>112</uniqueidentifier>
<usesdhcp>False</usesdhcp>
<interface>
<nicname>port1</nicname>
<myip>
<ip>0.0.0.0</ip>
<mask>0.0.0.0</mask>
<gateway>0.0.0.0</gateway>
<type>ip</type>
</myip>
<VLAN
ID="1">Untagged</VLAN>
</interface>
</nic>
<nic>
<nictype>port</nictype>
<nicname>port2</nicname>
<myid>
<hostid>109</hostid>
<nicid>113</nicid>
<hostname>net_switch0</hostname>
<nicname>port2</nicname>
</myid>
<nictype>port</nictype>
<uniqueidentifier>113</uniqueidentifier>
<usesdhcp>False</usesdhcp>
<interface>
<nicname>port2</nicname>
<myip>
<ip>0.0.0.0</ip>
<mask>0.0.0.0</mask>
<gateway>0.0.0.0</gateway>
<type>ip</type>
</myip>
<VLAN
ID="1">Untagged</VLAN>
</interface>
</nic>
<nic>
<nictype>port</nictype>
<nicname>port3</nicname>
<myid>
<hostid>109</hostid>
<nicid>114</nicid>
<hostname>net_switch0</hostname>
<nicname>port3</nicname>
</myid>
<nictype>port</nictype>
<uniqueidentifier>114</uniqueidentifier>
<usesdhcp>False</usesdhcp>
<interface>
<nicname>port3</nicname>
<myip>
<ip>0.0.0.0</ip>
<mask>0.0.0.0</mask>
<gateway>0.0.0.0</gateway>
<type>ip</type>
</myip>
<VLAN
ID="1">Untagged</VLAN>
</interface>
</nic>
<nic>
<nictype>port</nictype>
<nicname>port4</nicname>
<myid>
<hostid>109</hostid>
<nicid>115</nicid>
<hostname>net_switch0</hostname>
<nicname>port4</nicname>
</myid>
<nictype>port</nictype>
<uniqueidentifier>115</uniqueidentifier>
<usesdhcp>False</usesdhcp>
<interface>
<nicname>port4</nicname>
<myip>
<ip>0.0.0.0</ip>
<mask>0.0.0.0</mask>
<gateway>0.0.0.0</gateway>
<type>ip</type>
</myip>
<VLAN
ID="1">Untagged</VLAN>
</interface>
</nic>
<nic>
<nictype>port</nictype>
<nicname>port5</nicname>
<myid>
<hostid>109</hostid>
<nicid>116</nicid>
<hostname>net_switch0</hostname>
<nicname>port5</nicname>
</myid>
<nictype>port</nictype>
<uniqueidentifier>116</uniqueidentifier>
<usesdhcp>False</usesdhcp>
<interface>
<nicname>port5</nicname>
<myip>
<ip>0.0.0.0</ip>
<mask>0.0.0.0</mask>
<gateway>0.0.0.0</gateway>
<type>ip</type>
</myip>
<VLAN
ID="1">Untagged</VLAN>
</interface>
</nic>
<nic>
<nictype>port</nictype>
<nicname>port6</nicname>
<myid>
<hostid>109</hostid>
<nicid>117</nicid>
<hostname>net_switch0</hostname>
<nicname>port6</nicname>
</myid>
<nictype>port</nictype>
<uniqueidentifier>117</uniqueidentifier>
<usesdhcp>False</usesdhcp>
<interface>
<nicname>port6</nicname>
<myip>
<ip>0.0.0.0</ip>
<mask>0.0.0.0</mask>
<gateway>0.0.0.0</gateway>
<type>ip</type>
</myip>
<VLAN
ID="1">Untagged</VLAN>
</interface>
</nic>
<nic>
<nictype>port</nictype>
<nicname>port7</nicname>
<myid>
<hostid>109</hostid>
<nicid>118</nicid>
<hostname>net_switch0</hostname>
<nicname>port7</nicname>
</myid>
<nictype>port</nictype>
<uniqueidentifier>118</uniqueidentifier>
<usesdhcp>False</usesdhcp>
<interface>
<nicname>port7</nicname>
<myip>
<ip>0.0.0.0</ip>
<mask>0.0.0.0</mask>
<gateway>0.0.0.0</gateway>
<type>ip</type>
</myip>
<VLAN
ID="1">Untagged</VLAN>
</interface>
</nic>
</device>
<device>
<hostname>net_switch1</hostname>
<size>100</size>
<uniqueidentifier>130</uniqueidentifier>
<location>510,310</location>
<mytype>net_switch</mytype>
<isdns>False</isdns>
<isdhcp>False</isdhcp>
<isinvisible>True</isinvisible>
<gateway>
<ip>192.168.1.1</ip>
<mask>0.0.0.0</mask>
<gateway>0.0.0.0</gateway>
<type>gw</type>
</gateway>
<nic>
<nictype>lo</nictype>
<nicname>lo0</nicname>
<myid>
<hostid>130</hostid>
<nicid>131</nicid>
<hostname>net_switch1</hostname>
<nicname>lo0</nicname>
</myid>
<nictype>lo</nictype>
<uniqueidentifier>131</uniqueidentifier>
<usesdhcp>False</usesdhcp>
<interface>
<nicname>lo0</nicname>
<myip>
<ip>127.0.0.1</ip>
<mask>255.0.0.0</mask>
<gateway>0.0.0.0</gateway>
<type>ip</type>
</myip>
<VLAN
ID="1">Untagged</VLAN>
</interface>
</nic>
<nic>
<nictype>management_interface</nictype>
<nicname>management_interface0</nicname>
<myid>
<hostid>130</hostid>
<nicid>132</nicid>
<hostname>net_switch1</hostname>
<nicname>management_interface0</nicname>
</myid>
<nictype>management_interface</nictype>
<uniqueidentifier>132</uniqueidentifier>
<usesdhcp>False</usesdhcp>
<interface>
<nicname>management_interface0</nicname>
<myip>
<ip>192.168.120.1</ip>
<mask>255.255.255.0</mask>
<gateway>0.0.0.0</gateway>
<type>ip</type>
</myip>
<VLAN
ID="1">Untagged</VLAN>
</interface>
</nic>
<nic>
<nictype>port</nictype>
<nicname>port1</nicname>
<myid>
<hostid>130</hostid>
<nicid>133</nicid>
<hostname>net_switch1</hostname>
<nicname>port1</nicname>
</myid>
<nictype>port</nictype>
<uniqueidentifier>133</uniqueidentifier>
<usesdhcp>False</usesdhcp>
<interface>
<nicname>port1</nicname>
<myip>
<ip>0.0.0.0</ip>
<mask>0.0.0.0</mask>
<gateway>0.0.0.0</gateway>
<type>ip</type>
</myip>
<VLAN
ID="1">Untagged</VLAN>
</interface>
</nic>
<nic>
<nictype>port</nictype>
<nicname>port2</nicname>
<myid>
<hostid>130</hostid>
<nicid>134</nicid>
<hostname>net_switch1</hostname>
<nicname>port2</nicname>
</myid>
<nictype>port</nictype>
<uniqueidentifier>134</uniqueidentifier>
<usesdhcp>False</usesdhcp>
<interface>
<nicname>port2</nicname>
<myip>
<ip>0.0.0.0</ip>
<mask>0.0.0.0</mask>
<gateway>0.0.0.0</gateway>
<type>ip</type>
</myip>
<VLAN
ID="1">Untagged</VLAN>
</interface>
</nic>
<nic>
<nictype>port</nictype>
<nicname>port3</nicname>
<myid>
<hostid>130</hostid>
<nicid>135</nicid>
<hostname>net_switch1</hostname>
<nicname>port3</nicname>
</myid>
<nictype>port</nictype>
<uniqueidentifier>135</uniqueidentifier>
<usesdhcp>False</usesdhcp>
<interface>
<nicname>port3</nicname>
<myip>
<ip>0.0.0.0</ip>
<mask>0.0.0.0</mask>
<gateway>0.0.0.0</gateway>
<type>ip</type>
</myip>
<VLAN
ID="1">Untagged</VLAN>
</interface>
</nic>
<nic>
<nictype>port</nictype>
<nicname>port4</nicname>
<myid>
<hostid>130</hostid>
<nicid>136</nicid>
<hostname>net_switch1</hostname>
<nicname>port4</nicname>
</myid>
<nictype>port</nictype>
<uniqueidentifier>136</uniqueidentifier>
<usesdhcp>False</usesdhcp>
<interface>
<nicname>port4</nicname>
<myip>
<ip>0.0.0.0</ip>
<mask>0.0.0.0</mask>
<gateway>0.0.0.0</gateway>
<type>ip</type>
</myip>
<VLAN
ID="1">Untagged</VLAN>
</interface>
</nic>
<nic>
<nictype>port</nictype>
<nicname>port5</nicname>
<myid>
<hostid>130</hostid>
<nicid>137</nicid>
<hostname>net_switch1</hostname>
<nicname>port5</nicname>
</myid>
<nictype>port</nictype>
<uniqueidentifier>137</uniqueidentifier>
<usesdhcp>False</usesdhcp>
<interface>
<nicname>port5</nicname>
<myip>
<ip>0.0.0.0</ip>
<mask>0.0.0.0</mask>
<gateway>0.0.0.0</gateway>
<type>ip</type>
</myip>
<VLAN
ID="1">Untagged</VLAN>
</interface>
</nic>
<nic>
<nictype>port</nictype>
<nicname>port6</nicname>
<myid>
<hostid>130</hostid>
<nicid>138</nicid>
<hostname>net_switch1</hostname>
<nicname>port6</nicname>
</myid>
<nictype>port</nictype>
<uniqueidentifier>138</uniqueidentifier>
<usesdhcp>False</usesdhcp>
<interface>
<nicname>port6</nicname>
<myip>
<ip>0.0.0.0</ip>
<mask>0.0.0.0</mask>
<gateway>0.0.0.0</gateway>
<type>ip</type>
</myip>
<VLAN
ID="1">Untagged</VLAN>
</interface>
</nic>
<nic>
<nictype>port</nictype>
<nicname>port7</nicname>
<myid>
<hostid>130</hostid>
<nicid>139</nicid>
<hostname>net_switch1</hostname>
<nicname>port7</nicname>
</myid>
<nictype>port</nictype>
<uniqueidentifier>139</uniqueidentifier>
<usesdhcp>False</usesdhcp>
<interface>
<nicname>port7</nicname>
<myip>
<ip>0.0.0.0</ip>
<mask>0.0.0.0</mask>
<gateway>0.0.0.0</gateway>
<type>ip</type>
</myip>
<VLAN
ID="1">Untagged</VLAN>
</interface>
</nic>
</device>
<device>
<hostname>pc0</hostname>
<size>100</size>
<uniqueidentifier>100</uniqueidentifier>
<location>246,560</location>
<mytype>pc</mytype>
<isdns>False</isdns>
<isdhcp>False</isdhcp>
<gateway>
<ip>192.168.1.1</ip>
<mask>255.255.255.0</mask>
<gateway>0.0.0.0</gateway>
<type>gw</type>
</gateway>
<nic>
<nictype>lo</nictype>
<nicname>lo0</nicname>
<myid>
<hostid>100</hostid>
<nicid>101</nicid>
<hostname>pc0</hostname>
<nicname>lo0</nicname>
</myid>
<nictype>lo</nictype>
<uniqueidentifier>101</uniqueidentifier>
<usesdhcp>False</usesdhcp>
<interface>
<nicname>lo0</nicname>
<myip>
<ip>127.0.0.1</ip>
<mask>255.0.0.0</mask>
<gateway>0.0.0.0</gateway>
<type>ip</type>
</myip>
<VLAN
ID="1">Untagged</VLAN>
</interface>
</nic>
<nic>
<nictype>eth</nictype>
<nicname>eth0</nicname>
<myid>
<hostid>100</hostid>
<nicid>102</nicid>
<hostname>pc0</hostname>
<nicname>eth0</nicname>
</myid>
<nictype>eth</nictype>
<uniqueidentifier>102</uniqueidentifier>
<usesdhcp>False</usesdhcp>
<interface>
<nicname>eth0</nicname>
<myip>
<ip>192.168.1.2</ip>
<mask>255.255.255.0</mask>
<gateway>0.0.0.0</gateway>
<type>ip</type>
</myip>
<VLAN
ID="1">Untagged</VLAN>
</interface>
</nic>
</device>
<device>
<hostname>router0</hostname>
<size>100</size>
<uniqueidentifier>119</uniqueidentifier>
<location>400,158</location>
<mytype>router</mytype>
<isdns>False</isdns>
<isdhcp>False</isdhcp>
<gateway>
<ip>0.0.0.0</ip>
<mask>0.0.0.0</mask>
<gateway>0.0.0.0</gateway>
<type>gw</type>
</gateway>
<nic>
<nictype>lo</nictype>
<nicname>lo0</nicname>
<myid>
<hostid>119</hostid>
<nicid>120</nicid>
<hostname>router0</hostname>
<nicname>lo0</nicname>
</myid>
<nictype>lo</nictype>
<uniqueidentifier>120</uniqueidentifier>
<usesdhcp>False</usesdhcp>
<interface>
<nicname>lo0</nicname>
<myip>
<ip>127.0.0.1</ip>
<mask>255.0.0.0</mask>
<gateway>0.0.0.0</gateway>
<type>ip</type>
</myip>
<VLAN
ID="1">Untagged</VLAN>
</interface>
</nic>
<nic>
<nictype>eth</nictype>
<nicname>eth0</nicname>
<myid>
<hostid>119</hostid>
<nicid>121</nicid>
<hostname>router0</hostname>
<nicname>eth0</nicname>
</myid>
<nictype>eth</nictype>
<uniqueidentifier>121</uniqueidentifier>
<usesdhcp>False</usesdhcp>
<interface>
<nicname>eth0</nicname>
<myip>
<ip>192.168.1.1</ip>
<mask>255.255.255.0</mask>
<gateway>0.0.0.0</gateway>
<type>ip</type>
</myip>
<VLAN
ID="1">Untagged</VLAN>
</interface>
</nic>
<nic>
<nictype>eth</nictype>
<nicname>eth1</nicname>
<myid>
<hostid>119</hostid>
<nicid>122</nicid>
<hostname>router0</hostname>
<nicname>eth1</nicname>
</myid>
<nictype>eth</nictype>
<uniqueidentifier>122</uniqueidentifier>
<usesdhcp>False</usesdhcp>
<interface>
<nicname>eth1</nicname>
<myip>
<ip>192.168.2.1</ip>
<mask>255.255.255.0</mask>
<gateway>0.0.0.0</gateway>
<type>ip</type>
</myip>
<VLAN
ID="1">Untagged</VLAN>
</interface>
</nic>
</device>
<link>
<SrcNic>
<hostid>100</hostid>
<nicid>102</nicid>
<hostname>pc0</hostname>
<nicname>eth0</nicname>
</SrcNic>
<DstNic>
<hostid>109</hostid>
<nicid>112</nicid>
<hostname>net_switch0</hostname>
<nicname>port1</nicname>
</DstNic>
<hostname />
<linktype>normal</linktype>
<uniqueidentifier>126</uniqueidentifier>
</link>
<link>
<SrcNic>
<hostid>103</hostid>
<nicid>105</nicid>
<hostname>laptop0</hostname>
<nicname>eth0</nicname>
</SrcNic>
<DstNic>
<hostid>109</hostid>
<nicid>113</nicid>
<hostname>net_switch0</hostname>
<nicname>port2</nicname>
</DstNic>
<hostname />
<linktype>normal</linktype>
<uniqueidentifier>127</uniqueidentifier>
</link>
<link>
<SrcNic>
<hostid>109</hostid>
<nicid>114</nicid>
<hostname>net_switch0</hostname>
<nicname>port3</nicname>
</SrcNic>
<DstNic>
<hostid>119</hostid>
<nicid>121</nicid>
<hostname>router0</hostname>
<nicname>eth0</nicname>
</DstNic>
<hostname />
<linktype>normal</linktype>
<uniqueidentifier>128</uniqueidentifier>
</link>
<link>
<SrcNic>
<hostid>119</hostid>
<nicid>122</nicid>
<hostname>router0</hostname>
<nicname>eth1</nicname>
</SrcNic>
<DstNic>
<hostid>123</hostid>
<nicid>125</nicid>
<hostname>laptop1</hostname>
<nicname>eth0</nicname>
</DstNic>
<hostname />
<linktype>normal</linktype>
<uniqueidentifier>129</uniqueidentifier>
</link>
<link>
<SrcNic>
<hostid>109</hostid>
<nicid>118</nicid>
<hostname>net_switch0</hostname>
<nicname>port7</nicname>
</SrcNic>
<DstNic>
<hostid>130</hostid>
<nicid>133</nicid>
<hostname>net_switch1</hostname>
<nicname>port1</nicname>
</DstNic>
<hostname />
<linktype>normal</linktype>
<uniqueidentifier>140</uniqueidentifier>
<isinvisible>True</isinvisible>
</link>
<nettest>
<shost>net_switch1</shost>
<dhost>net_switch0</dhost>
<thetest>NeedsLocalIPTo</thetest>
</nettest>
<VLANName
ID="1"
Color="Blue">Default</VLANName>
</Network>
</EduNetworkBuilder>

File diff suppressed because it is too large Load Diff

View File

@ -94,9 +94,9 @@ Normal Table;}}{\*\listtable{\list\listtemplateid-678110632\listhybrid{\listleve
\fi-360\li5040\lin5040 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698691\'01o;}{\levelnumbers;}\f2\fbias0\hres0\chhres0 \fi-360\li5760\lin5760 }
{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\lvltentative\levelspace0\levelindent0{\leveltext\leveltemplateid67698693\'01\u-3929 ?;}{\levelnumbers;}\f10\fbias0\hres0\chhres0 \fi-360\li6480\lin6480 }{\listname
;}\listid1535926840}}{\*\listoverridetable{\listoverride\listid300036472\listoverridecount0\ls1}{\listoverride\listid1535926840\listoverridecount0\ls2}{\listoverride\listid569733219\listoverridecount0\ls3}{\listoverride\listid1059207521
\listoverridecount0\ls4}{\listoverride\listid159203163\listoverridecount0\ls5}{\listoverride\listid272565942\listoverridecount0\ls6}}{\*\rsidtbl \rsid4201155\rsid7431196\rsid7475506\rsid8871995\rsid12019296\rsid12727595\rsid14170698\rsid14577306
\rsid15677065\rsid16005564}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim0}{\info{\operator tim.young@lightsys.org}{\creatim\yr2017\mo3\dy14\hr9\min58}
{\revtim\yr2017\mo6\dy21\hr13\min8}{\version10}{\edmins10}{\nofpages9}{\nofwords1724}{\nofchars9828}{\nofcharsws11529}{\vern91}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}
\listoverridecount0\ls4}{\listoverride\listid159203163\listoverridecount0\ls5}{\listoverride\listid272565942\listoverridecount0\ls6}}{\*\rsidtbl \rsid3230122\rsid4201155\rsid7431196\rsid7475506\rsid8871995\rsid12019296\rsid12727595\rsid14170698
\rsid14577306\rsid15677065\rsid16005564}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim0}{\info{\operator tim.young@lightsys.org}{\creatim\yr2017\mo3\dy14\hr9\min58}
{\revtim\yr2017\mo6\dy21\hr15\min18}{\version11}{\edmins11}{\nofpages9}{\nofwords1752}{\nofchars9990}{\nofcharsws11719}{\vern91}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}
\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect
\widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120\dghorigin1701
\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale100\rsidroot14577306 \nouicompat \fet0{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1
@ -117,12 +117,15 @@ Normal Table;}}{\*\listtable{\list\listtemplateid-678110632\listhybrid{\listleve
\par \hich\af39\dbch\af31505\loch\f39 * Saves settin\hich\af39\dbch\af31505\loch\f39 gs in ~/.conf/EduNetworkbuilder_config.xml file on Linux
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid7475506 \hich\af39\dbch\af31505\loch\f39 * Cannot edit something that is powered off. Also, cannot ping, do DHCP refresh, etc.
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid4201155 \hich\af39\dbch\af31505\loch\f39 * Fixed losing the VPN password changes when editing VPN Info.
\par \hich\af39\dbch\af31505\loch\f39 * Fixed \hich\af39\dbch\af31505\loch\f39 anchoring of puzzle filter box.}{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid4201155\charrsid14170698
\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid14577306 \hich\af39\dbch\af31505\loch\f39 Version 1.0.31
\par \hich\af39\dbch\af31505\loch\f39 * Fixed anchoring of puzzle filter box.
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid3230122 \hich\af39\dbch\af31505\loch\f39 * Added invisible items. Forgotten switches and unseen network wires. Right now, the only way to make something hidden
\hich\af39\dbch\af31505\loch\f39 is by editing the file and say\hich\af39\dbch\af31505\loch\f39 ing <invisible>true</invisible> on it.}{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid3230122\charrsid14170698
\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid14577306 \hich\af39\dbch\af31505\loch\f39 Version 1\hich\af39\dbch\af31505\loch\f39
.0.31
\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid14577306 {\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid14577306\charrsid14577306 \hich\af39\dbch\af31505\loch\f39 *}{
\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid14577306 \hich\af39\dbch\af31505\loch\f39 Added powering off switches, routers, and the like
\par \hich\af39\dbch\af31505\loch\f39 * Added traceroute
\par \hich\af39\dbch\af31505\loch\f39 * Added a few puzzles for\hich\af39\dbch\af31505\loch\f39 those
\par \hich\af39\dbch\af31505\loch\f39 * Added a few puzzles for those
\par \hich\af39\dbch\af31505\loch\f39 * Moved to a new git repository
\par \hich\af39\dbch\af31505\loch\f39 * Changed the default location of popups. They worked very strange in a multi-window environment.}{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid14577306\charrsid14577306
\par }\pard \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.30
@ -140,109 +143,110 @@ Normal Table;}}{\*\listtable{\list\listtemplateid-678110632\listhybrid{\listleve
\par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 * Major graphics overhaul
\par \hich\af39\dbch\af31505\loch\f39 - Packets move on timer
\par \hich\af39\dbch\af31505\loch\f39 - Graphics drawn "smarter"
\par \hich\af39\dbch\af31505\loch\f39 - Result is that things flow smoother. Loopback2 also works much nicer.
\par \hich\af39\dbch\af31505\loch\f39 - Result is that things flow smoother. Loo\hich\af39\dbch\af31505\loch\f39 pback2 also works much nicer.
\par \hich\af39\dbch\af31505\loch\f39 * Fixed minor issue with "help" puzzle
\par \hich\af39\dbch\af31505\loch\f39 * Made help "?" button turn red when it is pa\hich\af39\dbch\af31505\loch\f39 rt of the puzzle
\par \hich\af39\dbch\af31505\loch\f39 * Made help "?" button turn red when it is part of the puzzle
\par \hich\af39\dbch\af31505\loch\f39 * Put checkmark to display names and IPs of devices on front form.
\par \hich\af39\dbch\af31505\loch\f39 * Add a NetTest to show people to click on the "display Device names and IP" checkmark}{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296
\par \hich\af39\dbch\af31505\loch\f39 * Add a NetTest to show people to click on the "display D\hich\af39\dbch\af31505\loch\f39 evice names and IP" checkmark}{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296
\par \hich\af39\dbch\af31505\loch\f39 Version 1.0.25
\par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 * Minor changes to help file
\par \hich\af39\dbch\af31505\loch\f39 * Fixed size of labels on IP-Address edit\hich\af39\dbch\af31505\loch\f39 or box
\par \hich\af39\dbch\af31505\loch\f39 * Fixed size of labels on IP-Address editor box
\par \hich\af39\dbch\af31505\loch\f39 * Hide gateway label when we do not need it. (ip-address editor)
\par \hich\af39\dbch\af31505\loch\f39 * rename "mixed network" puzzle to be "adding devices" (the puzzle was about adding devices)
\par \hich\af39\dbch\af31505\loch\f39 * rename "mixed network" puzzle to be "adding devices" (the puzzle wa\hich\af39\dbch\af31505\loch\f39 s about adding devices)
\par \hich\af39\dbch\af31505\loch\f39 * Changed layout of many messages
\par \hich\af39\dbch\af31505\loch\f39 * Save the level we are working on. Allows us to finish \hich\af39\dbch\af31505\loch\f39 level 5 before level 3 if we want to.
\par \hich\af39\dbch\af31505\loch\f39 * Save the level we are working on. Allows us to finish level 5 before level 3 if we want to.
\par \hich\af39\dbch\af31505\loch\f39 * Make network-loop puzzles sit next to each-other
\par \hich\af39\dbch\af31505\loch\f39 * Make it so network-loop2 puzzle asks for second ping after first one finishes
\par \hich\af39\dbch\af31505\loch\f39 * Make it so network-loop2 puzzle asks for second pi\hich\af39\dbch\af31505\loch\f39 ng after first one finishes
\par \hich\af39\dbch\af31505\loch\f39 * Lots of work towards the French translation}{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296
\par \hich\af39\dbch\af31505\loch\f39 Version 1.0.24
\par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 * Add sound when ctrl-\hich\af39\dbch\af31505\loch\f39 s is pressed so we know we saved.
\par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 * Add sound when ctrl-s is pressed so we know we saved.
\par \hich\af39\dbch\af31505\loch\f39 * Add sound fail when save is canceled (will use it later if ctrl-s fails)
\par \hich\af39\dbch\af31505\loch\f39 * Added some wireless puzzles
\par \hich\af39\dbch\af31505\loch\f39 * Fix issue with WAP not forwarding packets correctly
\par \hich\af39\dbch\af31505\loch\f39 * Clear out old status message if we do something. So we do no\hich\af39\dbch\af31505\loch\f39 t say "saved" forever...
\par \hich\af39\dbch\af31505\loch\f39 * Clear out old status message if we do something. So we do not say "saved" forever...
\par \hich\af39\dbch\af31505\loch\f39 * Fixed bad gateway on wireless router issue
\par \hich\af39\dbch\af31505\loch\f39 * Fixed wbridge misbehaving. (issue with gateway)
\par \hich\af39\dbch\af31505\loch\f39 * Added wireless items to help and context help topics
\par \hich\af39\dbch\af31505\loch\f39 * Added wireless it\hich\af39\dbch\af31505\loch\f39 ems to help and context help topics
\par \hich\af39\dbch\af31505\loch\f39 * Thanks to Peter Wilson for so much of the translation backbone.
\par \hich\af39\dbch\af31505\loch\f39 * Lots of translation string changes. The French translation should be soon in coming.
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.23 09/20/2015
\par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 * Fixed issues with broadcast packets
\par \hich\af39\dbch\af31505\loch\f39 * Fixed a network loop issue
\par \hich\af39\dbch\af31505\loch\f39 * Fixed issue with multiple interfaces and being able to go out a differe\hich\af39\dbch\af31505\loch\f39 nt interface than we came in on
\par \hich\af39\dbch\af31505\loch\f39 * Fixed issue with multiple interfaces and being able to go out a different interface than we came in on
\par \hich\af39\dbch\af31505\loch\f39 * Fixed many small bugs that crept in when fixing other bugs. Now all puzzles seem to play correctly}{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296
\par \hich\af39\dbch\af31505\loch\f39 Version 1.0.22 09/01/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296
\par \hich\af39\dbch\af31505\loch\f39 Version 1.0.22 09/0\hich\af39\dbch\af31505\loch\f39 1/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296
\par \hich\af39\dbch\af31505\loch\f39 * Added ssid and keys for wireless links
\par \hich\af39\dbch\af31505\loch\f39 * Wireless will auto-disconnect if link is too long
\par \hich\af39\dbch\af31505\loch\f39 * \hich\af39\dbch\af31505\loch\f39 Wireless will auto-connect if ssid and key match, if link is short enough
\par \hich\af39\dbch\af31505\loch\f39 * Wireless will auto-connect if ssid and key match, if link is short enough
\par \hich\af39\dbch\af31505\loch\f39 * Packets will drop on wireless links if distance is too great
\par \hich\af39\dbch\af31505\loch\f39 * wport has no interface (cannot edit IP address)
\par \hich\af39\dbch\af31505\loch\f39 * wport has no in\hich\af39\dbch\af31505\loch\f39 terface (cannot edit IP address)
\par \hich\af39\dbch\af31505\loch\f39 * wireless router works properly - forwards broadcast packets
\par \hich\af39\dbch\af31505\loch\f39 * wirel\hich\af39\dbch\af31505\loch\f39 ess router handles dhcp requests properly (both responds to it but also passes it on)
\par \hich\af39\dbch\af31505\loch\f39 * right-clicking light and microwave no longer has ping, arp, edit, and other context menus
\par \hich\af39\dbch\af31505\loch\f39 * wireless router handles dhcp requests properly (both responds to it but also passes it on)
\par \hich\af39\dbch\af31505\loch\f39 * right-clicking light and microwave no longer has ping, arp, edit, \hich\af39\dbch\af31505\loch\f39 and other context menus
\par \hich\af39\dbch\af31505\loch\f39 * added net-test for DHCP server status (on/off)
\par \hich\af39\dbch\af31505\loch\f39 * If multiple DHCP servers, c\hich\af39\dbch\af31505\loch\f39 lient randomly chooses which to keep.
\par \hich\af39\dbch\af31505\loch\f39 * If multiple DHCP servers, client randomly chooses which to keep.
\par \hich\af39\dbch\af31505\loch\f39 *Add Wireless Puzzle
\par \hich\af39\dbch\af31505\loch\f39 *Fix many wireless device bugs\line }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.21 08/15/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0
\f39\lang9\langfe1033\langnp9\insrsid12019296
\par \hich\af39\dbch\af31505\loch\f39 * Added a microwave and fluorescent light. They corrupt data when packets run close to them.
\par \hich\af39\dbch\af31505\loch\f39 * Added a microwave and fluorescent \hich\af39\dbch\af31505\loch\f39 light. They corrupt data when packets run close to them.
\par \hich\af39\dbch\af31505\loch\f39 * Added some packet corruption puzzles
\par \hich\af39\dbch\af31505\loch\f39 * Fix\hich\af39\dbch\af31505\loch\f39 ed window resize-on-load issue where the help window popped up first, then the builder window resized over to hide the help window.
\par \hich\af39\dbch\af31505\loch\f39 * Fixed window resize-on-load issue where the help window popped up first, then the builder window resized over to hide the help window.
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.20 08/12/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296
\par \hich\af39\dbch\af31505\loch\f39 * wports do not display on tooltips or when printing the device info
\par \hich\af39\dbch\af31505\loch\f39 * Added ctrl-s to quick-save a network we are working on
\par \hich\af39\dbch\af31505\loch\f39 * commented out wireless devices for now - doing a big demo and wireless is not yet complete
\par \hich\af39\dbch\af31505\loch\f39 * added search box to help
\par \hich\af39\dbch\af31505\loch\f39 * added se\hich\af39\dbch\af31505\loch\f39 arch box to help
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.19 08/08/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296
\par \hich\af39\dbch\af31505\loch\f39 *Updated context help for most puzzles that introduc\hich\af39\dbch\af31505\loch\f39 e new ideas.
\par \hich\af39\dbch\af31505\loch\f39 *Updated context help for most puzzles that introduce new ideas.
\par \hich\af39\dbch\af31505\loch\f39 * Sorted Help topics when adding them in net-tests.
\par \hich\af39\dbch\af31505\loch\f39 * Added some images to the help to help clarify things.
\par \hich\af39\dbch\af31505\loch\f39 * Start with the help windows being the same "height" as the network window.
\par \hich\af39\dbch\af31505\loch\f39 * Open Help so it can be kept open while the puzzles progr\hich\af39\dbch\af31505\loch\f39 ess.
\par \hich\af39\dbch\af31505\loch\f39 * Start with the help windows being the\hich\af39\dbch\af31505\loch\f39 same "height" as the network window.
\par \hich\af39\dbch\af31505\loch\f39 * Open Help so it can be kept open while the puzzles progress.
\par \hich\af39\dbch\af31505\loch\f39 * Deal with minimized state better (used to shrink window to smallest possible state)
\par \hich\af39\dbch\af31505\loch\f39 * Remember size and location of main window between uses.
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.18 08/08/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0\hich\af39\dbch\af31505\loch\f39 .18 08/08/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296
\par \hich\af39\dbch\af31505\loch\f39 * Added Context Help for puzzles.
\par \hich\af39\dbch\af31505\loch\f39 - Each puzzle can have context help
\par \hich\af39\dbch\af31505\loch\f39 - There \hich\af39\dbch\af31505\loch\f39 is a net-test to have us read help
\par \hich\af39\dbch\af31505\loch\f39 - There is a net-test to have us read help
\par \hich\af39\dbch\af31505\loch\f39 * fixed minor problem with a "ding" sound when we load a puzzle that has something locked.
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.17 08/01/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296
\par \hich\af39\dbch\af31505\loch\f39 * Added more help
\par \hich\af39\dbch\af31505\loch\f39 * Added\hich\af39\dbch\af31505\loch\f39 more help
\par \hich\af39\dbch\af31505\loch\f39 * Much progress made in preparing for a French translation
\par \hich\af39\dbch\af31505\loch\f39 * allow for Puzzle's descr\hich\af39\dbch\af31505\loch\f39 iption to be in another language
\par \hich\af39\dbch\af31505\loch\f39 * allow for Puzzle's description to be in another language
\par \hich\af39\dbch\af31505\loch\f39 * Added more to help
\par \hich\af39\dbch\af31505\loch\f39 * Removed edit -> cut, paste, copy, undo. They never did anything. So why have them?
\par \hich\af39\dbch\af31505\loch\f39 * Save box starts in the directory of the file we opened (if we have one)
\par \hich\af39\dbch\af31505\loch\f39 * Choose a language at startup if one has\hich\af39\dbch\af31505\loch\f39 never been chosen, and have option to change language.
\par \hich\af39\dbch\af31505\loch\f39 * Added another puzzle, showing what happens (or does not happen) if we have two networks that use the same IP addresses, and we want to build a VPN between them.
\par \hich\af39\dbch\af31505\loch\f39 * Save box starts i\hich\af39\dbch\af31505\loch\f39 n the directory of the file we opened (if we have one)
\par \hich\af39\dbch\af31505\loch\f39 * Choose a language at startup if one has never been chosen, and have option to change language.
\par \hich\af39\dbch\af31505\loch\f39 * Added another puzzle, showing what happens (or does not happen) if we have two networks that use the s\hich\af39\dbch\af31505\loch\f39 ame IP addresses, and we want to build a VPN between them.
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.16 07/18/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296
\par \hich\af39\dbch\af31505\loch\f39 * Added ab\hich\af39\dbch\af31505\loch\f39 ility to break links (bad network wire)
\par \hich\af39\dbch\af31505\loch\f39 * Added ability to break links (bad network wire)
\par \hich\af39\dbch\af31505\loch\f39 * "connection lights" on network cards / ports when we edit devices
\par \hich\af39\dbch\af31505\loch\f39 * Test for "needs link to" does not succeed if the link in question is a broken link
\par \hich\af39\dbch\af31505\loch\f39 * Added a puzzle to show you how to find broken links
\par \hich\af39\dbch\af31505\loch\f39 * Used broken links in other puzzles
\par \hich\af39\dbch\af31505\loch\f39 * Fixed bug: switches could not use DHCP for many different reasons. Now it works for them.
\par \hich\af39\dbch\af31505\loch\f39 * Fixed bug: switches could not use DHCP for many different reasons. Now it wo\hich\af39\dbch\af31505\loch\f39 rks for them.
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.15 07/11/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296
\par \hich\af39\dbch\af31505\loch\f39 * Added ping time progress bar
\par \hich\af39\dbch\af31505\loch\f39 * Fixed issue with things timing out before they completed. If the \hich\af39\dbch\af31505\loch\f39
network screen is too large, it makes it go just a tiny bit slower and various things would fail. When the first packet successfully makes it to the far end, it recomputes the time needed and gives extra time.
\par \hich\af39\dbch\af31505\loch\f39 * Added context menu ping. If an item is sup\hich\af39\dbch\af31505\loch\f39 posed to ping something, right-clicking adds the ping test to the menu. Takes some of the guess-work out of things.
\par \hich\af39\dbch\af31505\loch\f39 * Fixed minor issue with this change log. Had two 1.0.11 versions & somehow was stating we were at version 10.x.x instead of 1.x.x (sigh) \hich\af39\dbch\af31505\loch\f39
\par \hich\af39\dbch\af31505\loch\f39 * Fixed issue with things timing out before they completed. If the network screen is too large, it makes it go just a tiny bit slower and various things would fail. When the first pa\hich\af39\dbch\af31505\loch\f39
cket successfully makes it to the far end, it recomputes the time needed and gives extra time.
\par \hich\af39\dbch\af31505\loch\f39 * Added context menu ping. If an item is supposed to ping something, right-clicking adds the ping test to the menu. Takes some of the guess-work out of things.
\par \hich\af39\dbch\af31505\loch\f39 * Fixed minor issue with this change log. Had two 1.0.11 versions & somehow was stating we were at version 10.x.x instead of 1.x.x (sigh)
\par \hich\af39\dbch\af31505\loch\f39 * Fixed the VPNify puzzle. Had a goof in it.
\par \hich\af39\dbch\af31505\loch\f39 * Made it so you cannot connect a link to a VPN. A VPN should be a virtual connection, not a physical connection.
\par \hich\af39\dbch\af31505\loch\f39 * Made it so you cannot connect a link to a VPN. A VPN should be a \hich\af39\dbch\af31505\loch\f39 virtual connection, not a physical connection.
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.14 07/10/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296
\par \hich\af39\dbch\af31505\loch\f39 * When we finish a puzzle, allow us to auto-open the "next puzzle"\hich\af39\dbch\af31505\loch\f39 box.
\par \hich\af39\dbch\af31505\loch\f39 * When we finish a puzzle, allow us to auto-open the "next puzzle" box.
\par \hich\af39\dbch\af31505\loch\f39 * Added lots more puzzles
\par \hich\af39\dbch\af31505\loch\f39 * Added more help & documentation
\par \hich\af39\dbch\af31505\loch\f39 * Made it so test for local IP also checked to make sure the subnet-masks matched
\par \hich\af39\dbch\af31505\loch\f39 * Made it so test for local IP also checked to mak\hich\af39\dbch\af31505\loch\f39 e sure the subnet-masks matched
\par \hich\af39\dbch\af31505\loch\f39 * Made it so the test for a matching route compared netmasks
\par \hich\af39\dbch\af31505\loch\f39 * Added a printer object
\par \hich\af39\dbch\af31505\loch\f39 * Added a copier objec\hich\af39\dbch\af31505\loch\f39 t
\par \hich\af39\dbch\af31505\loch\f39 * Added a copier object
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.13 06/21/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296
\par \hich\af39\dbch\af31505\loch\f39 * Fixed issues with arp - arp could go through routers. Now works correctly
\par \hich\af39\dbch\af31505\loch\f39 * Made it test for puzzle completion after adding devices
\par \hich\af39\dbch\af31505\loch\f39 * Made it \hich\af39\dbch\af31505\loch\f39 test for puzzle completion after adding devices
\par \hich\af39\dbch\af31505\loch\f39 * Made it test for completion after changing / deleting devices
\par \hich\af39\dbch\af31505\loch\f39 * Let you delete / add NICs \hich\af39\dbch\af31505\loch\f39 on PCs, primarily so we can solve the duplicate MAC puzzle
\par \hich\af39\dbch\af31505\loch\f39 * Let you delete / add NICs on PCs, primarily so we can solve the duplicate MAC puzzle
\par \hich\af39\dbch\af31505\loch\f39 * Replaced the "Network Loop" puzzle with the correct one.
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.12 06/20/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296
\par \hich\af39\dbch\af31505\loch\f39 * Added VPN and TUN nic types
@ -250,73 +254,73 @@ network screen is too large, it makes it go just a tiny bit slower and various t
\par \hich\af39\dbch\af31505\loch\f39 * Fixed bug with early solution to failed ping test
\par \hich\af39\dbch\af31505\loch\f39 * Added "ding" when a test is solved.
\par \hich\af39\dbch\af31505\loch\f39 * Added a "firewall" network that has a firewall and vpns
\par \hich\af39\dbch\af31505\loch\f39 * Added numerous firewall / vpn puzzles
\par \hich\af39\dbch\af31505\loch\f39 * Added \hich\af39\dbch\af31505\loch\f39 numerous firewall / vpn puzzles
\par \hich\af39\dbch\af31505\loch\f39 * Fixed a DNS issue. It now more intelligently finds the right IP address when you ping it
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.11 06/14/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296
\par \hich\af39\dbch\af31505\loch\f39 * Added the ability to lock various important features to make puzzles better
\par \hich\af39\dbch\af31505\loch\f39 * Able to add interfaces (multiple IPs on a Network Card)
\par \hich\af39\dbch\af31505\loch\f39 * Able to add interfaces (\hich\af39\dbch\af31505\loch\f39 multiple IPs on a Network Card)
\par \hich\af39\dbch\af31505\loch\f39 * Right-click context menu to add net-tests.
\par \hich\af39\dbch\af31505\loch\f39 * Del key now deletes the last item we had clicked on
\par \hich\af39\dbch\af31505\loch\f39 * Can add NICs (on \hich\af39\dbch\af31505\loch\f39 some devices)
\par \hich\af39\dbch\af31505\loch\f39 * Can add NICs (on some devices)
\par \hich\af39\dbch\af31505\loch\f39 * Can delete NICs
\par \hich\af39\dbch\af31505\loch\f39 * Fixed minor bug with broadcast pinging solving ping test for individual computers
\par \hich\af39\dbch\af31505\loch\f39 * Fixed minor bug with broadcast pinging solving ping test for individua\hich\af39\dbch\af31505\loch\f39 l computers
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.10 06/13/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296
\par \hich\af39\dbch\af31505\loch\f39 * Renamed puzzles to manage them easier
\par \hich\af39\dbch\af31505\loch\f39 * Deal with duplicate IPs, and what happens when a packet returns to a c\hich\af39\dbch\af31505\loch\f39 omputer that did not send it.
\par \hich\af39\dbch\af31505\loch\f39 * Change to the help window so you can keep the window open while working with the puzzle.
\par \hich\af39\dbch\af31505\loch\f39 * Change to the donation link. Not that it will ever be used, but it makes me feel better having a few places for people to donate to \hich\af39\dbch\af31505\loch\f39 if they wish.
\par \hich\af39\dbch\af31505\loch\f39 * Minor change for how broadcast packets work, specifically dealing with duplicate IP addresses.
\par \hich\af39\dbch\af31505\loch\f39 * Deal with duplicate IPs, and what happens when a packet returns to a computer that did not send it.
\par \hich\af39\dbch\af31505\loch\f39 * Change to the help window so you can keep the window open while working \hich\af39\dbch\af31505\loch\f39 with the puzzle.
\par \hich\af39\dbch\af31505\loch\f39 * Change to the donation link. Not that it will ever be used, but it makes me feel better having a few places for people to donate to if they wish.
\par \hich\af39\dbch\af31505\loch\f39 * Minor change for how broadcast packets work, specifically dealing with duplicate IP addr\hich\af39\dbch\af31505\loch\f39 esses.
\par \hich\af39\dbch\af31505\loch\f39 * Added a "firewall" device & WAN port with masquerade
\par \hich\af39\dbch\af31505\loch\f39 * Added a FailedPing test so we can ping things that must fail (show the firewall works)
\par \hich\af39\dbch\af31505\loch\f39 *\hich\af39\dbch\af31505\loch\f39 added more to the help
\par \hich\af39\dbch\af31505\loch\f39 * added more to the help
\par \hich\af39\dbch\af31505\loch\f39 * added more puzzles
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.0.9 05/29/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296
\par \hich\af39\dbch\af31505\loch\f39 * Add a grid to the network map. It makes things easier to straighten up
\par \hich\af39\dbch\af31505\loch\f39 * Add a grid to the network ma\hich\af39\dbch\af31505\loch\f39 p. It makes things easier to straighten up
\par \hich\af39\dbch\af31505\loch\f39 * Sorted and organized the puzzles
\par \hich\af39\dbch\af31505\loch\f39 * Made a level for each puzzle.
\par \hich\af39\dbch\af31505\loch\f39 * Tracked the puzzles which have been com\hich\af39\dbch\af31505\loch\f39 pleted
\par \hich\af39\dbch\af31505\loch\f39 * When we open the puzzle list, we now show the first level of puzzles that have an uncompleted puzzle.
\par \hich\af39\dbch\af31505\loch\f39 * Tracked the puzzles which have been completed
\par \hich\af39\dbch\af31505\loch\f39 * When we \hich\af39\dbch\af31505\loch\f39 open the puzzle list, we now show the first level of puzzles that have an uncompleted puzzle.
\par \hich\af39\dbch\af31505\loch\f39 * Added more "tests", viewing help, pinging, arp, and dhcp.
\par \hich\af39\dbch\af31505\loch\f39 * Reset buttons when we load a new network.
\par \hich\af39\dbch\af31505\loch\f39 * Added a bunch more puzzles
\par \hich\af39\dbch\af31505\loch\f39 * \hich\af39\dbch\af31505\loch\f39 Sometimes the remembered IP gets annoying when it remembers odd gateways and numbers we cannot change. Fixed that in many cases.
\par \hich\af39\dbch\af31505\loch\f39 * Sometimes the remembered IP\hich\af39\dbch\af31505\loch\f39 gets annoying when it remembers odd gateways and numbers we cannot change. Fixed that in many cases.
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.0.8 05/25/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296
\par \hich\af39\dbch\af31505\loch\f39 * Always Start with level0 puzzles for now
\par \hich\af39\dbch\af31505\loch\f39 * Fixed the icon when program running
\par \hich\af39\dbch\af31505\loch\f39 * Added an infra\hich\af39\dbch\af31505\loch\f39 structure for Puzzles (needs work)
\par \hich\af39\dbch\af31505\loch\f39 * Added an infrastructure for Puzzles (need\hich\af39\dbch\af31505\loch\f39 s work)
\par \hich\af39\dbch\af31505\loch\f39 * Added a number of basic puzzles
\par \hich\af39\dbch\af31505\loch\f39 * Fixed DHCP Leases. Now it clears leases when you change the DHCP server range.
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.0.7 05/16/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296
\par \hich\af39\dbch\af31505\loch\f39 * Added file association so we can double-click an enbx file
\par \hich\af39\dbch\af31505\loch\f39 * Fixed the ico\hich\af39\dbch\af31505\loch\f39 n so it looks right (removed left edge)
\par \hich\af39\dbch\af31505\loch\f39 * Fixed the icon so it looks right (remove\hich\af39\dbch\af31505\loch\f39 d left edge)
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.0.6 05/16/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296
\par \hich\af39\dbch\af31505\loch\f39 * Able to delete a route (right click route and delete it)
\par \hich\af39\dbch\af31505\loch\f39 * Add map title as something we can load/save
\par \hich\af39\dbch\af31505\loch\f39 * Add message as something we can load and save
\par \hich\af39\dbch\af31505\loch\f39 * Changing size of items affects \hich\af39\dbch\af31505\loch\f39 all items
\par \hich\af39\dbch\af31505\loch\f39 * Allow entering a hostname in the IP address field (ping / gateway)
\par \hich\af39\dbch\af31505\loch\f39 * Changing size of items affects all items
\par \hich\af39\dbch\af31505\loch\f39 * Allow entering \hich\af39\dbch\af31505\loch\f39 a hostname in the IP address field (ping / gateway)
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.0.5 04/26/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296
\par \hich\af39\dbch\af31505\loch\f39 * Fixed ping from switch
\par \hich\af39\dbch\af31505\loch\f39 * Fixed error message when pinging IP that does not exist
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.0.4 04/26/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296
\par \hich\af39\dbch\af31505\loch\f39 * Fixed broadcast ping
\par \hich\af39\dbch\af31505\loch\f39 *Fixed dhcp r\hich\af39\dbch\af31505\loch\f39 equest error
\par \hich\af39\dbch\af31505\loch\f39 *Fixed dhcp request error
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.0.3 04/15/2015
\par }{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 * Added "file" -> "new" to erase and start a clean new network
\par \hich\af39\dbch\af31505\loch\f39 * Fixed pc2 to have gateway on "solved"->"Two Networks"
\par \hich\af39\dbch\af31505\loch\f39 * Fixed - only machines capable of doing DHCP do dhcp request if we do DHCP request on all
\par \hich\af39\dbch\af31505\loch\f39 * Changed - major overhaul to tcp-stack.
\par \hich\af39\dbch\af31505\loch\f39 * Changed - major\hich\af39\dbch\af31505\loch\f39 overhaul to tcp-stack.
\par \hich\af39\dbch\af31505\loch\f39 * Downgrade - Arp temporarily removed from system while tcp-stack overhaul completed
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.0.2 4/19/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296
\par \hich\af39\dbch\af31505\loch\f39 * Added IP-Phone
\par \hich\af39\dbch\af31505\loch\f39 * Packets terminate at the far end - this makes it easier to see packets go both dire\hich\af39\dbch\af31505\loch\f39 ctions
\par \hich\af39\dbch\af31505\loch\f39 * Packets are randomized in transit - Allows packets to arrive at slightly different times
\par \hich\af39\dbch\af31505\loch\f39 * Packets terminate at the far end - this makes it easier to see packets go both directions
\par \hich\af39\dbch\af31505\loch\f39 * Packets \hich\af39\dbch\af31505\loch\f39 are randomized in transit - Allows packets to arrive at slightly different times
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.0.1 4/11/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296
\par \hich\af39\dbch\af31505\loch\f39 * DHCP selection on nics is not functioning correctly
\par \hich\af39\dbch\af31505\loch\f39 * Various small bug-fixes
\par }{\rtlch\fcs1 \ab\af39 \ltrch\fcs0 \b\f39\lang9\langfe1033\langnp9\insrsid12019296 \hich\af39\dbch\af31505\loch\f39 Version 1.0.0.0 4/10/2015}{\rtlch\fcs1 \af39 \ltrch\fcs0 \f39\lang9\langfe1033\langnp9\insrsid12019296
\par \hich\af39\dbch\af31505\loch\f39 This is the initial al\hich\af39\dbch\af31505\loch\f39 pha build
\par \hich\af39\dbch\af31505\loch\f39 * basic pinging
\par \hich\af39\dbch\af31505\loch\f39 This is the initial alpha build
\par \hich\af39\dbch\af31505\loch\f39 * basic\hich\af39\dbch\af31505\loch\f39 pinging
\par \hich\af39\dbch\af31505\loch\f39 * basic arp
\par \hich\af39\dbch\af31505\loch\f39 * Routers
\par \hich\af39\dbch\af31505\loch\f39 * Switches/Hubs
@ -463,8 +467,8 @@ fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000c018
4267b9ead201feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e5000000000000000000000000208b
e48acbead201feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000105000000000000}}