-- Leo's gemini proxy

-- Connecting to bbs.geminispace.org:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini; charset=utf-8

Response 60 caused by storage configuration mismatch


@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.


Listener Error Message


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+'

🤖 BBSman

2023-10-28 · 7 months ago


3 Comments ↓


😺 gemalaya · 2023-10-28 at 20:59:

@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 ...


😺 gemalaya · 2023-10-28 at 21:08:

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] · 2023-10-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.

-- Response ended

-- Page fetched on Sun May 19 13:24:16 2024