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

[PATCH v2 0/2] When DC_SHA1 was made the default we missed a spot

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Dec 28, 2017, 14:07 UTC
Message-ID
<20171228140742.26735-1-avarab@gmail.com>
In-Reply-To
<20171227233912.GB181628@aiede.mtv.corp.google.com>
On Wed, Dec 27 2017, Jonathan Nieder jotted:
Here's v2, the only changes are to the commit messages.
Show 34 quoted lines
> Ævar Arnfjörð Bjarmason wrote:
>
>> Stop supplying BLK_SHA1=YesPlease when NO_OPENSSL=UnfortunatelyYes is
>> supplied. This has been done ever since [1], when switching to DC_SHA1
>> by default in [2] this should have been changed as well.
>
> I had trouble parsing this, I think for a few reasons:
>
>  1. Too much 'this', so I end up not being able to keep track of what
>     has been done ever since (1) and (2)
>
>  2. The ',' should be a ';'
>
>  3. Can the commit names go inline in the message instead of being
>     footnotes?  That way, my eye doesn't have to chase so far to
>     find what kind of dates you are talking about.
>
>  4. Why should switching to DC_SHA1 by default have resulted in
>     simply dropping the NO_OPENSSL => BLK_SHA1 behavior?  At first
>     glance it would be more intuitive to change it to
>     NO_OPENSSL => DC_SHA1 instead.
>
> Putting those all together, I end up with
>
>  Use the collision detecting SHA-1 implementation by default even
>  when NO_OPENSSL is set.
>
>  Setting NO_OPENSSL=UnfortunatelyYes has implied BLK_SHA1=1 ever since
>  the former was introduced in dd53c7ab29 (Support for NO_OPENSSL,
>  2005-07-29).  That implication should have been removed when the
>  default SHA-1 implementation changed from OpenSSL to DC_SHA1 in
>  e6b07da278 (Makefile: make DC_SHA1 the default, 2017-03-17).  Finish
>  what that commit started by removing the BLK_SHA1 fallback setting so
>  the default DC_SHA1 implementation can be used.

Thanks. I've used that as-is, and also changed 2/2 to inline the comment references.

Show 6 quoted lines
> What happens if I set both OPENSSL_SHA1 and NO_OPENSSL?  Should this
> block set
>
> 	OPENSSL_SHA1 =
>
> so that the latter wins, or should we detect it as an error?

We fail at link-time if you supply both, but that's something that happens alredy in master.

It's probably not worth the effort to add an $(error ...) for that to the Makefile (I've added some of these already) since the error should be fairly obvious, as opposed to some of the subtle "that doesn't work like that anymore" errorors I've added recently for other topics.

Show 31 quoted lines
> [...]
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -23,7 +23,6 @@ all::
>>  # it at all).
>>  #
>>  # Define NO_OPENSSL environment variable if you do not have OpenSSL.
>> -# This also implies BLK_SHA1.
>>  #
>>  # Define USE_LIBPCRE if you have and want to use libpcre. Various
>>  # commands such as log and grep offer runtime options to use
>> @@ -1260,7 +1259,6 @@ ifndef NO_OPENSSL
>>  	endif
>>  else
>>  	BASIC_CFLAGS += -DNO_OPENSSL
>> -	BLK_SHA1 = 1
>>  	OPENSSL_LIBSSL =
>>  endif
>>  ifdef NO_OPENSSL
>> diff --git a/configure.ac b/configure.ac
>> index 2f55237e65..7f8415140f 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -241,7 +241,6 @@ AC_MSG_NOTICE([CHECKS for site configuration])
>>  # a bundled SHA1 routine optimized for PowerPC.
>>  #
>>  # Define NO_OPENSSL environment variable if you do not have OpenSSL.
>> -# This also implies BLK_SHA1.
>
> With or without some of those commit message tweaks
> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Thanks!
Ævar Arnfjörð Bjarmason (2):
  Makefile: NO_OPENSSL=1 should no longer imply BLK_SHA1=1
  Windows: stop supplying BLK_SHA1=YesPlease by default
 Makefile         | 2 --
 config.mak.uname | 1 -
 configure.ac     | 1 -
 3 files changed, 4 deletions(-)
-- 
2.15.1.424.g9478a66081
Previous: Jonathan NiederNext: Ævar Arnfjörð Bjarmason
Message 8 of 15 in “When DC_SHA1 was made the default we missed a spot”
  1. 0/2 When DC_SHA1 was made the default we missed a spotÆvar Arnfjörð Bjarmason, Dec 27, 2017
  2. 2/2 Windows: stop supplying BLK_SHA1=YesPlease by defaultÆvar Arnfjörð Bjarmason, Dec 27, 2017
  3. Jonathan NiederDec 27, 2017
  4. Ævar Arnfjörð BjarmasonDec 28, 2017
  5. Johannes SchindelinJan 4, 2018
  6. 1/2 Makefile: NO_OPENSSL=1 should no longer imply BLK_SHA1=1Ævar Arnfjörð Bjarmason, Dec 27, 2017
  7. Jonathan NiederDec 27, 2017
  8. 0/2 When DC_SHA1 was made the default we missed a spotÆvar Arnfjörð Bjarmason, Dec 28, 2017
  9. 1/2 Makefile: NO_OPENSSL=1 should no longer imply BLK_SHA1=1Ævar Arnfjörð Bjarmason, Dec 28, 2017
  10. Jonathan NiederDec 28, 2017
  11. 2/2 Windows: stop supplying BLK_SHA1=YesPlease by defaultÆvar Arnfjörð Bjarmason, Dec 28, 2017
  12. Jonathan NiederDec 28, 2017
  13. Johannes SchindelinJan 4, 2018
  14. Ævar Arnfjörð BjarmasonJan 4, 2018
  15. Junio C HamanoJan 5, 2018

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.