Replies: 2 comments
-
As a workaround, I currently build and run an instance of cntlm proxy server 🤦♂️🤦♂️🤦♂️ Generally speaking, for a product created by microsoft, endorsed by microsoft and now being a part of Visual Studio, it is hard to comprehend how corporate users are neglected. It seems that this project is geared toward enthusiasts doing development on their home PC, where you have direct internet access without any firewalls and can install anything you want on your PC. Complete opposite of the corporate world, where you are under proxy firewall that does SSL interception of all the traffic, and have no admin rights on you PC whatsoever. Then every aspect of using vcpkg is a pain. You see multitude youtube videos where libraries are being added in seconds with |
Beta Was this translation helpful? Give feedback.
-
same issues here, i am also behind a corporate proxy with login. |
Beta Was this translation helpful? Give feedback.
-
Describe the bug
Same as #8078 and #7207:
behind our company proxy, on windows, the download of powershell timeouts.
The env variables HTTP_PROXY and HTTPS_PROXY are correctly set:
Indeed, the download of dependencies, which is performed with curl does work (after having installed vcpkg and base tools like powershell outside from the company network).
Some analysis
After a quick look at vcpkg-tool source code and at WinHTTP API, I suspect that the credentials part of the environment variables are not correctly provided to WinHTTP API.
Indeed, the API seems to expect the proxy URL, username, and password in separate options, whereas vcpkg provides the full content of HTTP_PROXY, including the credentials, as the proxy URL (see this line).
Indeed, when using windows provided command line tool to set those winhttp options, a URL with credentials is considered as "invalid parameter", which seems to confirm that winhttp expects a plain URL here:
Environment
To Reproduce
Behind a proxy requiring some credentials:
Expected behavior
I would expect the use of HTTP*_PROXY environment variables to be consistent between the downloads that use WinHTTP API and the downloads which use CURL, so that I just need to set those environment variables to have the whole chain working, like on Linux.
Beta Was this translation helpful? Give feedback.
All reactions