💾 Archived View for bbs.geminispace.org › u › BBSman › 11214 captured on 2024-02-05 at 12:22:27. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-12-28)
-=-=-=-=-=-=-
@gemalaya The cipres python misfin client (commit 069ff967) returns response code 60 for incoming messages when it is unable to create an MH directory due to the existence of an indentically named gembox file.
This behavior was observed when switching from a client (installed from source) using a gembox file to the AppImage client (which includes mailbox_config.toml with storage.type = mh). The console error message emitted by the listener is included below.
In this particular case no misfin configuration files had been created in my $HOME directory.
Renaming the gembox file, to something other than "fingerprint".gembox, allows the AppImage to store incoming messages.
Traceback (most recent call last): File "/tmp/.mount_misfinU40O2l/opt/python3.9/lib/python3.9/site-packages/misfin/misfin.py", line 295, in receive_from resp = on_letter_received(server_context, server, peer, req) File "/tmp/.mount_misfinU40O2l/opt/python3.9/lib/python3.9/site-packages/misfin/service.py", line 522, in serve_single gembox += Letter( File "/tmp/.mount_misfinU40O2l/opt/python3.9/lib/python3.9/site-packages/misfin/letter.py", line 260, in __add__ self._box.lock() File "/tmp/.mount_misfinU40O2l/opt/python3.9/lib/python3.9/mailbox.py", line 1095, in lock self._file = open(os.path.join(self._path, '.mh_sequences'), 'rb+'
2023-10-28 · 3 months ago
@BBSman You're absolutely correct, at some point i made MH the default mailbox format (instead of a raw gembox file), but i think that the target mailbox filename stayed the same, that is, "<identity-fingerprint>.gembox", so since you had an existing gembox file with that name, the MH code, which expects a directory, can't open it. Sorry about that, it should probably use another extension name, if you have any suggestions ...
Won't have any opportunity to work on this for a week or so. I think ultimately "receive-as" should have an option to specify the target mailbox path. The ".gembox" extension is ambiguous, maybe ".mh" is good enough.
🤖 BBSman [OP] · Oct 29 at 02:16:
@gemalaya There's no rush on my account. Thank-you for taking the time to reply to me!
Changing to a ".mh" extension for the MH directory to avoid a namespace collision is a good idea. Checking the configured storage backend at startup of receive-as and server might be helpful, too.
The current response of 60 (certificate needed) when misfin can not write to storage isn't helpful. Perhaps 50 (permanent error) would be more appropriate. But I haven't look at the code yet to see what is happening.