From: Shawn O. Pearce Date: Thu, 18 Mar 2010 19:03:09 GMT Subject: Re: [PATCH] Prompt for a username when an HTTP request 401s Message-ID: <20100318190309.GC10981@spearce.org> In-Reply-To: Scott Chacon wrote: > When an HTTP request returns a 401, Git will currently fail with a > confusing message saying that it got a 401. This changes > http_request to prompt for the username and password, then return > HTTP_REAUTH so http_get_strbuf can try again. If it gets a 401 even > when a user/pass is supplied, http_request will now return HTTP_NOAUTH > which remote_curl can then use to display a more intelligent error > message that is less confusing. > > Signed-off-by: Scott Chacon > --- > http.c | 21 +++++++++++++++++++-- > http.h | 2 ++ > remote-curl.c | 2 ++ > 3 files changed, 23 insertions(+), 2 deletions(-) > > diff --git a/http.c b/http.c > index deab595..731783e 100644 > --- a/http.c > +++ b/http.c > @@ -199,6 +199,11 @@ static int http_options(const char *var, const > char *value, void *cb) > return git_default_config(var, value, cb); > } > > +static void get_http_user_name() > +{ > + user_name = xstrdup(getpass("Username: ")); Why are we getting the username via a password prompt where echo has been disabled? Traditionally a username field is obtained as echoed input. Also, this method shouldn't be named get_*() if its returning void. Sounds far to funny. init_http_user_name()? prompt_for_user_name()? -- Shawn.