v3.1.1: Admin-Prüfung meldet jeden Schritt (Fehlersuche)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Nico Meister
2026-10-26 21:03:44 +01:00
co-authored by Claude Opus 5.5
parent 59e082e7d5
commit 44c9b7e60c
4 changed files with 18 additions and 1 deletions
+9
View File
@@ -49,9 +49,13 @@ static void check_once(void)
if (!slot) ACT_GetCommonInfo(&slot, sizeof(slot), INFO_TYPE_COMMON_DEFAULT_ACCOUNT_SLOT);
static AccountAccessToken at;
// 1. direkt lesen; 2. sonst Konto laden (falls nach dem Umschalten nicht geladen); 3. sonst einloggen
// Fortschritt in "why": SELECT zeigt, bei welchem Schritt es gerade ist (oder hängt)
snprintf(why, sizeof(why), "Werkzeuge: Schritt 1/4 - Anmeldung lesen (Platz %u) ...", slot);
Result r1 = read_token(slot, &at), r2 = 0, r3 = 0, r4 = 0;
if (R_FAILED(r1) || !at.refreshToken[0]) {
snprintf(why, sizeof(why), "Werkzeuge: Schritt 2/4 - Konto laden ...\n(Lesen: %08lX)", (unsigned long)r1);
r2 = ACTA_LoadConsoleAccount(slot, false, NULL, false, false);
snprintf(why, sizeof(why), "Werkzeuge: Schritt 3/4 - Konto einloggen ...\n(Lesen %08lX, Laden %08lX)", (unsigned long)r1, (unsigned long)r2);
r3 = login(slot);
r4 = read_token(slot, &at);
}
@@ -65,6 +69,7 @@ static void check_once(void)
snprintf(tokens, sizeof(tokens), "%s %s", at.accessToken[0] ? at.accessToken : "-", at.refreshToken);
memset(&at, 0, sizeof(at));
snprintf(why, sizeof(why), "Werkzeuge: Schritt 4/4 - Server fragen (HTTPS) ...");
// Vom Server prüfen lassen (nur HTTPS, MBMNET-CA)
char body[32];
u32 len = 0;
@@ -80,6 +85,10 @@ static void check_once(void)
const char *admin_why(void) { return why; }
void admin_progress(const char *step) { if (wanted && !isAdmin) snprintf(why, sizeof(why), "Werkzeuge: warte auf %s ...", step); }
void admin_skipped(void) { if (wanted && !isAdmin) snprintf(why, sizeof(why), "Werkzeuge: Prüfung ausgefallen (umgeschaltet). App neu öffnen."); }
void admin_prepare(const char *srv, bool mbmnetLoggedIn)
{
isAdmin = false;