Vertrauenswürdige Server

Ich habe einen von vier anderen Instanzen geschafft “grün” zu bekommen als föderierten Server mit Vertrauensstellung.
Leider erschließt sich nicht, anhand welcher Kriterien die “Beurteilung” erfolgt. Inwieweit evtl. auch IPv4/6 bei den Serveradressen da mit rein spielt etc.
Die Dokumentation unter Configuring Federation Sharing — Nextcloud latest Administration Manual latest documentation gibt da nicht viel her :frowning:

Das Handbuch sagt hier:

Die Voraussetzung für einen grünen Status ist, dass die vertrauenswürdigen Server auf beiden interagierenden Nextcloud-Servern gewartet wurden. Zusätzlich muss occ federation:sync-addressbooks ausgeführt worden sein (Teil der Cron-Job-Liste).

The prerequisiste for a green status is that the trusted servers were maintained in both interacting Nextcloud servers. Additionally occ federation:sync-addressbooks must have been executed (part of cron job list).

Teste das doch mal?

Ja, das haben wir doch schon alles durch (sonst würde ich ja nicht hier fragen :wink:)
Und wenn die Instanz dann immer noch nicht grün wird?
federation:sync-addressbooks liefert leider auch keine ausführliche Ausgabe.

Es ist immer hilfreich, solche Infos vorher in der Frage zu dokumentieren. Umso mehr Details umso besser. Oder auch: How to ask forum questions

Es gibt hier im Forum Fragen, welche vor und welche nach dem Lesen der Dokumentation gestellt werden. Beim Antworten, beginne ich persönlich zumindest, immer gerne bei den einfachen Lösungen, basierend auf den vorhandenen Infos.

Außer eben diese wurden schon im Detail dokumentiert :wink:

Was genau liefert also: occ federation:sync-addressbooks ?

4 [============================] < 1 sec 73.0 MiB

mit -vvv :wink:

Einer der föderierten Server haben wir auf “grün” bekommen.
Wir können nur nicht feststellen warum bzw. warum es bei den anderen nicht funktioniert :pensive_face:

Du hast diesen Bug hier schon geprüft?

Das hat auf jeden Fall schon mal geholfen (mehrmals löschen und neu anlegen)
Aber das kann doch so nicht gewollt sein?

Interessant ist auch, dass ich jetzt Benutzer des einen “grünen” Servers als Talk-Teilnehmer hinzufügen kann und bei dem zweiten “grünen” eine (nutzlose) Fehlermeldung erhalte. Sobald ich mehr Zeit habe, werde ich mich mal durch die Logs wühlen :pensive_face:

Cool! Freut mich zu hören, dass es gelöst werden konnte. Da scheint was im Design vom Key-Exchange noch Luft nach oben zu haben. Aber da bin ich schon lange draußen.. :blush:

Ja, Danke für den Hinweis!
Wirklich stabil scheint das aber nicht zu sein :woozy_face:

Naja, deine Frage war ja:

Leider erschließt sich nicht, anhand welcher Kriterien die “Beurteilung” erfolgt.

Was eigentlich so aussehen sollte:

Server A und B werden gegenseitig als vertrauenswürdig eingetragen. Server A schickt sein Token zu Server B. Wenn A's Token größer ist, fordert B einen gemeinsamen Geheimcode an. Server A prüft das Token, erstellt den Code und schickt ihn zurück. Jetzt haben beide denselben Code und die Synchronisation funktioniert.

Und thgoebel hat ja dazu dann, hier sehr vereinfacht zwei der Probleme, so zusammengefasst warum es nicht immer klappt:

  1. Race Condition:
    • Server mit höherem Token initiiert RequestSharedSecret, aber falls der andere Server noch nicht antworten kann (z. B. weil er den ersten Server noch nicht als vertrauenswürdig eingetragen hat), bricht der Prozess ab – ohne Wiederholungsmechanismus.
    • Ergebnis: Beide Server warten aufeinander, aber keiner führt den Austausch zu Ende.

„Eine Wettlaufsituation (engl. race condition) tritt auf, wenn zwei Prozesse um denselben Zustand konkurrieren und das Ergebnis von der Timing-Reihenfolge abhängt."

  1. Fehlende Fehlereskalierung:
    • Logs sind nur auf DEBUG-Level (statt WARNING), was die Diagnose erschwert, auch für dich.

Somit ist zumindest deine Frage beantwortet :blush:

Ansonsten können wir anscheinend nur “händisch” eintragen, bis es klappt. Die Lösung liegt bei den Entwicklern.

1 Like