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

Re: [PATCH] use lock token in non-URI form in start_put

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 8, 2009, 02:28 UTC
Message-ID
<7vzlgx3bnt.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<be6fef0d0902071745r355309c2o76622b3af8df53bc@mail.gmail.com>
Tay Ray Chuan <rctay89@gmail.com> writes:
> In section 6.5 which you cite below, the token is unique, and we hold
> the server's word for it.
Are you sure you are not reading too much into that guarantee?

I somehow thought that the natural reading of the guarantee is *not* that the tokens are unique over the lifetime of the server installation (iow, a lock token you obtained today will never be used in the future, and it is a token that the server never has used before), but it merely guarantees that there are no any two outstanding locks that share the same URI, lest one client's unlock request breaks the wrong lock. But I may be wrong here.

Show 10 quoted lines
>> That is why I asked in my previous question what in the codepath protects
>> ourselves from using problematic characters.
>
> You're right, section 6.5 doesn't enforce that lock tokens are UUIDs.
>
> Any solutions to this? Perhaps one could have a function, say,
> get_unique_remote_postfix, and the function would check for URI
> schemes which we know are safe for use in file names, namely,
> "urn:uuid:" and "opaqulocktoken:". However, if its a URI we are unsure
> of, then it would generate a random string.
Let me show even more ignorance of mine with this codepath.

What breaks and how, if we do not even use a random string but a fixed suffix ".temp" here? I am not suggesting we actually do that, but I'd like to see how important the uniqueness is here to better understand the issue.

Previous: Tay Ray ChuanNext: Tay Ray Chuan
Message 5 of 7 in “use lock token in non-URI form in start_put”
  1. use lock token in non-URI form in start_putTay Ray Chuan, Feb 7, 2009
  2. Johannes SchindelinFeb 7, 2009
  3. Junio C HamanoFeb 7, 2009
  4. Tay Ray ChuanFeb 8, 2009
  5. Junio C HamanoFeb 8, 2009
  6. Tay Ray ChuanFeb 8, 2009
  7. Tay Ray ChuanFeb 8, 2009

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.