v3.0.0: Umschalten wartet nicht mehr aufs Auffrischen (abbrechbar, CA-Abruf zuletzt), schnellere Prüfintervalle

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Nico Meister
2026-10-19 21:13:44 +02:00
co-authored by Claude Opus 5.5
parent c384c20558
commit f5fc0861c7
11 changed files with 113 additions and 53 deletions
+2 -6
View File
@@ -414,17 +414,13 @@ static bool write_ips(const char *path, const u8 *data, u32 n, bool *changed)
// Miiverse-Patch (olvpatch.c): eigene Code-Änderungen + MBMNET-CA statt einfacher Text-Regeln.
// 0 = nicht installiert, andere Version oder CA nicht vom Server zu holen (dann bleibt ein alter Patch stehen).
bool patchFreshCa; // CA frisch vom Server holen (Auffrischen im Hintergrund), sonst aus dem Zwischenspeicher
static u32 build_miiverse(const Target *t, const char *server, u8 *out, u32 cap)
{
static u8 der[1024];
static u32 derLen;
static int caState; // 0 = noch nicht geholt, 1 = da, -1 = nicht zu holen
u32 derLen = 0;
char fp[64];
fingerprint(t->tid, fp, sizeof(fp)); // leer = kein Zwischenspeicher, gebaut wird trotzdem
if (caState == 0) caState = olvpatch_fetch_ca(server, der, &derLen, patchFreshCa) ? 1 : -1;
if (caState < 0) return 0;
if (!olvpatch_fetch_ca(server, der, &derLen)) return 0; // aus dem Zwischenspeicher (aktualisiert das Auffrischen)
u32 sum = 2166136261u; // FNV-1a über die CA: neue CA -> neuer Patch
for (u32 i = 0; i < derLen; i++) sum = (sum ^ der[i]) * 16777619u;