Subject: [bug#32111] [PATCH] daemon: Allow store names to start with a dot.

From: Nils Gillmann <[email-masked]>
Date: Tue, 10 Jul 2018 19:18:39 +0000

Hi,

Can you provide some context why this is necessary, maybe even
in the commit message?

Clément Lassieur transcribed 883 bytes:
> * nix/libstore/store-api.cc (checkStoreName): Disallow only "." and "..".
> ---
>  nix/libstore/store-api.cc | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/nix/libstore/store-api.cc b/nix/libstore/store-api.cc
> index 9e07c67e9..1618f1745 100644
> --- a/nix/libstore/store-api.cc
> +++ b/nix/libstore/store-api.cc
> @@ -58,9 +58,8 @@ string storePathToName(const Path & path)
>  void checkStoreName(const string & name)
>  {
>      string validChars = "+-._?=";
> -    /* Disallow names starting with a dot for possible security
> -       reasons (e.g., "." and ".."). */
> -    if (string(name, 0, 1) == ".")
> +    /* Disallow "." and ".." for possible security reasons. */
> +    if ((name == ".") || (name == ".."))
>          throw Error(format("illegal name: `%1%'") % name);
>      foreach (string::const_iterator, i, name)
>          if (!((*i >= 'A' && *i <= 'Z') ||
> -- 
> 2.18.0
> 
> 
> 
>