La désactivation de STARTTLS ou de la vérification des certificats ne fonctionne plus

Il y a beaucoup de discussions à ce sujet dans Support, donc maintenant que nous semblons avoir trouvé la cause, j’ai pensé qu’il serait utile de créer un sujet Contribute > Bug à ce sujet, contenant uniquement le problème réel décrit ici Email Hostname Certificate Mismatch Causing sidekiq Queue Overload, Severe Site Instability - #47 by RGJ

En bref :

Depuis la version 2.9.0 beta 4, les paramètres
DISCOURSE_SMTP_OPENSSL_VERIFY_MODE et DISCOURSE_SMTP_ENABLE_START_TLS ne fonctionnent plus correctement.

Cela semble être lié au passage à Rails 7, qui a mis à jour net-smtp de la version 0.1.0 à la 0.3.1, modifiant ainsi les valeurs par défaut de ces deux paramètres de connexion.

La manière dont le gem smtp appelle net-smtp ne désactive pas enable_starttls_auto et openssl_verify_mode, elle ne les active que lorsqu’ils sont activés.

Rapport connexe pour le gem smtp : SMTP: allow disabling starttls_auto since it's now true by default in Ruby 3 - Pull Request #1435#issuecomment-1044852765 - mikel/mail - GitHub

Techniquement, ce bug se situe en dehors du code de Discourse car il se produit dans le gem smtp, mais puisque celui-ci est actuellement forké pour Discourse, je pense que cela justifie un sujet Contribute > Bug. S’il ne peut pas être corrigé facilement, ces paramètres pourraient être supprimés de la documentation et un avertissement de dépréciation pourrait être affiché, afin de faire disparaître au moins toute la confusion.

10 « J'aime »

Liaison entre rapports de bugs :

2 « J'aime »

Ce PR devrait rétablir le comportement approprié (il n’est pas encore fusionné) :

5 « J'aime »

La PR a été fusionnée plus tôt aujourd’hui, donc en utilisant la branche tests-passed, vous devriez pouvoir désactiver TLS comme avant :slight_smile:

1 « J'aime »

11 messages ont été déplacées vers un nouveau sujet : L’e-mail ne fonctionne pas (port 465)

Ce sujet a été automatiquement fermé après 7 heures. Les nouvelles réponses ne sont plus autorisées.