Skip to content

Commit a006f64

Browse files
Merge branch 'develop' into FWREZNETZ-651_2949
2 parents a035005 + a5c23cb commit a006f64

File tree

6 files changed

+33
-17
lines changed

6 files changed

+33
-17
lines changed

roles/lib/files/FWO.Api.Client/APIcalls/owner/newNetworkOwnership.graphql

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ mutation newNetworkOwnership(
77
owner_id: $ownerId
88
ip: $ip
99
ip_end: $ip_end
10+
is_deleted: false
11+
nw_type: 10
1012
}) {
1113
returning {
1214
newIdLong: id

roles/lib/files/FWO.Api.Client/FWO.Api.Client.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<PackageReference Include="GraphQL.Client" Version="6.1.0" />
1212
<PackageReference Include="GraphQL.Client.Serializer.Newtonsoft" Version="6.1.0" />
1313
<PackageReference Include="GraphQL.Client.Serializer.SystemTextJson" Version="6.1.0" />
14-
<PackageReference Include="Microsoft.AspNetCore.Components" Version="8.0.13" />
14+
<PackageReference Include="Microsoft.AspNetCore.Components" Version="8.0.14" />
1515
</ItemGroup>
1616

1717
<ItemGroup>

roles/lib/files/FWO.Data/FWO.Data.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
<ItemGroup>
1010
<PackageReference Include="GraphQL.Client.Serializer.Newtonsoft" Version="6.1.0" />
11-
<PackageReference Include="Microsoft.AspNetCore.Components" Version="8.0.13" />
11+
<PackageReference Include="Microsoft.AspNetCore.Components" Version="8.0.14" />
1212
</ItemGroup>
1313

1414
<ItemGroup>

roles/lib/files/FWO.Report/ReportAppRules.cs

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using FWO.Api.Client;
1+
using FWO.Api.Client;
22
using FWO.Api.Client.Queries;
33
using FWO.Data;
44
using FWO.Data.Report;
@@ -63,13 +63,13 @@ private async Task PrepareAppRulesReport(ApiConnection apiConnection)
6363
List<NetworkLocation> disregardedFroms = [.. rule.Froms];
6464
if(modellingFilter.ShowSourceMatch)
6565
{
66-
(relevantFroms, disregardedFroms) = CheckNetworkObjects(rule.Froms);
66+
(relevantFroms, disregardedFroms) = CheckNetworkObjects(rule.Froms, rule.SourceNegated);
6767
}
6868
List<NetworkLocation> relevantTos = [];
6969
List<NetworkLocation> disregardedTos = [.. rule.Tos];
7070
if(modellingFilter.ShowDestinationMatch)
7171
{
72-
(relevantTos, disregardedTos) = CheckNetworkObjects(rule.Tos);
72+
(relevantTos, disregardedTos) = CheckNetworkObjects(rule.Tos, rule.DestinationNegated);
7373
}
7474

7575
if(relevantFroms.Count > 0 || relevantTos.Count > 0)
@@ -107,7 +107,7 @@ private async Task GetAppServers(ApiConnection apiConnection)
107107
IPAddress.Parse((s.IpEnd != "" ? s.IpEnd : s.Ip).StripOffNetmask())))];
108108
}
109109

110-
private (List<NetworkLocation>, List<NetworkLocation>) CheckNetworkObjects(NetworkLocation[] objList)
110+
private (List<NetworkLocation>, List<NetworkLocation>) CheckNetworkObjects(NetworkLocation[] objList, bool negated)
111111
{
112112
List<NetworkLocation> relevantObjects = [];
113113
List<NetworkLocation> disregardedObjects = [];
@@ -131,15 +131,15 @@ private async Task GetAppServers(ApiConnection apiConnection)
131131
{
132132
foreach(var grpobj in obj.Object.ObjectGroupFlats)
133133
{
134-
if(grpobj.Object != null && CheckObj(grpobj.Object))
134+
if(grpobj.Object != null && CheckObj(grpobj.Object, negated))
135135
{
136136
relevantObjects.Add(obj);
137137
found = true;
138138
break;
139139
}
140140
}
141141
}
142-
else if(CheckObj(obj.Object))
142+
else if(CheckObj(obj.Object, negated))
143143
{
144144
relevantObjects.Add(obj);
145145
found = true;
@@ -153,13 +153,27 @@ private async Task GetAppServers(ApiConnection apiConnection)
153153
return (relevantObjects, disregardedObjects);
154154
}
155155

156-
private bool CheckObj(NetworkObject obj)
156+
private bool CheckObj(NetworkObject obj, bool negated)
157157
{
158158
foreach(var ownerIpRange in ownerIps)
159159
{
160-
if(obj.IP != null &&
161-
IpOperations.RangeOverlapExists(new IPAddressRange(IPAddress.Parse(obj.IP.StripOffNetmask()),
162-
IPAddress.Parse((obj.IpEnd != null && obj.IpEnd != "" ? obj.IpEnd : obj.IP).StripOffNetmask())), ownerIpRange))
160+
if(obj.IP == null)
161+
{
162+
continue;
163+
}
164+
165+
IPAddressRange objRange = new(IPAddress.Parse(obj.IP.StripOffNetmask()),
166+
IPAddress.Parse((obj.IpEnd != null && obj.IpEnd != "" ? obj.IpEnd : obj.IP).StripOffNetmask()));
167+
168+
if(negated)
169+
{
170+
if (IpOperations.IpToUint(ownerIpRange.Begin) < IpOperations.IpToUint(objRange.Begin) ||
171+
(IpOperations.IpToUint(ownerIpRange.End) > IpOperations.IpToUint(objRange.End)))
172+
{
173+
return true;
174+
}
175+
}
176+
else if(IpOperations.RangeOverlapExists(objRange, ownerIpRange))
163177
{
164178
return true;
165179
}
@@ -185,7 +199,7 @@ private void PrepareFilter(ManagementReport mgt)
185199
{
186200
foreach(var grpobj in from.Object.ObjectGroupFlats)
187201
{
188-
if(grpobj.Object != null && CheckObj(grpobj.Object))
202+
if(grpobj.Object != null && CheckObj(grpobj.Object, rule.SourceNegated))
189203
{
190204
mgt.HighlightedObjectIds.Add(grpobj.Object.Id);
191205
}
@@ -207,7 +221,7 @@ private void PrepareFilter(ManagementReport mgt)
207221
{
208222
foreach(var grpobj in to.Object.ObjectGroupFlats)
209223
{
210-
if(grpobj.Object != null && CheckObj(grpobj.Object))
224+
if(grpobj.Object != null && CheckObj(grpobj.Object, rule.DestinationNegated))
211225
{
212226
mgt.HighlightedObjectIds.Add(grpobj.Object.Id);
213227
}

roles/lib/files/FWO.Services/FWO.Services.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
</PropertyGroup>
88

99
<ItemGroup>
10-
<PackageReference Include="Microsoft.AspNetCore.Components.Authorization" Version="8.0.13" />
10+
<PackageReference Include="Microsoft.AspNetCore.Components.Authorization" Version="8.0.14" />
1111
</ItemGroup>
1212

1313
<ItemGroup>

roles/middleware/files/FWO.Middleware.Server/FWO.Middleware.Server.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
</PropertyGroup>
99

1010
<ItemGroup>
11-
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.13" />
11+
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.14" />
1212
<PackageReference Include="Novell.Directory.Ldap.NETStandard" Version="3.6.0" />
1313
<PackageReference Include="PuppeteerSharp" Version="20.1.3" />
14-
<PackageReference Include="Swashbuckle.AspNetCore" Version="7.3.1" />
14+
<PackageReference Include="Swashbuckle.AspNetCore" Version="8.0.0" />
1515
</ItemGroup>
1616

1717
<ItemGroup>

0 commit comments

Comments
 (0)