<div dir="ltr">Hi,<div><br></div><div>I'd like to discuss the remaining difference between libmesode and libstrophe. As far as I understand, the only functional feature of libmesode is the ability to provide a callback to verify failed certificates manually. However, I don't like this approach. When a cert verification fails, we can't trust it, because any information can be fake there. And it's a bad idea to ask users if they trust cert checking just a few unreliable strings. Instead, I propose the following usecase:</div><div><br></div><div>First, libstrophe continues working based on connection TLS flags (disable, mandatory, trust, etc). Then, on cert verification failure, connection disconnects, but with error code that indicates TLS failure. Notice that libstrophe has the same behaviour now, but error code needs to be unified. Finally, new function will be provided to retrieve the certificate from connection, so application will be able to display it.</div><div><br></div><div>For Profanity it will look like this: when connection is disconnected due to cert failure, Profanity will show a help about danger and that user can use the "trust" flag at their own risk. The flag can be stored in the account configuration as well.</div><div><br></div><div>What do you think about this?</div><div><br></div><div>Best regards,</div><div>Dmitry</div></div>