Re: http getpass function in msysgit

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: http getpass function in msysgit

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:48:10

Frank Li [off-list ref] writes:
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.

Re: http getpass function in msysgit

From: Frank Li <hidden>
Date: 2016-06-15 22:48:10

 - 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.
quoted
It is nice to use one dialog for all cases. git-svn also have the same problem.
Can we direct use SSH_ASKPASS for all getpass and don't use GIT_ASKPASS at all?
The logic will be come simple.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help