When an MPE PID is marked as suspect from switching encryption on/off, but it has already sucessfully delivered IPv4 or LLC PDUs, the suspicion is cleared.
All checks were successful
🚀 Pack skyscraper8 / make-zip (push) Successful in 47s

This commit is contained in:
feyris-tan 2026-05-20 19:47:06 +02:00
parent c4c08d1494
commit f7aa6ecf67
4 changed files with 22 additions and 5 deletions

View File

@ -15,7 +15,10 @@ namespace skyscraper5.src.Mpeg2.PacketFilter
{
state = new bool?[8192];
suspicions = new byte[8192];
exemptions = new bool[8192];
}
private bool[] exemptions;
private bool?[] state;
private byte[] suspicions;
private const byte LIMIT = 3;
@ -24,7 +27,12 @@ namespace skyscraper5.src.Mpeg2.PacketFilter
{
bool scrambled = packet.TSC != 0;
if (!state[packet.PID].HasValue)
if (exemptions[packet.PID])
{
return true;
}
if (!state[packet.PID].HasValue)
{
state[packet.PID] = scrambled;
return true;
@ -45,5 +53,12 @@ namespace skyscraper5.src.Mpeg2.PacketFilter
return true;
}
}
internal void SetExempt(int pid)
{
exemptions[pid] = true;
state[pid] = null;
suspicions[pid] = 0;
}
}
}

View File

@ -2,7 +2,7 @@
"profiles": {
"skyscraper8": {
"commandName": "Project",
"commandLineArgs": "salvage strat3 \"Z:\\Persönliches\\Satellitescommunity\\Skyscraper Test Fixture\\105.5E_4169.263_H_5237_(2026-04-24 12.36.13)_dump.ts\"",
"commandLineArgs": "salvage strat1 \"C:\\Users\\Sascha Schiemann\\Downloads\\65.0W_11304.256_V_30000_(2026-05-17 09.44.02)_dump.ts\"",
"remoteDebugEnabled": false
},
"Container (Dockerfile)": {

View File

@ -1744,6 +1744,7 @@ namespace skyscraper5.Skyscraper.Scraper
public void OnIpDatagram(int pid, byte[] payload)
{
UiJunction?.EnableUiFeature(SkyscraperUiFeature.IpTrafficAnalysis);
TeiOnOffFilter.SetExempt(pid);
if (ipTrafficHandler == null)
{
StorageConnectionManager storageConnectionManager = StorageConnectionManager.GetInstance();
@ -3008,6 +3009,7 @@ namespace skyscraper5.Skyscraper.Scraper
{
if (Array.TrueForAll(contents, x => x == 0))
return;
TeiOnOffFilter.SetExempt(pid);
if (etherType <= 1500)
{
OnLlcFrame((ushort)pid, source, destination, etherType, contents);
@ -3108,7 +3110,7 @@ namespace skyscraper5.Skyscraper.Scraper
return;
}
ipTrafficHandler.HandleLlcFrame(pid, source, destination, etherType, contents);
//ipTrafficHandler.HandleLlcFrame(pid, source, destination, etherType, contents);
MemoryStream llcStream = new MemoryStream(contents, true);

View File

@ -4,7 +4,7 @@ namespace skyscraper8;
public class VersionInfo
{
private const int PUBLIC_RELEASE = 19;
private const int PUBLIC_RELEASE = 20;
public static int GetPublicReleaseNumber()
{