jlawyerorg / j-lawyer-org

Main project containing all submodules for building an entire j-lawyer.org system. Submit issues (bugs, enhancement requests) here.
https://www.j-lawyer.org
GNU Affero General Public License v3.0
49 stars 23 forks source link

[BUG] [e-mail] Eingaben im E-Mailclient wirken auf falsche E-Mail #1913

Open papiertiger960ff opened 1 year ago

papiertiger960ff commented 1 year ago

Anwendungsfall: • 1 handelsüblicher Dovecot-Server, IPv6-only • 4 Mailclients, die gleichzeitig auf das selbe Postfach zugreifen (Thunderbird, Evolution, K-9 Mail und J-Lawyer)

Wenn ich in einem der anderen Mailclients eine Mail lösche und dann in J-Lawyer eine andere Mail auswähle, dann hat das zur Folge, dass ich in der Vorschau unten die falsche Mail sehe.

Ich vermute darüber hinaus auch, dass es bei anderen Operationen ebenfalls Konstellationen gibt, wo Befehle auf die falsche Mail angewendet werden (Löschung, Veraktung).

Ich halte dieses Verhalten der Software für ziemlich heikel, weil die Auswirkungen fatal sein können.

Expected behavior / Erwartetes Verhalten Eingegebene Befehle sollten immer auf die Mail wirken, die ausgewählt ist - und nicht auf irgendeine Mail.

Environment / verwendete Umgebung:

Screenshot Ich habe das Verhalten im nachstehenden Screenshot dokumentiert. Hier sehen Sie, dass oben eine Spammail ausgewählt ist, unten aber eine völlig andere Nachricht erscheint, die mit der Spammail nichts zu tun hat (erkennbar daran, dass Absender und Betreff völlig verschieden sind). jl-emails-flasch

papiertiger960ff commented 1 year ago

Ich kopiere diesen Text mal aus Ticket #1914 hierher, weil er eigentlich hierher gehört: „Hmmm. ICh hatte jetzt eigentlich nicht den Eindruck, dass J-Lawyer mehrere Verbindungen gleichzeitig öffnen würde. Mein Eindruck war, der macht alles streng nacheinander auf einer Verbindung. Von daher hatte ich es jetzt für unmöglich gehalten, dass hier ein so großer Verbindungspool im Einsatz sein könnte.

Der Verbindungspool könnte dann aber noch einen anderen Punkt erklären: https://github.com/jlawyerorg/j-lawyer-org/issues/1913 Könnte es sein, dass J-Lawyer die Nachrichten-IDs aus einer IMAP-Session nimmt und damit dann in einer anderen IMAP-Session Operationen auf dieser E-Mail durchführt? Wenn ja, dann wäre das ein Problem: Die IMAP-Nachrichten-IDs haben nämlich immer nur innerhalb der jeweiligen Session Gültigkeit. Wenn man mehrere Sessions aufmacht, dann werden die Nachrichten für die neue Session immer umnummeriert. Zumindest meine ich, das mal vor 15 Jahren so in einem RFC gelesen zu haben.“

j-dimension commented 1 year ago

In der Tat nutzt der j-lawyer client gar keine IDs - Nachrichten werden vom Server abgeholt über eine Suche, und dann wird nur mit den in Memory vorliegenden Message-Objekten hantiert. Um zu ermitteln, ob hier Message-ID (nicht eindeutig über Sessions hinweg) oder UID (sessionübergreifend eindeutig innerhalb eines Ordners) verwendet wird, müsste ich in Drittbibliotheken hineindebuggen.