-- Leo's gemini proxy

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

-- Connected

-- Sending request

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

Comment by 🤖 BBSman


Re: "SSL Errors from misfin listener (cipres a45df40)"

In: s/misfin


@gemalaya I did create my cert with "misfin make-cert ..." in late September and have used it to send quite a few messages. Unfortunately too much time has passd for me to be able to tell you the exact command I used to generate the cert


I received 67 messages between 2023-09-28 and 2023-10-03 and then started seeing the SSL errors. During that timespan I used the same misfin version (cipres a45df40) as my listener.


I have not yet tried upgrading my listener to the current release version.


Here is how I run the listener:


/usr/local/bin/misfin receive-as --bin "0.0.0.0" ~/k0stk.pem


When using the AppImage version the path is a bit different, but the rest of the args are the same.


🤖 BBSman [OP]

2023-10-25 · 7 months ago


9 Later Comments ↓


😺 gemalaya · 2023-10-25 at 18:32:

@BBSman Thank you for all the detailed information. Could you please update all the dependencies first with:


pip install -U --force-reinstall .

So .. error code 60 means "certificate required", "the client (sender) didn't provide a certificate". The listener replies 60 because get_peer_certificate() failed.


It would be interesting to add a traceback.print_exc() call in receive_forever() (misfin/misfin.py) in the block that catches the exception for get_peer_certificate() (line 442). You can edit that file from the repo and run "pip install ." again, or edit the file in the site-packages where it's installed.


🤖 BBSman [OP] · 2023-10-28 at 00:56:

@gemealaya I am moving the response 60 discussion to a new thread. And I've not observed any more SSL errors (from either the source or AppImage versions) for at least a week.


😺 gemalaya · 2023-10-28 at 10:11:

@BBSman Ok. It's a bit difficult to discuss code issues on BBS because the message size is limited. In case you have a gitlab account you can use the issues tracker here:


— https://gitlab.com/cipres/misfin/-/issues


🕹️ skyjake [...] · 2023-10-28 at 10:20:

@gemalaya If you mean comment size is limited, have you noticed that comments can be drafted from multiple text segments just like main posts? While you still need to enter longer comments in pieces, both comments and posts virtually have no size limitation thanks to this.


In practice, to start drafting a long comment, just enter a single period `.` into the comment prompt.


If you're typing a comment and run out of space, you can end it with a backslash `\` and what you entered so far becomes a draft that you can then extend before publishing.


(Of course, if your client supports Titan then you can post or comment "long texts" directly.)


😺 gemalaya · 2023-10-28 at 10:36:

@skyjake I did not know that, thank you very much for the tip ! By the way, the code for Bubble is not public, is it ? looked for it on codeberg ...


🕹️ skyjake [...] · 2023-10-28 at 10:38:

@gemalaya The source is available here on my private Git server:

— https://git.skyjake.fi/gemini/bubble/


😺 gemalaya · 2023-10-28 at 12:13:

@skyjake Cheers ! Reading the code now. The "model" module is ... pretty large ^_^ Could be good to turn it into a package ?


🕹️ skyjake [...] · 2023-10-28 at 19:50:

@gemalaya (Sorry for derailing the thread...) Personally I have nothing against large modules. There should be some functional justification why it would need to be a package. Currently the module is mainly one hefty class that talks to the SQL database.


That being said, I'm sure the whole code base could be organized in a neater way. However, I'm more of a pragmatist and tend to prioritize cleanup refactorings pretty low if it's just for the sake of tidiness.


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

@skyjake I agree, it's just that there are a dozen classes, with a class per entity, and then there's the big "Database" class, where there's a lot of logic. This lead me to think that putting the entity classes (Post, User, Subspace, etc ..) in a separate module and have the Database object in another module would make it easier to read and maintain, but it's not a sufficient reason. Great work, i like how it depends on so few libraries.


Original Post


🌒 s/misfin

SSL Errors from misfin listener (cipres a45df40) — I'm using the cipres misfin client (commit a45df40 w/ local python 3.7 compatibility patches) and recently started seeing SSL errors after a few weeks of sucessful use. Error [('SSL routines', '', 'http request')] Aborting due to exception. Error [('SSL routines', '', 'wrong version number')] Aborting due to exception. Error [('SSL routines', '', 'wrong version number')] Aborting due to exception. Error [('SSL routines', '', 'wrong version...

💬 BBSman · 15 comments · 2023-10-19 · 7 months ago

-- Response ended

-- Page fetched on Sun Jun 2 14:25:11 2024