Re: BUG #13741: vacuumdb does not accept valid password - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #13741: vacuumdb does not accept valid password
Date
Msg-id 15139.1447357263@sss.pgh.pa.us
Whole thread Raw
In response to Re: BUG #13741: vacuumdb does not accept valid password  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Responses Re: BUG #13741: vacuumdb does not accept valid password  (Alvaro Herrera <alvherre@2ndquadrant.com>)
List pgsql-bugs
Alvaro Herrera <alvherre@2ndquadrant.com> writes:
> Fujii Masao wrote:
>> ISTM that the attached simpler patch can fix the problem.
>> But maybe I'm missing something...

> Hmm, this is a very good and simple idea that looks like it should do
> the trick.  I would just add a comment explaining why we're using a
> static.

NAK.  This changes the behavior of connectDatabase() for *all* users
of that function, not only vacuumdb.  But the proposed behavioral
change is only appropriate for calling programs in which only a single
host/port/database target is used per execution.  In other contexts,
reusing the prior password is not just inappropriate but could actually
create security issues.  (It's possible that this behavior would be okay
for all existing callers, but that doesn't mean we should put in a
security gotcha for future uses.)

We could make this approach work if connectDatabase() remembered all
the parameters internally, and only tried to reuse the password when
they all match.  Or maybe it'd be better to alter the API so the caller
can say whether to try to reuse a saved password or not.  But I'm not sure
whether either of those answers is cleaner than the previous patch.

(BTW, I notice that pg_dumpall.c has a version of connectDatabase in
which the "static" trick is already being used, sans any documentation.
That's okay for pg_dumpall, but might be an issue if anyone copies-and-
pastes that version somewhere else ... and in any case it's fair to ask
why that version hasn't been merged with common.c.)

            regards, tom lane

pgsql-bugs by date:

Previous
From: John R Pierce
Date:
Subject: Re: connect to C
Next
From: manu@coopapotheken.be
Date:
Subject: BUG #13774: upgrade from 9.1 to 9.4 'succeeds' without enough disk space