Subject: Re: send-email issue

From: Junio C Hamano <[email-masked]>
Date: Mon, 16 Aug 2021 09:51:06 -0700

Jeff King <[email-masked]> writes:

> On Mon, Aug 16, 2021 at 09:11:43AM -0400, Konstantin Ryabitsev wrote:
>
>> > I do not think it is feasible to immediately rename the two choices
>> > to SSL/TLS vs StartTLS without transition period, but the first
>> > patch in the three-patch series there to update the documentation
>> > alone may have helped this case.
>> > 
>> > We may also want to error out when seeing an unknown option other
>> > than 'ssl' and 'tls', as the necessary first step to make it
>> > possible to later safely accept StartTLS as a synonym for 'tls' and
>> > 'ssl/tls' as a synonym for 'ssl'.
>> 
>> Is it easier to just add less ambiguous aliases, eventually phasing out old
>> terminology?

There is no issue around ambiguity.  The problem is that the code
does not complain a bogus value in $smtp_encryption---when it is
'ssl', ssmtp gets used, when it is 'tls', StartTLS gets used,
otherwise we do not see any errors.

>> tls -> starttls
>> ssl -> smtps
>> 
>> This way we don't have to change anything, and "smtps" is a valid way to refer
>> to smtp over ssl (e.g. see /etc/services for 465/tcp).
>
> FWIW, those options make quite a bit of sense to me (and I agree the
> transition to them would be easy).

Back when we had the original discussion in April [*], I think we
found one small glitch that we need to solve before we can start
introducing aliases---setting the variable to unknown value (imagine
you set it to 'starttls' and then run a version of Git that does not
know it yet) does not make Git barf but silently ignore.  

And that needs to be changed to die, and versions of Git with such a
change, without any alias added, should be allowed to spread to
eradicate the "silently ignore" version, before we can safely start
adding aliases.

Other than that, the transition is not harder than any other
transition we've done in the past.

[Reference]

* https://lore.kernel.org/git/[email-masked]/