Merge pull request #19 from tabad/bugfix/chapter10

Bugfix/chapter10
This commit is contained in:
Nigel Bowden 2023-07-23 07:31:45 +01:00 committed by GitHub
commit 5c6a6077da
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
24 changed files with 77 additions and 59 deletions

View file

@ -4,7 +4,7 @@
:foreach s in=$w do={
:local i [:resolve $s];
:local p [/ping $i count=3 ];
:local p [/ping $i count=3];
:local u [/tool fetch url=("https://$s") mode=https http-method=get \
as-value keep-result=no];

View file

@ -13,7 +13,7 @@
:local i [:resolve $s];
# try pinging the IP address of this site
:local p [/ping $i count=3 ];
:local p [/ping $i count=3];
# try fetching the web page of this site
:local u [/tool fetch url=("https://$s") mode=https http-method=get \

View file

@ -13,7 +13,7 @@
:local IpAddress [:resolve $SiteName];
# try pinging the IP address of this site
:local PingResult [/ping $IpAddress count=3 ];
:local PingResult [/ping $IpAddress count=3];
# try getting the web page of this site
:local UrlFetch [/tool fetch url=("https://$SiteName") mode=https \

View file

@ -1,7 +1,10 @@
:global Filename "ch10-04-bad-script.rsc"
# filename: ch10-04-bad-script.rsc
#
# A simple script to perform a series of tests on a
# list of web sites.
:global Filename "ch10-04-bad-script.rsc"
# function to log error message
:global LogMessageFunc do={
:global Filename;
@ -18,7 +21,7 @@
# check arg type str of correct length passed
if (([:typeof $WebSiteName]!="str") or \
([:len value=$WebSiteName] < 6)) do={
([:len $WebSiteName] < 6)) do={
$LogMessageFunc ("DnsResolveFunc: arg value $WebSiteName not \
a valid string!");
}
@ -47,7 +50,7 @@
# check arg type str of correct length passed
if (([:typeof $SiteName] != "str") or \
([:len value=$SiteName] < 6)) do={
([:len $SiteName] < 6)) do={
$LogMessageFunc ("GetWebPageFunc: arg value $SiteName not a \
valid string!");
}

View file

@ -1,7 +1,7 @@
# ch10-05-error-check.rsc
# filename: ch10-05-error-check.rsc
:local WebSites { "badname1234.com"; "google.com"};
:foreach SiteName in=$WebSites do={
:local SiteIpAddress [:resolve $SiteName];
:put "Site IP for $SiteName is $SiteIpAddress";
}
}

View file

@ -1,4 +1,4 @@
# ch10-06-error-check.rsc
# filename: ch10-06-error-check.rsc
:local WebSites { "badname1234.com"; "google.com"};
:foreach SiteName in=$WebSites do={
:do {
@ -7,4 +7,4 @@
} on-error={
:put "Name lookup failed for $SiteName";
}
}
}

View file

@ -1,6 +1,9 @@
# filename: ch10-07-bad-script.rsc
#
# A simple script to perform a series of tests on a
# list of web sites.
:global Filename "ch10-07-bad-script.rsc"
# A script to perform a series of tests on a
# list of web sites.
# function to log error messages
:global LogMessageFunc do={
@ -18,7 +21,7 @@
# check arg type str of correct length passed
:if (([:typeof $WebSiteName] != "str") or \
([:len value=$WebSiteName] < 6)) do={
([:len $WebSiteName] < 6)) do={
$LogMessageFunc ("DnsResolveFunc: arg value $WebSiteName not \
a valid string!");
@ -64,7 +67,7 @@
# check arg type str of correct length passed
:if (([:typeof $SiteName] != "str") or \
([:len value=$SiteName] < 6)) do={
([:len $SiteName] < 6)) do={
$LogMessageFunc ("GetWebPageFunc: arg value $SiteName not a \
valid string!");
:return "*** test failed ***";
@ -77,7 +80,7 @@
} on-error={
$LogMessageFunc ("GetWebPageFunc: unable to retrieve site: \
$SiteName !");
:return { "duration"="*** test failed ***" }
:return { "*** test failed ***" }
}
}

View file

@ -1,7 +1,10 @@
:global Filename "ch10-08-bad-script.rsc"
# A script to perform a series of tests on a
# filename: ch10-08-bad-script.rsc
#
# A simple script to perform a series of tests on a
# list of web sites.
:global Filename "ch10-08-bad-script.rsc"
# set DEBUG to "true" for script debugging output,
# "false" for normal operation
:global DEBUG false;
@ -34,7 +37,7 @@
$DebugFunc "Checking arg data type is correct";
:if (([:typeof $WebSiteName] != "str") or \
([:len value=$WebSiteName] < 6)) do={
([:len $WebSiteName] < 6)) do={
:local ErrorMsg "DnsResolveFunc: arg value $WebSiteName \
not a valid string!";
$LogMessageFunc $ErrorMsg;
@ -85,10 +88,10 @@
# check arg type str of correct length passed
if (([:typeof $SiteName] != "str") or \
([:len value=$SiteName] < 6)) do={
([:len $SiteName] < 6)) do={
$LogMessageFunc ("GetWebPageFunc: arg value $SiteName not a \
valid string!");
:return { "duration"="*** test failed ***" };
:return { "*** test failed ***" };
}
do {
@ -97,7 +100,7 @@
} on-error {
$LogMessageFunc ("GetWebPageFunc: unable to retrieve site: \
$SiteName !");
return { "duration"="*** test failed ***" };
return { "*** test failed ***" };
}
}

View file

@ -1,7 +1,7 @@
# ch10-09-simple-pause.rsc
# filename: ch10-09-simple-pause.rsc
# A simple script that includes a 2 second pause
:put "Hello we're going to pause now...";
:delay 2;
:put "Pause complete. We're all done now!";
:put "Pause complete. We're all done now!";

View file

@ -1,4 +1,4 @@
# ch10-10-add-remove-vlans.rsc
# filename: ch10-10-add-remove-vlans.rsc
# a script to add and remove 50 VLANs to/fromon-error={
# a Mikrotik router interface
@ -24,4 +24,4 @@
# add VLAN to LAN interface
:local VlanName "VLAN$VlanId";
/interface vlan remove "$VlanName";
}
}

View file

@ -1,4 +1,4 @@
# ch10-11-add-remove-vlans.rsc
# filename: ch10-11-add-remove-vlans.rsc
# a script to add and remove 50 VLANs to/from
# a Mikrotik router interface
@ -20,4 +20,4 @@
# add VLAN to LAN interface
:local VlanName "VLAN$VlanId";
/interface vlan remove "$VlanName";
}
}

View file

@ -1,4 +1,4 @@
# ch10-12-add-remove-vlans.rsc
# filename: ch10-12-add-remove-vlans.rsc
# a script to add and remove 50 VLANs to/from
# a Mikrotik router interface
@ -28,4 +28,4 @@
}
}];
:put "Remove loop time: $RemoveLoopTime";
:put "Remove loop time: $RemoveLoopTime";

View file

@ -4,7 +4,7 @@
:foreach s in=$w do={
:local i [:resolve $s];
:local p [/ping $i count=3 ];
:local p [/ping $i count=3];
:local u [/tool fetch url=("https://$s") mode=https http-method=get \
as-value keep-result=no];

View file

@ -13,7 +13,7 @@
:local i [:resolve $s];
# try pinging the IP address of this site
:local p [/ping $i count=3 ];
:local p [/ping $i count=3];
# try fetching the web page of this site
:local u [/tool fetch url=("https://$s") mode=https http-method=get \

View file

@ -13,7 +13,7 @@
:local IpAddress [:resolve $SiteName];
# try pinging the IP address of this site
:local PingResult [/ping $IpAddress count=3 ];
:local PingResult [/ping $IpAddress count=3];
# try getting the web page of this site
:local UrlFetch [/tool fetch url=("https://$SiteName") mode=https \

View file

@ -1,6 +1,9 @@
:global Filename "ch10-04-bad-script.rsc"
# filename: ch10-04-bad-script.rsc
#
# A simple script to perform a series of tests on a
# list of web sites.
# list of web sites.
:global Filename "ch10-04-bad-script.rsc"
# function to log error message
:global LogMessageFunc do={
@ -18,7 +21,7 @@
# check arg type str of correct length passed
if (([:typeof $WebSiteName]!="str") or \
([:len value=$WebSiteName] < 6)) do={
([:len $WebSiteName] < 6)) do={
$LogMessageFunc ("DnsResolveFunc: arg value $WebSiteName not \
a valid string!");
}
@ -47,7 +50,7 @@
# check arg type str of correct length passed
if (([:typeof $SiteName] != "str") or \
([:len value=$SiteName] < 6)) do={
([:len $SiteName] < 6)) do={
$LogMessageFunc ("GetWebPageFunc: arg value $SiteName not a \
valid string!");
}

View file

@ -1,7 +1,7 @@
# ch10-05-error-check.rsc
# filename: ch10-05-error-check.rsc
:local WebSites { "badname1234.com"; "google.com"};
:foreach SiteName in=$WebSites do={
:local SiteIpAddress [:resolve $SiteName];
:put "Site IP for $SiteName is $SiteIpAddress";
}
}

View file

@ -1,4 +1,4 @@
# ch10-06-error-check.rsc
# filename: ch10-06-error-check.rsc
:local WebSites { "badname1234.com"; "google.com"};
:foreach SiteName in=$WebSites do={
:do {
@ -7,4 +7,4 @@
} on-error={
:put "Name lookup failed for $SiteName";
}
}
}

View file

@ -1,6 +1,9 @@
# filename: ch10-07-bad-script.rsc
#
# A simple script to perform a series of tests on a
# list of web sites.
:global Filename "ch10-07-bad-script.rsc"
# A script to perform a series of tests on a
# list of web sites.
# function to log error messages
:global LogMessageFunc do={
@ -18,7 +21,7 @@
# check arg type str of correct length passed
:if (([:typeof $WebSiteName] != "str") or \
([:len value=$WebSiteName] < 6)) do={
([:len $WebSiteName] < 6)) do={
$LogMessageFunc ("DnsResolveFunc: arg value $WebSiteName not \
a valid string!");
@ -64,7 +67,7 @@
# check arg type str of correct length passed
:if (([:typeof $SiteName] != "str") or \
([:len value=$SiteName] < 6)) do={
([:len $SiteName] < 6)) do={
$LogMessageFunc ("GetWebPageFunc: arg value $SiteName not a \
valid string!");
:return "*** test failed ***";
@ -77,7 +80,7 @@
} on-error={
$LogMessageFunc ("GetWebPageFunc: unable to retrieve site: \
$SiteName !");
:return { "duration"="*** test failed ***" }
:return { "*** test failed ***" }
}
}

View file

@ -1,7 +1,10 @@
:global Filename "ch10-08-bad-script.rsc"
# A script to perform a series of tests on a
# filename: ch10-08-bad-script.rsc
#
# A simple script to perform a series of tests on a
# list of web sites.
:global Filename "ch10-08-bad-script.rsc"
# set DEBUG to "true" for script debugging output,
# "false" for normal operation
:global DEBUG false;
@ -34,7 +37,7 @@
$DebugFunc "Checking arg data type is correct";
:if (([:typeof $WebSiteName] != "str") or \
([:len value=$WebSiteName] < 6)) do={
([:len $WebSiteName] < 6)) do={
:local ErrorMsg "DnsResolveFunc: arg value $WebSiteName \
not a valid string!";
$LogMessageFunc $ErrorMsg;
@ -85,10 +88,10 @@
# check arg type str of correct length passed
if (([:typeof $SiteName] != "str") or \
([:len value=$SiteName] < 6)) do={
([:len $SiteName] < 6)) do={
$LogMessageFunc ("GetWebPageFunc: arg value $SiteName not a \
valid string!");
:return { "duration"="*** test failed ***" };
:return { "*** test failed ***" };
}
do {
@ -97,7 +100,7 @@
} on-error {
$LogMessageFunc ("GetWebPageFunc: unable to retrieve site: \
$SiteName !");
return { "duration"="*** test failed ***" };
return { "*** test failed ***" };
}
}

View file

@ -1,7 +1,7 @@
# ch10-09-simple-pause.rsc
# filename: ch10-09-simple-pause.rsc
# A simple script that includes a 2 second pause
:put "Hello we're going to pause now...";
:delay 2;
:put "Pause complete. We're all done now!";
:put "Pause complete. We're all done now!";

View file

@ -1,4 +1,4 @@
# ch10-10-add-remove-vlans.rsc
# filename: ch10-10-add-remove-vlans.rsc
# a script to add and remove 50 VLANs to/from
# a Mikrotik router interface
@ -24,4 +24,4 @@
# add VLAN to LAN interface
:local VlanName "VLAN$VlanId";
/interface/vlan remove "$VlanName";
}
}

View file

@ -1,4 +1,4 @@
# ch10-11-add-remove-vlans.rsc
# filename: ch10-11-add-remove-vlans.rsc
# a script to add and remove 50 VLANs to/from
# a Mikrotik router interface
@ -20,4 +20,4 @@
# add VLAN to LAN interface
:local VlanName "VLAN$VlanId";
/interface vlan remove "$VlanName";
}
}

View file

@ -1,4 +1,4 @@
# ch10-12-add-remove-vlans.rsc
# filename: ch10-12-add-remove-vlans.rsc
# a script to add and remove 50 VLANs to/from
# a Mikrotik router interface
@ -28,4 +28,4 @@
}
}];
:put "Remove loop time: $RemoveLoopTime";
:put "Remove loop time: $RemoveLoopTime";