threads / discuss / 56879

Password for proxies from external

Subject: Password for proxies from external

## tl;dr

2 messages between Nov 12, 2021 and Nov 12, 2021.

replies: 1people: 2as markdown or json

6a50120e@schuerz.at· Nov 12, 2021, 13:07 UTC · lore
Hi there!
If searched a lot and everywhere i found the same information...

when i want to set a http-proxy for git, the configuration goes to ~/.gitconfig

```
[http]
     proxy = http://username:password@proxy.dings.bums:1234
```

So the proxy password is in cleartext written down to the config-file. The git own password-store can not be used... even no external like pass.

For aliases i can set something like
```
[alias]
     blafoo = "!f() {do something on shell}; f"
```
But this does not work for proxy-settings.

There should be a mechanism to read a password or the credentials from the shell in proxy-settings. Something like bash-subshell-construct.

```
[http]
     proxy = http://$(pass show key|grep login):$(pass show key|head 
-n1)@proxy.dings.bums:1234
```
or
```
[http]
     proxy = "!u() {pass show key|grep login}; !p() {pass show key|head 
-n1}; http://u:p@proxy.dings.bums:1234"
```

This would close the security-hole of cleartext-credentials in config-files...

thank you
Jakob
Jeff King· Nov 12, 2021, 21:28 UTC · re: 6a50120e@schuerz.at · lore

Re: Password for proxies from external

On Fri, Nov 12, 2021 at 02:07:03PM +0100, 6a50120e@schuerz.at wrote:
Show 11 quoted lines
> when i want to set a http-proxy for git, the configuration goes to
> ~/.gitconfig
> 
> ```
> [http]
>     proxy = http://username:password@proxy.dings.bums:1234
> 
> ```
> 
> So the proxy password is in cleartext written down to the config-file. The
> git own password-store can not be used... even no external like pass.
Have you tried including just the username, like:
  [http]
  proxy = http://username@example.com:1234

That should prompt for the password, including using your regular configured credential helpers; see 372370f167 (http: use credential API to handle proxy authentication, 2016-01-26).

We don't recognize HTTP 407 ("Proxy Authentication Required") to trigger the username/password lookup, like we do for an HTTP 401. That probably wouldn't be much code to add, but I suspect it's less important for a proxy versus a regular site because you only use one proxy (and it either needs auth or it doesn't).

-Peff

← back to recent threads