Skip to content

Commit a36770f

Browse files
author
Peter Giacomo Lombardo
committed
Preserve integer openssl_verify_mode values from env parsing
Only stringify Symbols so numeric verify modes (e.g. 0 from PWP__MAIL__SMTP_OPENSSL_VERIFY_MODE with env_parse_values) still reach OpenSSL as Integers.
1 parent e557e6b commit a36770f

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

config/environments/production.rb

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -163,10 +163,12 @@
163163
config.action_mailer.smtp_settings[:password] = Settings.mail.smtp_password
164164
end
165165

166-
# Pass a String ("none" / "peer"). The mail gem maps strings to OpenSSL::SSL::VERIFY_*
167-
# constants; a Symbol like :none raises TypeError during TLS handshake.
166+
# The mail gem maps String names ("none" / "peer") to OpenSSL::SSL::VERIFY_* constants.
167+
# A Symbol like :none raises TypeError during TLS handshake. Leave Integers alone —
168+
# config.env_parse_values can turn PWP__MAIL__SMTP_OPENSSL_VERIFY_MODE=0 into an Integer.
168169
if !Settings.mail.smtp_openssl_verify_mode.nil?
169-
config.action_mailer.smtp_settings[:openssl_verify_mode] = Settings.mail.smtp_openssl_verify_mode.to_s
170+
mode = Settings.mail.smtp_openssl_verify_mode
171+
config.action_mailer.smtp_settings[:openssl_verify_mode] = mode.is_a?(Symbol) ? mode.to_s : mode
170172
end
171173

172174
if !Settings.mail.smtp_enable_starttls_auto.nil?

0 commit comments

Comments
 (0)