This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Matt Hooks
Recipients Matt Hooks
Date 2016-02-12.21:10:50
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1455311450.52.0.299309264077.issue26352@psf.upfronthosting.co.za>
In-reply-to
Content
When calling getpass.getpass(), certain circumstances cause it to fallback to getpass.fallback_getpass, such as when swapping out sys.stdin for another object in a unit test.

In such a circumstance, fallback_getpass may be called with stream=None when getpass itself was called without a stream.  fallback_getpass needs a stream to write the "Warning: Password input may be echoed" warning to, and reasonably chooses stderr.  However, this choice persists down into getpass._raw_input, where the user is then shown the password prompt on stderr as well.  Instead of on stderr, the user should get the password prompt on stdout.

tl;dr: Some calls to getpass.getpass result in a password prompt on stderr.

Bad behavior: password prompt displayed over stderr.
Expected behavior: password prompt should be on stdout.

Found in 3.4, looks like it's the same in 3.5.

I will attach a patch in a few moments, after I get my dev environment sorted out.
History
Date User Action Args
2016-02-12 21:10:50Matt Hookssetrecipients: + Matt Hooks
2016-02-12 21:10:50Matt Hookssetmessageid: <1455311450.52.0.299309264077.issue26352@psf.upfronthosting.co.za>
2016-02-12 21:10:50Matt Hookslinkissue26352 messages
2016-02-12 21:10:50Matt Hookscreate