Re: [PATCHv3 5/5] git-send-email: use git credential to obtain password
- From
Jeff King <peff@peff.net>
- Date
- Feb 11, 2013, 17:01 UTC
- Message-ID
- <20130211170134.GE16402@sigill.intra.peff.net>
- In-Reply-To
- <fd7997960cad569d57f5330f2416f702db414169.1360599712.git.mina86@mina86.com>
On Mon, Feb 11, 2013 at 05:23:39PM +0100, Michal Nazarewicz wrote:
Show 14 quoted lines
> + # TODO: Authentication may fail not because credentials were
> + # invalid but due to other reasons, in which we should not
> + # reject credentials.
> + $auth = Git::credential({
> + 'protocol' => 'smtp',
> + 'host' => join(':', $smtp_server, $smtp_server_port),
> + 'username' => $smtp_authuser,
> + # if there's no password, "git credential fill" will
> + # give us one, otherwise it'll just pass this one.
> + 'password' => $smtp_authpass
> + }, sub {
> + my $cred = shift;
> + return !!$smtp->auth($cred->{'username'}, $cred->{'password'});
> + });What do we want to do about this TODO?
I am happy to put it off until it becomes a problem, but I wonder if the Git::credential() interface is sufficient to express what we would want. It only allows two return values: true for approve, false for reject. But we would want a tri-state: approve, reject, indeterminate.
Reading the Net::SMTP code, it doesn't look like the information is even available to us (it really just passes out success or failure), so I don't think we can even make it work now. But it may be better to prepare the public Git::credential interface for it now, so we do not have to deal with breaking compatibility later.
-Peff