Re: Re: How to configer the pg_hba record which the database name with "\n" ? - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Re: How to configer the pg_hba record which the database name with "\n" ?
Date
Msg-id 20130807201211.GD11189@momjian.us
Whole thread Raw
In response to Re: How to configer the pg_hba record which the database name with "\n" ?  (David Johnston <polobo@yahoo.com>)
Responses Re: Re: How to configer the pg_hba record which the database name with "\n" ?
List pgsql-hackers
On Thu, Aug  1, 2013 at 07:26:38AM -0700, David Johnston wrote:
> huxm wrote
> >  where there is a
> > newline(\n) in the name.
> 
> I can't imagine why you would want to use non-printing characters in a name,
> especially a database name.  Even if the hba.conf file was able to interpret
> it (which it probably cannot but I do not know for certain) client
> interfaces are likely to have problems as well.  Most of these would not
> think of interpolating a database identifier in that manner but instead
> treat the name as a literal value.  Even when line-continuations are allowed
> they are often cosmetic in nature and the resultant newline is discarded
> during the pre-execution phase of the command interpreter.
> 
> Arguably having a check constraint on the catalog to prohibit such a name
> would be more useful than trying to make such a construct functional.
> 
> I'd guess in the immediate term the users accessing this database would need
> to have "all" as their target and then you use role-based authorization to
> limit which specific databases are accessible.

I suppose the cleanest solution would be to allow a \n or a backslash
for line continuation, but I don't think pg_hba.conf supports those.

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + It's impossible for everything to be true. +



pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Kudos for Reviewers -- wrapping it up
Next
From: Andrew Dunstan
Date:
Subject: Re: Re: How to configer the pg_hba record which the database name with "\n" ?