сбой git send-email «Процедуры SSL: ssl_choose_client_version: неподдерживаемый протокол»

#git #email #ssl

#git #Адрес электронной почты #ssl

Вопрос:

Я пытаюсь использовать git send-email под Linux Mint 20.

Та же конфигурация работала под Sid Debian.

Теперь я получаю сообщение об ошибке:

 mcon@cinderella:~/vocore/__V2__/u-boot$ git send-email --to=u-boot@lists.denx.de /tmp/output/ --smtp-debug
/tmp/output/0000-cover-letter.patch
/tmp/output/0001-Small-fixes-to-reduce-size-and-ensure-correct-consol.patch
/tmp/output/0002-Enlarge-SPL-malloc-area-to-prevent-failure-in-lzma-d.patch
/tmp/output/0003-Fix-missing-__udivdi3-in-SquashFS-implementation.patch
(mbox) Adding cc: Mauro Condarelli <mc5686@mclink.it> from line 'From: Mauro Condarelli <mc5686@mclink.it>'
DEBUG: .../IO/Socket/SSL.pm:1177: global error: Undefined SSL object
DEBUG: .../IO/Socket/SSL.pm:900: local error: SSL connect attempt failed error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol
DEBUG: .../IO/Socket/SSL.pm:903: fatal SSL error: SSL connect attempt failed error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol
Unable to initialize SMTP properly. Check config and use --smtp-debug. VALUES: server=mail2.mclink.it encryption=ssl hello=cinderella.condarelli.it port=465 at /usr/lib/git-core/git-send-email line 1558.
  

AFAIK это связано с тем, что моя почтовая программа не принимает протокол TLSv2 (который в настоящее время применяется по умолчанию).

Если это правильно: как мне убедить git send-email использовать TLSv1?

Очевидно, у меня нет способа заставить вышестоящую почтовую программу «обновиться».

Ответ №1:

…. server=mail2.mclink.it … порт = 465

Это довольно сломанный сервер, который вы пытаетесь использовать здесь. Похоже, что лучшее, что он может сделать, это TLS 1.0 с RC4-MD5 в качестве шифра, который во многих отношениях слаб. Этот шифр обычно больше не компилируется в более новых версиях openssl, поэтому вполне вероятно, что он не будет работать с вашей текущей настройкой.

Но на том же сервере также возможен доступ по протоколу SMTP через порт 25, включая TLS с использованием STARTTLS. Этот экземпляр фактически предлагает TLS 1.2 с надежным шифром. Поэтому лучше измените настройки, чтобы использовать это вместо этого. Обратите внимание, что smtpEncryption tls в этом случае вы должны установить значение, а ssl не since tls интерпретируется как SMTP STARTTLS (обычно на портах 25 и 587), в то время ssl как интерпретируется как неявный TLS (обычно на порту 465).

AFAIK это связано с тем, что моя почтовая программа не принимает протокол TLSv2 (который в настоящее время применяется по умолчанию).

TLS автоматически использует лучшую версию протокола, поддерживаемую как клиентом, так и сервером. Нет необходимости явно понижать рейтинг, если сервер не слишком поврежден и не блокируется, если предлагаются более новые версии протокола.

Если это правильно: как мне убедить git send-email использовать TLSv1?

Вы не можете. Невозможно установить протокол или шифры для отправки электронной почты. На основе исходного кода он просто использует Perl Net:: SMTP, который затем использует IO ::Socket :: SSL с настройками по умолчанию — никаких попыток переопределить их в скрипте не делается. Любые рекомендации относительно этого могут относиться к самому соединению git, но не к git-send-email .