Subject: Re: contrib/credential/netrc/git-credential-netrc: Use of uninitialized value in string

From: Junio C Hamano <[email-masked]>
Date: Mon, 26 Aug 2013 20:56:23 -0700

Antoine Pelisse <[email-masked]> writes:

> I've tried to use the netrc credential with git-send-email
> (v1.8.4-rc2), and I've had the following log (running with -d -v):

Peff what do you think?  From credential layer's point of view, I
think we make it totally up to the helper to decide if a request
matches what it supports, and if a particular helper wants to make
sure it is asked for a specific protocol, that is an OK thing to do,
but it feels unnecessarily unfriendly and treating missing proto
specification as a wildcard to talk to the specified host over any
protocol may not hurt, I would think.

> We were given search token protocol and value smtp
> We were given search token host and value smtp.gmail.com:587
> We were given search token username and value [email-masked]
> Searching for host = smtp.gmail.com:587
> Searching for password = (any value)
> Searching for path = (any value)
> Searching for protocol = smtp
> Searching for username = [email-masked]
> Using GPG to open /home/antoine/.authinfo.gpg: [gpg --decrypt
> /home/antoine/.authinfo.gpg]
>
> You need a passphrase to unlock the secret key for
> user: "Antoine Pelisse <[email-masked]>"
> 2048-bit RSA key, ID DE2A8792, created 2010-12-31 (main key ID A066A853)
>
> gpg: encrypted with 2048-bit RSA key, ID DE2A8792, created 2010-12-31
>       "Antoine Pelisse <[email-masked]>"
> compare host [smtp.gmail.com:587] to [smtp.gmail.com:587] (entry:
> password=secret, username=[email-masked], host=smtp.gmail.com:587)
> OK: any value satisfies check password
> OK: any value satisfies check path
> Use of uninitialized value $_[2] in printf at
> /home/antoine/code/git/contrib/credential/netrc/git-credential-netrc
> line 419.
> compare protocol [] to [smtp] (entry: password=secret,
> username=[email-masked], host=smtp.gmail.com:587)
> Use of uninitialized value in string eq at
> /home/antoine/code/git/contrib/credential/netrc/git-credential-netrc
> line 378.
>
> I can fix the problem by adding a "protocol smtp" to the matching
> line, but I wonder why this would be necessary ? After all, if host
> smtp.gmail.com:587 matches, do we need to match the protocol ?
>
> Cheers,
> Antoine