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

Re: [PATCH 2/2] hex: drop sha1_to_hex()

From
SZEDER Gábor <szeder.dev@gmail.com>
Date
Nov 11, 2019, 14:18 UTC
Message-ID
<20191111141805.GK4348@szeder.dev>
In-Reply-To
<20191111090418.GB12545@sigill.intra.peff.net>
On Mon, Nov 11, 2019 at 04:04:18AM -0500, Jeff King wrote:
> There's only a single caller left of sha1_to_hex(), since everybody now
> uses oid_to_hex() instead. This case is in the sha1dc wrapper, where we
> print a hex sha1 when we find a collision. This one will always be sha1,
> regardless of the current hash algorithm, so we can't use oid_to_hex()
Nit: s/oid_to_hex/hash_to_hex/

We can't use oid_to_hex() because we don't have a 'struct object_id' in the first place, as sha1dc only ever deals with 20 unsigned chars.

Show 9 quoted lines
> here. In practice we'd probably not be running sha1 at all if it isn't
> the current algorithm, but it's possible we might still occasionally
> need to compute a sha1 in a post-sha256 world.
> 
> Since sha1_to_hex() is just a wrapper for hash_to_hex_algop(), let's
> call that ourselves. There's value in getting rid of the sha1-specific
> wrapper to de-clutter the global namespace, and to make sure nobody uses
> it (and as with sha1_to_hex_r() in the previous patch, we'll drop the
> coccinelle transformations, too).
Show 15 quoted lines
> diff --git a/sha1dc_git.c b/sha1dc_git.c
> index e0cc9d988c..5c300e812e 100644
> --- a/sha1dc_git.c
> +++ b/sha1dc_git.c
> @@ -19,7 +19,7 @@ void git_SHA1DCFinal(unsigned char hash[20], SHA1_CTX *ctx)
>  	if (!SHA1DCFinal(hash, ctx))
>  		return;
>  	die("SHA-1 appears to be part of a collision attack: %s",
> -	    sha1_to_hex(hash));
> +	    hash_to_hex_algop(hash, &hash_algos[GIT_HASH_SHA1]));
>  }
>  
>  /*
> -- 
> 2.24.0.739.gb5632e4929
Previous: Jeff KingNext: Jeff King
Message 5 of 17 in “getting rid of sha1_to_hex()”
  1. 0/2 getting rid of sha1_to_hex()Jeff King, Nov 11, 2019
  2. 1/2 hex: drop sha1_to_hex_r()Jeff King, Nov 11, 2019
  3. Johannes SchindelinNov 11, 2019
  4. 2/2 hex: drop sha1_to_hex()Jeff King, Nov 11, 2019
  5. SZEDER GáborNov 11, 2019
  6. Jeff KingNov 11, 2019
  7. Junio C HamanoNov 12, 2019
  8. Jeff KingNov 12, 2019
  9. SZEDER GáborNov 12, 2019
  10. Jeff KingNov 12, 2019
  11. Junio C HamanoNov 12, 2019
  12. Jeff KingNov 12, 2019
  13. Junio C HamanoNov 13, 2019
  14. Jeff KingNov 13, 2019
  15. Junio C HamanoNov 11, 2019
  16. Jeff KingNov 11, 2019
  17. brian m. carlsonNov 11, 2019

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.