{"thread":{"id":"47499","subject":"[PATCH 0/2] When DC_SHA1 was made the default we missed a spot","startedAt":"2017-12-27T23:01:02Z","lastAt":"2018-01-05T18:52:26Z","messageCount":15,"participants":["Ævar Arnfjörð Bjarmason","Jonathan Nieder","Johannes Schindelin","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":2},"messages":[{"id":"335406","messageId":"20171227230038.14386-1-avarab@gmail.com","threadId":"47499","inReplyTo":null,"subject":"[PATCH 0/2] When DC_SHA1 was made the default we missed a spot","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2017-12-27T23:00:36Z","receivedAt":"2017-12-27T23:01:02Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"When SHADC was made the default in 2.13.0 we forgot that NO_OPENSSL=1\nwould still turn it off implicitly, and that Windows would use\nBLK_SHA1=1 by default thinking it would be getting the OpenSSL\nversion.\n\nÆvar Arnfjörð Bjarmason (2):\n  Makefile: NO_OPENSSL=1 should no longer imply BLK_SHA1=1\n  Windows: stop supplying BLK_SHA1=YesPlease by default\n\n Makefile         | 2 --\n config.mak.uname | 1 -\n configure.ac     | 1 -\n 3 files changed, 4 deletions(-)\n\n-- \n2.15.1.424.g9478a66081\n\n"},{"id":"335407","messageId":"20171227230038.14386-3-avarab@gmail.com","threadId":"47499","inReplyTo":"20171227230038.14386-1-avarab@gmail.com","subject":"[PATCH 2/2] Windows: stop supplying BLK_SHA1=YesPlease by default","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2017-12-27T23:00:38Z","receivedAt":"2017-12-27T23:01:03Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Using BLK_SHA1 in lieu of the OpenSSL routines was done in [1], but\nsince DC_SHA1 is now the default for git in general it makes sense for\nWindows to use that too, this looks like something that was missed\nback in [2].\n\nAs noted in [3] OpenSSL has a performance benefit compared to BLK_SHA1\non MinGW, so perhaps that and the Windows default should be changed\naround again, but that's a topic for another series, it seems clear\nthat this specific flag is nobody's explicit intention.\n\n1. 9bccfcdbff (\"Windows: use BLK_SHA1 again\", 2009-10-22)\n\n2. e6b07da278 (\"Makefile: make DC_SHA1 the default\", 2017-03-17)\n\n3. 2cfc70f0de (\"mingw: use OpenSSL's SHA-1 routines\", 2017-02-09)\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n config.mak.uname | 1 -\n 1 file changed, 1 deletion(-)\n\ndiff --git a/config.mak.uname b/config.mak.uname\nindex 685a80d138..6a862abd35 100644\n--- a/config.mak.uname\n+++ b/config.mak.uname\n@@ -361,7 +361,6 @@ ifeq ($(uname_S),Windows)\n \tNO_REGEX = YesPlease\n \tNO_GETTEXT = YesPlease\n \tNO_PYTHON = YesPlease\n-\tBLK_SHA1 = YesPlease\n \tETAGS_TARGET = ETAGS\n \tNO_INET_PTON = YesPlease\n \tNO_INET_NTOP = YesPlease\n-- \n2.15.1.424.g9478a66081\n\n"},{"id":"335408","messageId":"20171227230038.14386-2-avarab@gmail.com","threadId":"47499","inReplyTo":"20171227230038.14386-1-avarab@gmail.com","subject":"[PATCH 1/2] Makefile: NO_OPENSSL=1 should no longer imply BLK_SHA1=1","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2017-12-27T23:00:37Z","receivedAt":"2017-12-27T23:01:05Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Stop supplying BLK_SHA1=YesPlease when NO_OPENSSL=UnfortunatelyYes is\nsupplied. This has been done ever since [1], when switching to DC_SHA1\nby default in [2] this should have been changed as well.\n\n1. dd53c7ab29 (\"[PATCH] Support for NO_OPENSSL\", 2005-07-29)\n\n2. e6b07da278 (\"Makefile: make DC_SHA1 the default\", 2017-03-17)\n\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n Makefile     | 2 --\n configure.ac | 1 -\n 2 files changed, 3 deletions(-)\n\ndiff --git a/Makefile b/Makefile\nindex 32c170687c..7e1da28b6f 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -23,7 +23,6 @@ all::\n # it at all).\n #\n # Define NO_OPENSSL environment variable if you do not have OpenSSL.\n-# This also implies BLK_SHA1.\n #\n # Define USE_LIBPCRE if you have and want to use libpcre. Various\n # commands such as log and grep offer runtime options to use\n@@ -1260,7 +1259,6 @@ ifndef NO_OPENSSL\n \tendif\n else\n \tBASIC_CFLAGS += -DNO_OPENSSL\n-\tBLK_SHA1 = 1\n \tOPENSSL_LIBSSL =\n endif\n ifdef NO_OPENSSL\ndiff --git a/configure.ac b/configure.ac\nindex 2f55237e65..7f8415140f 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -241,7 +241,6 @@ AC_MSG_NOTICE([CHECKS for site configuration])\n # a bundled SHA1 routine optimized for PowerPC.\n #\n # Define NO_OPENSSL environment variable if you do not have OpenSSL.\n-# This also implies BLK_SHA1.\n #\n # Define OPENSSLDIR=/foo/bar if your openssl header and library files are in\n # /foo/bar/include and /foo/bar/lib directories.\n-- \n2.15.1.424.g9478a66081\n\n"},{"id":"335411","messageId":"20171227233912.GB181628@aiede.mtv.corp.google.com","threadId":"47499","inReplyTo":"20171227230038.14386-2-avarab@gmail.com","subject":"Re: [PATCH 1/2] Makefile: NO_OPENSSL=1 should no longer imply BLK_SHA1=1","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2017-12-27T23:39:12Z","receivedAt":"2017-12-27T23:39:24Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Hi,\n\nÆvar Arnfjörð Bjarmason wrote:\n\n> Stop supplying BLK_SHA1=YesPlease when NO_OPENSSL=UnfortunatelyYes is\n> supplied. This has been done ever since [1], when switching to DC_SHA1\n> by default in [2] this should have been changed as well.\n\nI had trouble parsing this, I think for a few reasons:\n\n 1. Too much 'this', so I end up not being able to keep track of what\n    has been done ever since (1) and (2)\n\n 2. The ',' should be a ';'\n\n 3. Can the commit names go inline in the message instead of being\n    footnotes?  That way, my eye doesn't have to chase so far to\n    find what kind of dates you are talking about.\n\n 4. Why should switching to DC_SHA1 by default have resulted in\n    simply dropping the NO_OPENSSL => BLK_SHA1 behavior?  At first\n    glance it would be more intuitive to change it to\n    NO_OPENSSL => DC_SHA1 instead.\n\nPutting those all together, I end up with\n\n Use the collision detecting SHA-1 implementation by default even\n when NO_OPENSSL is set.\n\n Setting NO_OPENSSL=UnfortunatelyYes has implied BLK_SHA1=1 ever since\n the former was introduced in dd53c7ab29 (Support for NO_OPENSSL,\n 2005-07-29).  That implication should have been removed when the\n default SHA-1 implementation changed from OpenSSL to DC_SHA1 in\n e6b07da278 (Makefile: make DC_SHA1 the default, 2017-03-17).  Finish\n what that commit started by removing the BLK_SHA1 fallback setting so\n the default DC_SHA1 implementation can be used.\n\nWhat happens if I set both OPENSSL_SHA1 and NO_OPENSSL?  Should this\nblock set\n\n\tOPENSSL_SHA1 =\n\nso that the latter wins, or should we detect it as an error?\n\n[...]\n> --- a/Makefile\n> +++ b/Makefile\n> @@ -23,7 +23,6 @@ all::\n>  # it at all).\n>  #\n>  # Define NO_OPENSSL environment variable if you do not have OpenSSL.\n> -# This also implies BLK_SHA1.\n>  #\n>  # Define USE_LIBPCRE if you have and want to use libpcre. Various\n>  # commands such as log and grep offer runtime options to use\n> @@ -1260,7 +1259,6 @@ ifndef NO_OPENSSL\n>  \tendif\n>  else\n>  \tBASIC_CFLAGS += -DNO_OPENSSL\n> -\tBLK_SHA1 = 1\n>  \tOPENSSL_LIBSSL =\n>  endif\n>  ifdef NO_OPENSSL\n> diff --git a/configure.ac b/configure.ac\n> index 2f55237e65..7f8415140f 100644\n> --- a/configure.ac\n> +++ b/configure.ac\n> @@ -241,7 +241,6 @@ AC_MSG_NOTICE([CHECKS for site configuration])\n>  # a bundled SHA1 routine optimized for PowerPC.\n>  #\n>  # Define NO_OPENSSL environment variable if you do not have OpenSSL.\n> -# This also implies BLK_SHA1.\n\nWith or without some of those commit message tweaks\nReviewed-by: Jonathan Nieder <jrnieder@gmail.com>\n\nThanks,\nJonathan\n"},{"id":"335412","messageId":"20171227234237.GC181628@aiede.mtv.corp.google.com","threadId":"47499","inReplyTo":"20171227230038.14386-3-avarab@gmail.com","subject":"Re: [PATCH 2/2] Windows: stop supplying BLK_SHA1=YesPlease by default","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2017-12-27T23:42:37Z","receivedAt":"2017-12-27T23:42:44Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"+git-for-windows\nÆvar Arnfjörð Bjarmason wrote:\n\n> Using BLK_SHA1 in lieu of the OpenSSL routines was done in [1], but\n> since DC_SHA1 is now the default for git in general it makes sense for\n> Windows to use that too, this looks like something that was missed\n> back in [2].\n>\n> As noted in [3] OpenSSL has a performance benefit compared to BLK_SHA1\n> on MinGW, so perhaps that and the Windows default should be changed\n> around again, but that's a topic for another series, it seems clear\n> that this specific flag is nobody's explicit intention.\n\nI have some memory of performance issues on Windows when DC_SHA1 was\nintroduced leading to interest in a mixed configuration with DC_SHA1\nonly being used where it is security sensitive (e.g. for object naming\nbut not for packfile trailers).\n\nDid anything come of that?\n\nIn any event removing this BLK_SHA1 setting looks like a good change\nto me, but I'd rather that Windows folks weigh in.\n\nThanks,\nJonathan\n\n[...]\n> --- a/config.mak.uname\n> +++ b/config.mak.uname\n> @@ -361,7 +361,6 @@ ifeq ($(uname_S),Windows)\n>  \tNO_REGEX = YesPlease\n>  \tNO_GETTEXT = YesPlease\n>  \tNO_PYTHON = YesPlease\n> -\tBLK_SHA1 = YesPlease\n>  \tETAGS_TARGET = ETAGS\n>  \tNO_INET_PTON = YesPlease\n>  \tNO_INET_NTOP = YesPlease\n"},{"id":"335464","messageId":"87k1x7q800.fsf@evledraar.gmail.com","threadId":"47499","inReplyTo":"20171227234237.GC181628@aiede.mtv.corp.google.com","subject":"Re: [PATCH 2/2] Windows: stop supplying BLK_SHA1=YesPlease by default","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2017-12-28T13:47:43Z","receivedAt":"2017-12-28T13:47:50Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"\nOn Wed, Dec 27 2017, Jonathan Nieder jotted:\n\n> +git-for-windows\n> Ævar Arnfjörð Bjarmason wrote:\n>\n>> Using BLK_SHA1 in lieu of the OpenSSL routines was done in [1], but\n>> since DC_SHA1 is now the default for git in general it makes sense for\n>> Windows to use that too, this looks like something that was missed\n>> back in [2].\n>>\n>> As noted in [3] OpenSSL has a performance benefit compared to BLK_SHA1\n>> on MinGW, so perhaps that and the Windows default should be changed\n>> around again, but that's a topic for another series, it seems clear\n>> that this specific flag is nobody's explicit intention.\n>\n> I have some memory of performance issues on Windows when DC_SHA1 was\n> introduced leading to interest in a mixed configuration with DC_SHA1\n> only being used where it is security sensitive (e.g. for object naming\n> but not for packfile trailers).\n>\n> Did anything come of that?\n\nThis was Johannes Schindelin (CC'd) on-list when the sha1dc discussion\nfirst came up earlier this year. I.e. it's slower, so we could use\nopenssl on trusted data and sha1dc on untrusted data, but nothing came\nof that.\n\n> In any event removing this BLK_SHA1 setting looks like a good change\n> to me, but I'd rather that Windows folks weigh in.\n\nYup, will CC them + Johannes for v2.\n\n> Thanks,\n> Jonathan\n>\n> [...]\n>> --- a/config.mak.uname\n>> +++ b/config.mak.uname\n>> @@ -361,7 +361,6 @@ ifeq ($(uname_S),Windows)\n>>  \tNO_REGEX = YesPlease\n>>  \tNO_GETTEXT = YesPlease\n>>  \tNO_PYTHON = YesPlease\n>> -\tBLK_SHA1 = YesPlease\n>>  \tETAGS_TARGET = ETAGS\n>>  \tNO_INET_PTON = YesPlease\n>>  \tNO_INET_NTOP = YesPlease\n"},{"id":"335465","messageId":"20171228140742.26735-1-avarab@gmail.com","threadId":"47499","inReplyTo":"20171227233912.GB181628@aiede.mtv.corp.google.com","subject":"[PATCH v2 0/2] When DC_SHA1 was made the default we missed a spot","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2017-12-28T14:07:40Z","receivedAt":"2017-12-28T14:08:05Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"On Wed, Dec 27 2017, Jonathan Nieder jotted:\n\nHere's v2, the only changes are to the commit messages.\n\n> Ævar Arnfjörð Bjarmason wrote:\n>\n>> Stop supplying BLK_SHA1=YesPlease when NO_OPENSSL=UnfortunatelyYes is\n>> supplied. This has been done ever since [1], when switching to DC_SHA1\n>> by default in [2] this should have been changed as well.\n>\n> I had trouble parsing this, I think for a few reasons:\n>\n>  1. Too much 'this', so I end up not being able to keep track of what\n>     has been done ever since (1) and (2)\n>\n>  2. The ',' should be a ';'\n>\n>  3. Can the commit names go inline in the message instead of being\n>     footnotes?  That way, my eye doesn't have to chase so far to\n>     find what kind of dates you are talking about.\n>\n>  4. Why should switching to DC_SHA1 by default have resulted in\n>     simply dropping the NO_OPENSSL => BLK_SHA1 behavior?  At first\n>     glance it would be more intuitive to change it to\n>     NO_OPENSSL => DC_SHA1 instead.\n>\n> Putting those all together, I end up with\n>\n>  Use the collision detecting SHA-1 implementation by default even\n>  when NO_OPENSSL is set.\n>\n>  Setting NO_OPENSSL=UnfortunatelyYes has implied BLK_SHA1=1 ever since\n>  the former was introduced in dd53c7ab29 (Support for NO_OPENSSL,\n>  2005-07-29).  That implication should have been removed when the\n>  default SHA-1 implementation changed from OpenSSL to DC_SHA1 in\n>  e6b07da278 (Makefile: make DC_SHA1 the default, 2017-03-17).  Finish\n>  what that commit started by removing the BLK_SHA1 fallback setting so\n>  the default DC_SHA1 implementation can be used.\n\nThanks. I've used that as-is, and also changed 2/2 to inline the\ncomment references.\n\n> What happens if I set both OPENSSL_SHA1 and NO_OPENSSL?  Should this\n> block set\n>\n> \tOPENSSL_SHA1 =\n>\n> so that the latter wins, or should we detect it as an error?\n\nWe fail at link-time if you supply both, but that's something that\nhappens alredy in master.\n\nIt's probably not worth the effort to add an $(error ...) for that to\nthe Makefile (I've added some of these already) since the error should\nbe fairly obvious, as opposed to some of the subtle \"that doesn't work\nlike that anymore\" errorors I've added recently for other topics.\n\n> [...]\n>> --- a/Makefile\n>> +++ b/Makefile\n>> @@ -23,7 +23,6 @@ all::\n>>  # it at all).\n>>  #\n>>  # Define NO_OPENSSL environment variable if you do not have OpenSSL.\n>> -# This also implies BLK_SHA1.\n>>  #\n>>  # Define USE_LIBPCRE if you have and want to use libpcre. Various\n>>  # commands such as log and grep offer runtime options to use\n>> @@ -1260,7 +1259,6 @@ ifndef NO_OPENSSL\n>>  \tendif\n>>  else\n>>  \tBASIC_CFLAGS += -DNO_OPENSSL\n>> -\tBLK_SHA1 = 1\n>>  \tOPENSSL_LIBSSL =\n>>  endif\n>>  ifdef NO_OPENSSL\n>> diff --git a/configure.ac b/configure.ac\n>> index 2f55237e65..7f8415140f 100644\n>> --- a/configure.ac\n>> +++ b/configure.ac\n>> @@ -241,7 +241,6 @@ AC_MSG_NOTICE([CHECKS for site configuration])\n>>  # a bundled SHA1 routine optimized for PowerPC.\n>>  #\n>>  # Define NO_OPENSSL environment variable if you do not have OpenSSL.\n>> -# This also implies BLK_SHA1.\n>\n> With or without some of those commit message tweaks\n> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>\n\nThanks!\n\nÆvar Arnfjörð Bjarmason (2):\n  Makefile: NO_OPENSSL=1 should no longer imply BLK_SHA1=1\n  Windows: stop supplying BLK_SHA1=YesPlease by default\n\n Makefile         | 2 --\n config.mak.uname | 1 -\n configure.ac     | 1 -\n 3 files changed, 4 deletions(-)\n\n-- \n2.15.1.424.g9478a66081\n\n"},{"id":"335466","messageId":"20171228140742.26735-2-avarab@gmail.com","threadId":"47499","inReplyTo":"20171228140742.26735-1-avarab@gmail.com","subject":"[PATCH v2 1/2] Makefile: NO_OPENSSL=1 should no longer imply BLK_SHA1=1","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2017-12-28T14:07:41Z","receivedAt":"2017-12-28T14:08:07Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Use the collision detecting SHA-1 implementation by default even when\nNO_OPENSSL is set.\n\nSetting NO_OPENSSL=UnfortunatelyYes has implied BLK_SHA1=1 ever since\nthe former was introduced in dd53c7ab29 (Support for NO_OPENSSL,\n2005-07-29).  That implication should have been removed when the\ndefault SHA-1 implementation changed from OpenSSL to DC_SHA1 in\ne6b07da278 (Makefile: make DC_SHA1 the default, 2017-03-17).  Finish\nwhat that commit started by removing the BLK_SHA1 fallback setting so\nthe default DC_SHA1 implementation will be used.\n\nHelped-by: Jonathan Nieder <jrnieder@gmail.com>\nReviewed-by: Jonathan Nieder <jrnieder@gmail.com>\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n Makefile     | 2 --\n configure.ac | 1 -\n 2 files changed, 3 deletions(-)\n\ndiff --git a/Makefile b/Makefile\nindex 32c170687c..7e1da28b6f 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -23,7 +23,6 @@ all::\n # it at all).\n #\n # Define NO_OPENSSL environment variable if you do not have OpenSSL.\n-# This also implies BLK_SHA1.\n #\n # Define USE_LIBPCRE if you have and want to use libpcre. Various\n # commands such as log and grep offer runtime options to use\n@@ -1260,7 +1259,6 @@ ifndef NO_OPENSSL\n \tendif\n else\n \tBASIC_CFLAGS += -DNO_OPENSSL\n-\tBLK_SHA1 = 1\n \tOPENSSL_LIBSSL =\n endif\n ifdef NO_OPENSSL\ndiff --git a/configure.ac b/configure.ac\nindex 2f55237e65..7f8415140f 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -241,7 +241,6 @@ AC_MSG_NOTICE([CHECKS for site configuration])\n # a bundled SHA1 routine optimized for PowerPC.\n #\n # Define NO_OPENSSL environment variable if you do not have OpenSSL.\n-# This also implies BLK_SHA1.\n #\n # Define OPENSSLDIR=/foo/bar if your openssl header and library files are in\n # /foo/bar/include and /foo/bar/lib directories.\n-- \n2.15.1.424.g9478a66081\n\n"},{"id":"335467","messageId":"20171228140742.26735-3-avarab@gmail.com","threadId":"47499","inReplyTo":"20171228140742.26735-1-avarab@gmail.com","subject":"[PATCH v2 2/2] Windows: stop supplying BLK_SHA1=YesPlease by default","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2017-12-28T14:07:42Z","receivedAt":"2017-12-28T14:08:09Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"Using BLK_SHA1 in lieu of the OpenSSL routines was done in\n9bccfcdbff (\"Windows: use BLK_SHA1 again\", 2009-10-22), since DC_SHA1\nis now the default for git in general it makes sense for Windows to\nuse that too, this looks like something that was missed back in\ne6b07da278 (\"Makefile: make DC_SHA1 the default\", 2017-03-17).\n\nAs noted in 2cfc70f0de (\"mingw: use OpenSSL's SHA-1 routines\",\n2017-02-09) OpenSSL has a performance benefit compared to BLK_SHA1 on\nMinGW, so perhaps that and the Windows default should be changed\naround again. That's a topic for another series, it seems clear that\nthis specific flag is nobody's explicit intention.\n\nReviewed-by: Jonathan Nieder <jrnieder@gmail.com>\nSigned-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n---\n config.mak.uname | 1 -\n 1 file changed, 1 deletion(-)\n\ndiff --git a/config.mak.uname b/config.mak.uname\nindex 685a80d138..6a862abd35 100644\n--- a/config.mak.uname\n+++ b/config.mak.uname\n@@ -361,7 +361,6 @@ ifeq ($(uname_S),Windows)\n \tNO_REGEX = YesPlease\n \tNO_GETTEXT = YesPlease\n \tNO_PYTHON = YesPlease\n-\tBLK_SHA1 = YesPlease\n \tETAGS_TARGET = ETAGS\n \tNO_INET_PTON = YesPlease\n \tNO_INET_NTOP = YesPlease\n-- \n2.15.1.424.g9478a66081\n\n"},{"id":"335477","messageId":"20171228190452.GB92530@aiede.mtv.corp.google.com","threadId":"47499","inReplyTo":"20171228140742.26735-3-avarab@gmail.com","subject":"Re: [PATCH v2 2/2] Windows: stop supplying BLK_SHA1=YesPlease by default","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2017-12-28T19:04:52Z","receivedAt":"2017-12-28T19:05:00Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Ævar Arnfjörð Bjarmason wrote:\n\n> Using BLK_SHA1 in lieu of the OpenSSL routines was done in\n> 9bccfcdbff (\"Windows: use BLK_SHA1 again\", 2009-10-22), since DC_SHA1\n> is now the default for git in general it makes sense for Windows to\n> use that too, this looks like something that was missed back in\n> e6b07da278 (\"Makefile: make DC_SHA1 the default\", 2017-03-17).\n\nmicronit: the commas should be periods.\n\nWith or without such a tweak, this is indeed\nReviewed-by: Jonathan Nieder <jrnieder@gmail.com>\n\nThanks.\n"},{"id":"335479","messageId":"20171228190544.GC92530@aiede.mtv.corp.google.com","threadId":"47499","inReplyTo":"20171228140742.26735-2-avarab@gmail.com","subject":"Re: [PATCH v2 1/2] Makefile: NO_OPENSSL=1 should no longer imply BLK_SHA1=1","fromName":"Jonathan Nieder","fromEmail":"jrnieder@gmail.com","sentAt":"2017-12-28T19:05:44Z","receivedAt":"2017-12-28T19:05:51Z","isPatch":true,"sender":{"key":"jrnieder@gmail.com","avatar":"https://avatars.githubusercontent.com/u/281595?v=4"},"body":"Ævar Arnfjörð Bjarmason wrote:\n\n> Use the collision detecting SHA-1 implementation by default even when\n> NO_OPENSSL is set.\n>\n> Setting NO_OPENSSL=UnfortunatelyYes has implied BLK_SHA1=1 ever since\n> the former was introduced in dd53c7ab29 (Support for NO_OPENSSL,\n> 2005-07-29).  That implication should have been removed when the\n> default SHA-1 implementation changed from OpenSSL to DC_SHA1 in\n> e6b07da278 (Makefile: make DC_SHA1 the default, 2017-03-17).  Finish\n> what that commit started by removing the BLK_SHA1 fallback setting so\n> the default DC_SHA1 implementation will be used.\n>\n> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>\n\nThis is indeed\nReviewed-by: Jonathan Nieder <jrnieder@gmail.com>\n\nThanks for your patient work.\n"},{"id":"335827","messageId":"alpine.DEB.2.21.1.1801041828540.31@MININT-6BKU6QN.europe.corp.microsoft.com","threadId":"47499","inReplyTo":"20171228140742.26735-3-avarab@gmail.com","subject":"Re: [PATCH v2 2/2] Windows: stop supplying BLK_SHA1=YesPlease by default","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2018-01-04T17:33:11Z","receivedAt":"2018-01-04T17:33:27Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 28 Dec 2017, Ævar Arnfjörð Bjarmason wrote:\n\n> Using BLK_SHA1 in lieu of the OpenSSL routines was done in\n> 9bccfcdbff (\"Windows: use BLK_SHA1 again\", 2009-10-22), since DC_SHA1\n> is now the default for git in general it makes sense for Windows to\n> use that too, this looks like something that was missed back in\n> e6b07da278 (\"Makefile: make DC_SHA1 the default\", 2017-03-17).\n> \n> As noted in 2cfc70f0de (\"mingw: use OpenSSL's SHA-1 routines\",\n> 2017-02-09) OpenSSL has a performance benefit compared to BLK_SHA1 on\n> MinGW, so perhaps that and the Windows default should be changed\n> around again. That's a topic for another series, it seems clear that\n> this specific flag is nobody's explicit intention.\n> \n> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>\n> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n> ---\n>  config.mak.uname | 1 -\n>  1 file changed, 1 deletion(-)\n> \n> diff --git a/config.mak.uname b/config.mak.uname\n> index 685a80d138..6a862abd35 100644\n> --- a/config.mak.uname\n> +++ b/config.mak.uname\n> @@ -361,7 +361,6 @@ ifeq ($(uname_S),Windows)\n>  \tNO_REGEX = YesPlease\n>  \tNO_GETTEXT = YesPlease\n>  \tNO_PYTHON = YesPlease\n> -\tBLK_SHA1 = YesPlease\n>  \tETAGS_TARGET = ETAGS\n>  \tNO_INET_PTON = YesPlease\n>  \tNO_INET_NTOP = YesPlease\n\nThis patch is actually identical to 8756c75cd10 (msvc: use OpenSSL's SHA-1\nroutines, 2016-10-12) in Git for Windows' master.\n\nI did plan to submit this, but it is part of a bigger effort to get Git to\nbuild in current versions of Visual Studio again.\n\nBefore this work, the MSVC build could only use an ancient OpenSSL version\nfrom pre-built binaries hosted on repo.or.cz, and those are unlikely to\nget the performance benefits that you seek.\n\nSo I would like to ask to skip this patch for now, and take Jeff\nHostetler's patch as part of the MSVC patches later, once they have been\nmatured in Git for Windows?\n\nThanks,\nDscho"},{"id":"335828","messageId":"alpine.DEB.2.21.1.1801041833410.31@MININT-6BKU6QN.europe.corp.microsoft.com","threadId":"47499","inReplyTo":"87k1x7q800.fsf@evledraar.gmail.com","subject":"Re: [PATCH 2/2] Windows: stop supplying BLK_SHA1=YesPlease by default","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2018-01-04T17:35:30Z","receivedAt":"2018-01-04T17:35:48Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 28 Dec 2017, Ævar Arnfjörð Bjarmason wrote:\n\n> On Wed, Dec 27 2017, Jonathan Nieder jotted:\n> \n> > +git-for-windows\n> > Ævar Arnfjörð Bjarmason wrote:\n> >\n> >> Using BLK_SHA1 in lieu of the OpenSSL routines was done in [1], but\n> >> since DC_SHA1 is now the default for git in general it makes sense for\n> >> Windows to use that too, this looks like something that was missed\n> >> back in [2].\n> >>\n> >> As noted in [3] OpenSSL has a performance benefit compared to BLK_SHA1\n> >> on MinGW, so perhaps that and the Windows default should be changed\n> >> around again, but that's a topic for another series, it seems clear\n> >> that this specific flag is nobody's explicit intention.\n> >\n> > I have some memory of performance issues on Windows when DC_SHA1 was\n> > introduced leading to interest in a mixed configuration with DC_SHA1\n> > only being used where it is security sensitive (e.g. for object naming\n> > but not for packfile trailers).\n> >\n> > Did anything come of that?\n> \n> This was Johannes Schindelin (CC'd) on-list when the sha1dc discussion\n> first came up earlier this year. I.e. it's slower, so we could use\n> openssl on trusted data and sha1dc on untrusted data, but nothing came\n> of that.\n\nThe performance degradation is noticeable, as far as I can see. And no, we\nhave not yet worked on the hyprid SHA-1-DC solution, as we expect bigger\nbenefits from trying to avoid unnecessary SHA-1 calculation to begin with\n(read: we will try to catch bigger fish first).\n\nAll of this may also become moot if we ever get off the ground with\nSHA-256 (or whatever we will use then).\n\nCiao,\nDscho"},{"id":"335832","messageId":"871sj5cw9i.fsf@evledraar.gmail.com","threadId":"47499","inReplyTo":"alpine.DEB.2.21.1.1801041828540.31@MININT-6BKU6QN.europe.corp.microsoft.com","subject":"Re: [PATCH v2 2/2] Windows: stop supplying BLK_SHA1=YesPlease by default","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2018-01-04T18:30:01Z","receivedAt":"2018-01-04T18:30:13Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"\nOn Thu, Jan 04 2018, Johannes Schindelin jotted:\n\n> Hi,\n>\n> On Thu, 28 Dec 2017, Ævar Arnfjörð Bjarmason wrote:\n>\n>> Using BLK_SHA1 in lieu of the OpenSSL routines was done in\n>> 9bccfcdbff (\"Windows: use BLK_SHA1 again\", 2009-10-22), since DC_SHA1\n>> is now the default for git in general it makes sense for Windows to\n>> use that too, this looks like something that was missed back in\n>> e6b07da278 (\"Makefile: make DC_SHA1 the default\", 2017-03-17).\n>>\n>> As noted in 2cfc70f0de (\"mingw: use OpenSSL's SHA-1 routines\",\n>> 2017-02-09) OpenSSL has a performance benefit compared to BLK_SHA1 on\n>> MinGW, so perhaps that and the Windows default should be changed\n>> around again. That's a topic for another series, it seems clear that\n>> this specific flag is nobody's explicit intention.\n>>\n>> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>\n>> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>\n>> ---\n>>  config.mak.uname | 1 -\n>>  1 file changed, 1 deletion(-)\n>>\n>> diff --git a/config.mak.uname b/config.mak.uname\n>> index 685a80d138..6a862abd35 100644\n>> --- a/config.mak.uname\n>> +++ b/config.mak.uname\n>> @@ -361,7 +361,6 @@ ifeq ($(uname_S),Windows)\n>>  \tNO_REGEX = YesPlease\n>>  \tNO_GETTEXT = YesPlease\n>>  \tNO_PYTHON = YesPlease\n>> -\tBLK_SHA1 = YesPlease\n>>  \tETAGS_TARGET = ETAGS\n>>  \tNO_INET_PTON = YesPlease\n>>  \tNO_INET_NTOP = YesPlease\n>\n> This patch is actually identical to 8756c75cd10 (msvc: use OpenSSL's SHA-1\n> routines, 2016-10-12) in Git for Windows' master.\n>\n> I did plan to submit this, but it is part of a bigger effort to get Git to\n> build in current versions of Visual Studio again.\n>\n> Before this work, the MSVC build could only use an ancient OpenSSL version\n> from pre-built binaries hosted on repo.or.cz, and those are unlikely to\n> get the performance benefits that you seek.\n>\n> So I would like to ask to skip this patch for now, and take Jeff\n> Hostetler's patch as part of the MSVC patches later, once they have been\n> matured in Git for Windows?\n\nSounds good to me. Junio, could you please drop this one and just take\n1/2?\n"},{"id":"335939","messageId":"xmqqy3lccf4s.fsf@gitster.mtv.corp.google.com","threadId":"47499","inReplyTo":"871sj5cw9i.fsf@evledraar.gmail.com","subject":"Re: [PATCH v2 2/2] Windows: stop supplying BLK_SHA1=YesPlease by default","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2018-01-05T18:52:19Z","receivedAt":"2018-01-05T18:52:26Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:\n\n>> So I would like to ask to skip this patch for now, and take Jeff\n>> Hostetler's patch as part of the MSVC patches later, once they have been\n>> matured in Git for Windows?\n>\n> Sounds good to me. Junio, could you please drop this one and just take\n> 1/2?\n\nDone. Thanks, both.\n"}]}