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

Re: http getpass function in msysgit

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 4, 2010, 01:28 UTC
Message-ID
<7vaavp3i2n.fsf@alter.siamese.dyndns.org>
In-Reply-To
<1976ea661002022148s544be10bie912295e04189864@mail.gmail.com>
Frank Li <lznuaa@gmail.com> writes:
Show 7 quoted lines
> You can choose environment name you like. I choose HTTP_ASKPASS just
> because getpass only used at http.c
> ssl_cert_password = getpass("Certificate Password: ");
>
> OpenSSH is separated application and use own SSH_ASKPASS to ask password ...
>
> May GIT_ASKPASS is optional name.

If that is the case, probably it is easiest for the end users if you arrange it this way:

 - If GIT_ASKPASS is not set:
   - If SSH_ASKPASS is present, then use that from getpass() for any and
     all places that would want to get "password" like things;
   - Otherwise consult the terminal as before;
 - If GIT_ASKPASS is set:
   - If SSH_ASKPASS is not set, then export the value of GIT_ASKPASS as
     such as well, so that whenever we spawn "ssh", the same GIT_ASKPASS
     program will be used as a fallback.

That way, if the user already has set up SSH_ASKPASS, we will use the same familiar dialog without forcing the user do anything extra. If the user only sets GIT_ASKPASS without doing SSH_ASKPASS, we would also use it to drive the ssh session. In either case, the user doesn't need to worry about multiple configuration or dialog interface.

> It is nice to use one dialog for all cases. git-svn also have the same problem.

People often seem to use "/usr/lib{,exec}/openssh/gnome-ssh-askpass" as SSH_ASKPASS. It takes the prompt from its command line argument, reads the input, and spits it out to its standard output so that calling program can capture it. It would be a good interface to conform to to minimize the work we need to support this.

Previous: Frank LiNext: Frank Li
Message 4 of 6 in “http getpass function in msysgit”
  1. Frank LiFeb 3, 2010
  2. Junio C HamanoFeb 3, 2010
  3. Frank LiFeb 3, 2010
  4. Junio C HamanoFeb 4, 2010
  5. Frank LiFeb 4, 2010
  6. Junio C HamanoFeb 4, 2010

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.