git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
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

      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).