git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [git-multimail] smtplib, check certificate

From
SPSimon Pontié <simon@le-huit.fr>
Date
Apr 24, 2016, 18:20 UTC
Message-ID
<571D0E83.8010400@le-huit.fr>
In-Reply-To
<vpqoa92rxew.fsf@anie.imag.fr>
Le 22/04/2016 08:05, Matthieu Moy a écrit :
> Hi, and thanks for the patch.
Hi.
Thanks for your tool, it is very useful!
> Please, add your sign-off and a proper commit message to your patch,
> see:
Done, I also signed my commit via PGP.
> I'm OK with patches by email, but you may prefer using a pull-request
> (among other things, creating a pull-request triggers a Travis-CI build
> and would have noticed the absence of sign-off and a minor PEP8 issue in
> your code.
I don't like github, but I understand your requirement. I submitted a
pull-request of a modified version of the patch:
  https://github.com/git-multimail/git-multimail/pull/150
I am not a python developer and I am not a Travis-CI user, so I cannot
understand failure messages at:
  https://travis-ci.org/git-multimail/git-multimail/builds/125406555
> The patch obviously lacks documentation
I have added a description in the README file.
Show 9 quoted lines
> and some way to test it.
> Actually, the testsuite will fail if you document the configuration
> variable and they don't appear somewhere in the testsuite. A fully
> automatic test would be hard to write, but I have a semi-automated
> testsuite for smtp: some configurations in t/*.config.in
> test-email-config to run a test with each of the configurations (then I
> check my mailbox). There should be one configuration with a valid
> certificate and another with a buggy one so that we can check that the
> certificate is actually checked.
I have added some test: firstly, I renamed the file `smtp-tls.config.in`
to `smtp-tls-nocheckcert.config.in` because this configuration do not
check the server certificate. I also added to test files:
  - `smtp-tls-checkcert-unverifiedcert.config.in`
  - `smtp-tls-checkcert-verifiedcert.config.in`

The first one (unverifiedcert) uses a fake trusted CA list to check the unverified server certificate detection (that can be tested with the gmail server for example).

The second one (verifiedcert), assumes that your system have a file `/etc/ssl/certs/ca-certificates.crt` with a list of all CA trusted by your system (this file exist in Debian systems). It should succeed with the gmail server.

Show 5 quoted lines
> Do you need a default for smtpcheckcert if you already have one in
> config.get(smtpcheckcert)? In any case, I'd rather avoid having two
> hardcoded path in the code. If you need
> '/etc/ssl/certs/ca-certificates.crt' in two places, please define a
> constant elsewhere in the code and use it here.

I have modified the configuration, there is now only one configuration var: smtpCACerts. If it is empty (default), the server certificate is not verified (like before the patch) but a warning is emitted. If the var is set, the targeted file is used to verify the server certificate.

For now, only the tls configuration is supported.
Simon P.
Previous: Simon Pontié
Message 5 of 5 in “[git-multimail] smtplib, check certificate”
  1. Simon PApr 21, 2016
  2. Matthieu MoyApr 22, 2016
  3. Michael HaggertyApr 22, 2016
  4. Simon PontiéApr 24, 2016
  5. Simon PontiéApr 24, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.