aboutsummaryrefslogtreecommitdiff
path: root/src/ext/Firewall/wixext/FirewallDecompiler.cs
diff options
context:
space:
mode:
authorchris_bednarski <Chris.Bednarski@minfos.com.au>2023-08-26 18:51:38 +1000
committerBob Arnson <github@bobs.org>2023-11-19 12:17:13 -0500
commit80e604761b4f43b9b79a4878fcae360b071a7c35 (patch)
tree9ca40a1d60a2ef1a5a1a426382356ae8b7cf9868 /src/ext/Firewall/wixext/FirewallDecompiler.cs
parent6e974490eeabc9a3728aa2fb9ad07e8a5adf4fb6 (diff)
downloadwix-80e604761b4f43b9b79a4878fcae360b071a7c35.tar.gz
wix-80e604761b4f43b9b79a4878fcae360b071a7c35.tar.bz2
wix-80e604761b4f43b9b79a4878fcae360b071a7c35.zip
change firewall extension table name to Wix5FirewallException
Diffstat (limited to 'src/ext/Firewall/wixext/FirewallDecompiler.cs')
-rw-r--r--src/ext/Firewall/wixext/FirewallDecompiler.cs40
1 files changed, 27 insertions, 13 deletions
diff --git a/src/ext/Firewall/wixext/FirewallDecompiler.cs b/src/ext/Firewall/wixext/FirewallDecompiler.cs
index 69f2c3f4..9ddd8a9a 100644
--- a/src/ext/Firewall/wixext/FirewallDecompiler.cs
+++ b/src/ext/Firewall/wixext/FirewallDecompiler.cs
@@ -32,7 +32,7 @@ namespace WixToolset.Firewall
32 { 32 {
33 switch (table.Name) 33 switch (table.Name)
34 { 34 {
35 case "Wix4FirewallException": 35 case "Wix5FirewallException":
36 this.DecompileWixFirewallExceptionTable(table); 36 this.DecompileWixFirewallExceptionTable(table);
37 break; 37 break;
38 default: 38 default:
@@ -69,18 +69,29 @@ namespace WixToolset.Firewall
69 string[] addresses = ((string)row[2]).Split(','); 69 string[] addresses = ((string)row[2]).Split(',');
70 if (addresses.Length == 1) 70 if (addresses.Length == 1)
71 { 71 {
72 // special-case the Scope attribute values 72 switch(addresses[0])
73 if (addresses[0] == "*")
74 { 73 {
75 firewallException.Add(new XAttribute("Scope", "any")); 74 case "*":
76 } 75 firewallException.Add(new XAttribute("Scope", "any"));
77 else if (addresses[0] == "LocalSubnet") 76 break;
78 { 77 case "LocalSubnet":
79 firewallException.Add(new XAttribute("Scope", "localSubnet")); 78 firewallException.Add(new XAttribute("Scope", "localSubnet"));
80 } 79 break;
81 else 80 case "dns":
82 { 81 firewallException.Add(new XAttribute("Scope", "DNS"));
83 FirewallDecompiler.AddRemoteAddress(firewallException, addresses[0]); 82 break;
83 case "dhcp":
84 firewallException.Add(new XAttribute("Scope", "DHCP"));
85 break;
86 case "wins":
87 firewallException.Add(new XAttribute("Scope", "WINS"));
88 break;
89 case "DefaultGateway":
90 firewallException.Add(new XAttribute("Scope", "defaultGateway"));
91 break;
92 default:
93 FirewallDecompiler.AddRemoteAddress(firewallException, addresses[0]);
94 break;
84 } 95 }
85 } 96 }
86 else 97 else
@@ -107,6 +118,9 @@ namespace WixToolset.Firewall
107 case FirewallConstants.NET_FW_IP_PROTOCOL_UDP: 118 case FirewallConstants.NET_FW_IP_PROTOCOL_UDP:
108 firewallException.Add(new XAttribute("Protocol", "udp")); 119 firewallException.Add(new XAttribute("Protocol", "udp"));
109 break; 120 break;
121 default:
122 firewallException.Add(new XAttribute("Protocol", row[4]));
123 break;
110 } 124 }
111 } 125 }
112 126
@@ -183,7 +197,7 @@ namespace WixToolset.Firewall
183 /// <param name="tables">Collection of all tables.</param> 197 /// <param name="tables">Collection of all tables.</param>
184 private void FinalizeFirewallExceptionTable(TableIndexedCollection tables) 198 private void FinalizeFirewallExceptionTable(TableIndexedCollection tables)
185 { 199 {
186 if (tables.TryGetTable("Wix4FirewallException", out var firewallExceptionTable)) 200 if (tables.TryGetTable("Wix5FirewallException", out var firewallExceptionTable))
187 { 201 {
188 foreach (var row in firewallExceptionTable.Rows) 202 foreach (var row in firewallExceptionTable.Rows)
189 { 203 {