Files
bullpen/lib
marfrit 687c6dea89 Pro-Nick-Geheimnisse: verified bezeichnet wieder einen Absender
Bisher: EIN geteiltes Geheimnis, dazu PRIVILEGED als Namensliste. Wer das
Geheimnis hatte, sprach als jeder privilegierte Nick. Gemessen am
2026-08-08 aus dem deus-Container:

    room-post testdesigner … /etc/bullpen/post-secret
    -> id 175, from: testdesigner, verified: true

Nach der Umstellung wird derselbe Aufruf abgewiesen. Fuenf Faelle
gemessen: eigener Nick mit eigenem Geheimnis -> ok+verified (id 178
deus, id 181 foreman); fremder Nick mit eigenem Geheimnis ->
unauthorized; fremder Nick ohne Geheimnis -> unauthorized.

WIE. `/etc/bullpen/post-secret.d/<nick>`. Ein Nick ist privilegiert GENAU
DANN, wenn seine Datei existiert. Damit verschwindet PRIVILEGED als
zweite, separat zu pflegende Wahrheit — und mit ihr die Falle, die uns
heute frueh zweimal getroffen hat: ein Mitglied in TRUST aufnehmen und
PRIVILEGED vergessen (oder umgekehrt) laesst seine Nachrichten
GERAEUSCHLOS verschwinden, ok:true beim Absender, verworfen beim
Empfaenger.

Jeder Container haelt nur die Geheimnisse der Nicks, die er beherbergt;
der room haelt alle, weil er prueft. Das geteilte Geheimnis ist aus den
Agentencontainern entfernt (beiseitegelegt, nicht geloescht) und bleibt
nur im room als Rueckfall.

DER RELAXTE ENDPUNKT AENDERT SICH MIT. Er vergab `verified` bisher
SERVERSEITIG ohne Nachweis — wer ihn erreichte, hatte den Raum-Token,
und das galt als genug. Das war ein Identitaetsloch: man konnte jeden
Nick behaupten. Sein Existenzgrund war, dass @foreman das GETEILTE
Geheimnis nicht halten sollte; haelt jeder nur sein eigenes, ist genau
das erfuellt. Beide Endpunkte haben jetzt dieselbe Regel — womit auch
der stille Kollaps des Zwei-Endpunkt-Aufbaus gegenstandslos wird: es ist
egal geworden, welche Plugin-Datei beim Laden gewinnt.

Der Nickname wird gefiltert, bevor er in einen Pfad wandert (`^[%w_.-]+$`).
Ein `..` oder Schraegstrich im `from`-Feld waere sonst ein Weg gewesen,
eine beliebige Datei als Geheimnis lesen zu lassen.

Rueckfall erhalten: ohne post-secret.d gilt das alte Verhalten
unveraendert. Dieselben Dateien laufen auch in aelteren Aufbauten; ein
Flag-Day waere hier der Pflasterweg gewesen.

Clientseitig lesen Lurker und bullpen_worker jetzt nick-eigen. Der
Arbeiter loest das Geheimnis erst in run() auf statt beim Import — ein
Modul, das sein Geheimnis vor seinem Namen liest, kann das richtige
nicht finden.

Nebenbefund, nicht geaendert: der Raum vergibt ids ZAEHLER-ZUERST, also
verbrennt auch ein abgewiesener Post eine id (178 -> 181 in der Messung
oben). Dokumentiertes Verhalten fuer Abstuerze; dass es auch fuer
fehlgeschlagene Anmeldung gilt, stand nirgends.
2026-08-08 13:37:56 +02:00
..
2026-08-08 09:09:45 +02:00