Received: from malur.postgresql.org ([2a02:16a8:dc51::56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1fLZS6-0001Bn-UW for pgsql-hackers@arkaria.postgresql.org; Wed, 23 May 2018 19:29:39 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1fLZS5-0001d0-Hj for pgsql-hackers@arkaria.postgresql.org; Wed, 23 May 2018 19:29:37 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1fLZS5-0001cr-8f for pgsql-hackers@lists.postgresql.org; Wed, 23 May 2018 19:29:37 +0000 Received: from mail-qk0-x242.google.com ([2607:f8b0:400d:c09::242]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1fLZRz-00077o-I7 for pgsql-hackers@lists.postgresql.org; Wed, 23 May 2018 19:29:36 +0000 Received: by mail-qk0-x242.google.com with SMTP id d125-v6so18404411qkb.8 for ; Wed, 23 May 2018 12:29:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language; bh=S5NZUYtaRdyICUWlr9LTDRWosIRYKj19Ga6QLokCIpQ=; b=oAxXOBVlTh4f36sTP3s+Y8Wir60yV78uR+MLA13KsRrKQe/eaUHmkhGqmRGyYlmeCA TuEcelwGzwBvGH+b68RUXdj/ca7a2Ayv7vYfe44Z6dHRLX7dAwpmVqldsOU3KOcL0mwh a9GtHx4IZRtU/6/BWPtFGnDA/fAQdGr7KMPsG0nyd48Uohen5rnHanPVfQK8R1ztckp2 JXl/veoTY6+10Y7bzVPHk/Jq91QLNAveeRLr1hgq3vXsg2ArvJQXmsdGnRYVkwJUyHEk u20Aq+fOutghgN7qGH1/1753OMjn7lOHXXcp5sXA7+UFEKqNwXYsfhdTBaZpUZyqOo+b TfMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=S5NZUYtaRdyICUWlr9LTDRWosIRYKj19Ga6QLokCIpQ=; b=mAN5EKgPS27AEO6xNyR//JyYudT6zt2kN4LE1okgUPCVRWTln5uNco69Br1lWTjMFn kBwzyC/VXIuWq9YUaP8BqC2Na1Qo/0jS23NQ4LgdOAm+BEBCSiG97Zt6HSmclwOYJQI3 qZ0oK2yroRykzDbhdf2Motmld2AuM2D7j1CWV5CB1IwXYSY4oevCorHDteEPwQ93Drq3 dag3uUY+dw1l95tcY2hwMa57hhQZP0K4NDVvZEV2nDO2YKhf72y2FX1t7SHorrN+X68x N+JrqpFlpf0I/AnBEwEAwdOamudbBF/XVmQZF9Ir+BcH24K2LnYlsu/L7H1xv1qtIW3J VBqQ== X-Gm-Message-State: ALKqPwcUmLxZh1fO1YWjif48NpUvPf7gd3+mV/BeTNzydelWNn/wBUGr Iq3o9jD+uMcqSvIAhYrlGbWIEwCR X-Google-Smtp-Source: ADUXVKJ8xvhoEfAWAURcqRI8jIheKIgW767o8Yl1sRCS1apBAmkHXzGFQysOJlbzyFnotZPFdxf4Jw== X-Received: by 2002:a37:a5ce:: with SMTP id o197-v6mr3953555qke.225.1527103769517; Wed, 23 May 2018 12:29:29 -0700 (PDT) Received: from [10.0.1.154] (rrcs-24-97-165-124.nys.biz.rr.com. [24.97.165.124]) by smtp.gmail.com with ESMTPSA id 47-v6sm16041614qtw.4.2018.05.23.12.29.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 23 May 2018 12:29:28 -0700 (PDT) Subject: Re: [PATCH] (Windows) psql echoes password when reading from pipe To: Tom Lane Cc: pgsql-hackers@lists.postgresql.org References: <502a1fff-862b-da52-1031-f68df6ed5a2d@gmail.com> <14853.1527015354@sss.pgh.pa.us> <18079.1527019746@sss.pgh.pa.us> <23826.1527027253@sss.pgh.pa.us> From: Matthew Stickney Message-ID: Date: Wed, 23 May 2018 15:29:29 -0400 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <23826.1527027253@sss.pgh.pa.us> Content-Type: multipart/mixed; boundary="------------2725ECA144A735D035D3CE0A" Content-Language: en-US List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is a multi-part message in MIME format. --------------2725ECA144A735D035D3CE0A Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit The attached is a patch that uses the _fileno/_get_osfhandle approach. This doesn't address the stdin fallback, or error handling if opening termin fails; however, it should be no worse than what's there now, and it fixes the immediate problem. I'm still thinking about the fallback in terms of a mintty-type environment, but I wanted to get this patch out there in the meantime. -Matt Stickney --------------2725ECA144A735D035D3CE0A Content-Type: text/plain; charset=UTF-8; name="0002-Disable-input-echo-on-the-console-not-stdin.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0002-Disable-input-echo-on-the-console-not-stdin.patch" RnJvbSA3MzRiOTc5ZTY4ODg4NDk0N2UxYjgyMGY1YzFhNDA0NTRiYjM1YzAzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXR0aGV3IFN0aWNrbmV5IDxtdHN0aWNrbmV5QGdt YWlsLmNvbT4KRGF0ZTogTW9uLCAyMSBNYXkgMjAxOCAyMzoyNDozNCAtMDQwMApTdWJqZWN0 OiBbUEFUQ0hdIERpc2FibGUgaW5wdXQgZWNobyBvbiB0aGUgY29uc29sZSwgbm90IHN0ZGlu LgoKV2hlbiBkYXRhIGlzIHBpcGVkIHRvIHBzcWwsIGEgaGFuZGxlIHRvIHN0ZGluIHdpbGwg bm8gbG9uZ2VyIGJlIGEgaGFuZGxlCnRvIHRoZSBjb25zb2xlOyBTZXRDb25zb2xlTW9kZSB3 aWxsIGZhaWwsIGFuZCBwcm9tcHQgaW5wdXQgd2lsbCBiZSBlY2hvZWQKdG8gdGhlIHNjcmVl bi4KCkluc3RlYWQsIHJldHJpZXZlIGEgaGFuZGxlIHRvIHRoZSBjb25zb2xlJ3MgaW5wdXQg YnVmZmVyIGZyb24gdGVybWluLCBhbmQKc2V0IHRoZSBjb25zb2xlIG1vZGUgdGhlcmUgKHRo aXMgcmVxdWlyZXMgd3JpdGUgcGVybWlzc2lvbnMpLiBUaGUgY29kZSBpcwpub3cgc2V0dGlu ZyB0aGUgY29uc29sZSBtb2RlIG9uIHRoZSBzYW1lIGhhbmRsZSBpdCByZWFkcyBmcm9tLCB3 aGljaCBzaG91bGQKYWx3YXlzIGJlIGNvbnNpc3RlbnQuCi0tLQogc3JjL3BvcnQvc3Byb21w dC5jIHwgOCArKysrKystLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvcG9ydC9zcHJvbXB0LmMgYi9zcmMvcG9y dC9zcHJvbXB0LmMKaW5kZXggNzBkZmE2OWQ3Yi4uMzQwMjMyYTdhMiAxMDA2NDQKLS0tIGEv c3JjL3BvcnQvc3Byb21wdC5jCisrKyBiL3NyYy9wb3J0L3Nwcm9tcHQuYwpAQCAtNjYsOCAr NjYsMTIgQEAgc2ltcGxlX3Byb21wdChjb25zdCBjaGFyICpwcm9tcHQsIGNoYXIgKmRlc3Rp bmF0aW9uLCBzaXplX3QgZGVzdGxlbiwgYm9vbCBlY2hvKQogCSAqCiAJICogWFhYIGZnZXRz KCkgc3RpbGwgcmVjZWl2ZXMgdGV4dCBpbiB0aGUgY29uc29sZSdzIGlucHV0IGNvZGUgcGFn ZS4gIFRoaXMKIAkgKiBtYWtlcyBub24tQVNDSUkgY3JlZGVudGlhbHMgdW5wb3J0YWJsZS4K KwkgKgorCSAqIE5vdGUgdGhhdCB0ZXJtaW4gbXVzdCBhbHNvIGJlIG9wZW5lZCB3aXRoIHdy aXRlIHBlcm1pc3Npb25zIGluIG9yZGVyIGZvcgorCSAqIFNldENvbnNvbGVNb2RlKCkgdG8g c3VjY2VlZCwgZXZlbiB0aG91Z2ggaXQncyBvbmx5IHVzZWQgZm9yIHJlYWRpbmcgaGVyZS4K KwkgKgogCSAqLwotCXRlcm1pbiA9IGZvcGVuKCJDT05JTiQiLCAiciIpOworCXRlcm1pbiA9 IGZvcGVuKCJDT05JTiQiLCAidysiKTsKIAl0ZXJtb3V0ID0gZm9wZW4oIkNPTk9VVCQiLCAi dysiKTsKICNlbHNlCiAKQEAgLTExMiw3ICsxMTYsNyBAQCBzaW1wbGVfcHJvbXB0KGNvbnN0 IGNoYXIgKnByb21wdCwgY2hhciAqZGVzdGluYXRpb24sIHNpemVfdCBkZXN0bGVuLCBib29s IGVjaG8pCiAJaWYgKCFlY2hvKQogCXsKIAkJLyogZ2V0IGEgbmV3IGhhbmRsZSB0byB0dXJu IGVjaG8gb2ZmICovCi0JCXQgPSBHZXRTdGRIYW5kbGUoU1REX0lOUFVUX0hBTkRMRSk7CisJ CXQgPSAoSEFORExFKV9nZXRfb3NmaGFuZGxlKF9maWxlbm8odGVybWluKSk7CiAKIAkJLyog c2F2ZSB0aGUgb2xkIGNvbmZpZ3VyYXRpb24gZmlyc3QgKi8KIAkJR2V0Q29uc29sZU1vZGUo dCwgJnRfb3JpZyk7Ci0tIAoyLjE2LjIud2luZG93cy4xCgo= --------------2725ECA144A735D035D3CE0A--