git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2] contrib: add win32 credential-helper

From
Jeff King <peff@peff.net>
Date
Apr 24, 2012, 20:40 UTC
Message-ID
<20120424204052.GC21904@sigill.intra.peff.net>
In-Reply-To
<1334861122-3144-1-git-send-email-kusmabite@gmail.com>
On Thu, Apr 19, 2012 at 08:45:22PM +0200, Erik Faye-Lund wrote:
Show 9 quoted lines
> Here's an updated version of my Windows credential-helper.
> 
> The most important difference is that it doesn't suck as much as
> it used to ;)
> 
> Basically, I'm now using the attribute-system to store the meta-data
> for the credentials.
> 
> This passes the test for me, and seems to work OK.

This looks much better. As usual, I can't comment on the Windows-y parts, but the credential logic looks good. One minor comment:

Show 5 quoted lines
> +int main(int argc, char *argv[])
> +{
> [...]
> +	if (!protocol || !host)
> +		return 0;

You could have a protocol that does not have a "host" component. Git will produce this for a cached certificate password (which will then always have a "path" field). I don't know if anybody is using it to cache certificate passwords, and I admit that it is not very well tested by me, either. So I'm not sure anybody will actually care.

The credential-store helper uses this logic:
  $ sed -n '70,79p' credential-store.c
        /*
         * Sanity check that what we are storing is actually sensible.
         * In particular, we can't make a URL without a protocol field.
         * Without either a host or pathname (depending on the scheme),
         * we have no primary key. And without a username and password,
         * we are not actually storing a credential.
         */
        if (!c->protocol || !(c->host || c->path) ||
            !c->username || !c->password)
                return;

I'm pretty sure the OS X helper does not handle certificate passwords at all. It is harder there, because I map directly to native protocol types, and I haven't checked to see whether OS X handles this type. But since you are just storing whatever protocol information git hands you, I think for you it is just a matter of letting it through (and handling the "!host" case when writing).

-Peff
-- 
*** Please reply-to-all at all times ***
*** (do not pretend to know who is subscribed and who is not) ***

*** Please avoid top-posting. ***

You received this message because you are subscribed to the Google
Groups "msysGit" group.
To post to this group, send email to msysgit@googlegroups.com
To unsubscribe from this group, send email to
msysgit+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/msysgit?hl=en_US?hl=en
Previous: Jeff KingNext: Erik Faye-Lund
Message 5 of 6 in “contrib: add win32 credential-helper”
  1. contrib: add win32 credential-helperErik Faye-Lund, Apr 19, 2012
  2. Jeff KingApr 22, 2012
  3. Erik Faye-LundApr 23, 2012
  4. Jeff KingApr 24, 2012
  5. Jeff KingApr 24, 2012
  6. Erik Faye-LundJun 22, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.