From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Matthew Stickney <mtstickney(at)gmail(dot)com> |
Cc: | pgsql-hackers(at)lists(dot)postgresql(dot)org |
Subject: | Re: [PATCH] (Windows) psql echoes password when reading from pipe |
Date: | 2018-05-22 18:55:54 |
Message-ID: | 14853.1527015354@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Matthew Stickney <mtstickney(at)gmail(dot)com> writes:
> On windows, if you pipe data to psql, the password prompt correctly
> reads from and writes to the console, but the password text is echoed to
> the console. This is because echoing is disabled on the handle for
> stdin, but as part of a pipeline stdin doesn't refer to the console.
> I've attached a patch that gets a handle to the console's input buffer
> by opening CONIN$ instead, which corrects the problem.
Thanks for the report and patch!
I know zip about Windows coding, but I can't help comparing this:
- t = GetStdHandle(STD_INPUT_HANDLE);
+ t = CreateFile("CONIN$", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
to the code a little bit above:
termin = fopen("CONIN$", "r");
Is it possible to operate on "termin" instead of doing a second open
(which might fail, which we are failing to cope with :-()?
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2018-05-22 18:59:51 | Re: Postgres, fsync, and OSs (specifically linux) |
Previous Message | Dmitry Dolgov | 2018-05-22 18:54:46 | Re: Postgres, fsync, and OSs (specifically linux) |