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

Re: [PATCH v2 19/19] signed push: fortify against replay attacks

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 2, 2014, 17:40 UTC
Message-ID
<xmqq8um13opm.fsf@gitster.dls.corp.google.com>
In-Reply-To
<5401BCA5.70502@gmail.com>
Stefan Beller <stefanbeller@gmail.com> writes:
Show 26 quoted lines
> On 22.08.2014 22:30, Junio C Hamano wrote:
>> @@ -1226,12 +1232,28 @@ static int delete_only(struct command *commands)
>>  	return 1;
>>  }
>>  
>> +static char *prepare_push_cert_nonce(const char *sitename, const char *dir)
>> +{
>> +	struct strbuf buf = STRBUF_INIT;
>> +	unsigned char sha1[20];
>> +
>> +	if (!sitename) {
>> +		static char buf[1024];
>> +		gethostname(buf, sizeof(buf));
>> +		sitename = buf;
>> +	}
>> +	strbuf_addf(&buf, "%s:%s:%lu", sitename, dir, time(NULL));
>> +	hash_sha1_file(buf.buf, buf.len, "blob", sha1);
>> +	return xstrdup(sha1_to_hex(sha1));
>> +}
>> +
>
> On every other use of gethostname within git.git we're
> checking the return code. And if gethostname fails, we're
> either copying in 'localhost' or 'unknown' instead.
>
> Does that make sense here as well?

It does, but I think this code will have to change quite a lot before it gets ready even for 'next'.

Thanks.
Previous: Stefan Beller
Message 23 of 23 in “Signed push”
  1. 00/19 Signed pushJunio C Hamano, Aug 22, 2014
  2. 01/19 receive-pack: do not overallocate command structureJunio C Hamano, Aug 22, 2014
  3. 02/19 receive-pack: parse feature request a bit earlierJunio C Hamano, Aug 22, 2014
  4. 03/19 receive-pack: do not reuse old_sha1[] for other thingsJunio C Hamano, Aug 22, 2014
  5. 04/19 receive-pack: factor out queueing of commandJunio C Hamano, Aug 22, 2014
  6. 05/19 send-pack: move REF_STATUS_REJECT_NODELETE logic a bit higherJunio C Hamano, Aug 22, 2014
  7. 06/19 send-pack: refactor decision to send update per refJunio C Hamano, Aug 22, 2014
  8. 07/19 send-pack: always send capabilitiesJunio C Hamano, Aug 22, 2014
  9. 08/19 send-pack: factor out capability string generationJunio C Hamano, Aug 22, 2014
  10. 09/19 send-pack: rename "new_refs" to "need_pack_data"Junio C Hamano, Aug 22, 2014
  11. 10/19 send-pack: refactor inspecting and resetting status and sending commandsJunio C Hamano, Aug 22, 2014
  12. 11/19 send-pack: clarify that cmds_sent is a booleanJunio C Hamano, Aug 22, 2014
  13. 12/19 gpg-interface: move parse_gpg_output() to where it should beJunio C Hamano, Aug 22, 2014
  14. 13/19 gpg-interface: move parse_signature() to where it should beJunio C Hamano, Aug 22, 2014
  15. 14/19 pack-protocol doc: typofix for PKT-LINEJunio C Hamano, Aug 22, 2014
  16. 15/19 the beginning of the signed pushJunio C Hamano, Aug 22, 2014
  17. 16/19 receive-pack: GPG-validate push certificatesJunio C Hamano, Aug 22, 2014
  18. 17/19 send-pack: send feature request on push-cert packetJunio C Hamano, Aug 22, 2014
  19. 18/19 signed push: remove duplicated protocol infoJunio C Hamano, Aug 22, 2014
  20. 19/19 signed push: fortify against replay attacksJunio C Hamano, Aug 22, 2014
  21. Eric SunshineAug 24, 2014
  22. Stefan BellerAug 30, 2014
  23. Junio C HamanoSep 2, 2014

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.