From: "D. Ben Knoble" <ben.knoble@gmail.com>
To: Jeff King <peff@peff.net>
Cc: git@vger.kernel.org
Subject: Re: send-email and credential
Date: Mon, 12 Aug 2019 18:25:32 -0400 [thread overview]
Message-ID: <CALnO6CDYBv+742=4Z0KbC0rgNA0KTdVR=deU7pPj6twHHpkgJg@mail.gmail.com> (raw)
In-Reply-To: <20190812221828.GA16666@sigill.intra.peff.net>
Peff is completely right: the log showed host=smpt.gmail.com:587 as
expected. Keychain confirms.
Thanks!
D. Ben Knoble
P.S. Be sure to delete /tmp/credential.log afterwards to clean up your
passwords.
On Mon, Aug 12, 2019 at 6:18 PM Jeff King <peff@peff.net> wrote:
>
> On Mon, Aug 12, 2019 at 06:00:14PM -0400, D. Ben Knoble wrote:
>
> > I spent a frustrating hour today hoping to setup git-send-email with
> > my gmail account. I've been able to confirm the following:
> >
> > 1. git credential works
> >
> > # git config credential.helper
> > osxkeychain
> > # git credential fill <<EOF
> > protocol=smtp
> > host=smtp.gmail.com
> > EOF
> >
> > outputs the correct username and password for my gmail account.
> >
> > 2. I (believe) I setup gitconfig properly:
> >
> > # git config --get-regexp sendemail
> > sendemail.smtpserver smtp.gmail.com
> > sendemail.smtpuser ben.knoble@gmail.com
> > sendemail.smtpencryption tls
> > sendemail.smtpserverport 587
> > sendemail.multiedit true
> > sendemail.annotate true
> >
> > The strange behavior I'm seeing is that git-send-email
> >
> > - prompted me via macOS for keychain access (expected). This happened
> > twice in a row, during one command invocation.
> > - prompted me at the terminal for my gmail password (shudders)
> > - stopped prompting me for messages send after that (all within the 15
> > minutes of the first two)
> >
> > Can anyone confirm/explain what's going on? I've never tried to use
> > git-credential or git-send-email before, so I'm new to those (but
> > experienced in git).
>
> I don't think the saved password you're showing in step 1 is being
> triggered, because Git will send "smtp.gmail.com:587" as the host field.
> Try this:
>
> git \
> -c credential.helper='!exec >/tmp/credential.log 2>&1; cat; echo' \
> send-email ...
>
> which will log the helper request. It probably has:
>
> host=smtp.gmail.com:587
>
> I don't remember the specifics of how osxkeychain works, but it probably
> pulls the port out of that and passes it to the OS keychain code, which
> then treats it as a separate service.
>
> So the rest of the behavior makes sense, then, I think:
>
> 1. macOS had to unlock your keychain to check for the entry
>
> 2. finding nothing, Git prompted you for the password
>
> 3. Git then wrote the password to keychain after it was used
> successfully (maybe prompting another keychain password request? I
> don't know how it works), after which it should work without a
> password.
>
> -Peff
prev parent reply other threads:[~2019-08-12 22:25 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-12 22:00 send-email and credential D. Ben Knoble
2019-08-12 22:18 ` Jeff King
2019-08-12 22:25 ` D. Ben Knoble [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CALnO6CDYBv+742=4Z0KbC0rgNA0KTdVR=deU7pPj6twHHpkgJg@mail.gmail.com' \
--to=ben.knoble@gmail.com \
--cc=git@vger.kernel.org \
--cc=peff@peff.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).