Hide Forgot
DNF does not use system-wide proxy configuration settings and its local configuration does not support a Proxy Auto-Configuration (PAC) file. Many environments (especially corporate networks) require the use of a PAC file to select an appropriate proxy and especially on corporate laptops it is often necessary to use a proxy in some locations but not others.
Tomas, is there any workaround for this in librepo?
PAC files are files with a java script function which returns an address (or addresses) of available proxy servers [1]. Libcurl doesn't support PAC files [2], although some years ago, it looked that PAC is around the corner [3]. I see several options how this could be implemented for librepo/dnf: 1) Use a JavaScript interpreter and interpret the PAC files in Librepo. - This most likely an overkill. 2) Interpret the PAC before Librepo is used and just set appropriate proxy server to librepo (e.g. via env variable http_proxy, ftp_proxy, etc.) 3) Use libproxy, I've just found the library and I'm not sure if it could help here or not but I'll investigate that. [1] https://en.wikipedia.org/wiki/Proxy_auto-config [2] https://curl.haxx.se/docs/faq.html#Does_curl_support_Javascript_or [3] https://curl.haxx.se/mail/archive-2002-06/0094.html
pacparser C library also exists, but it's not packaged for Fedora: https://github.com/pacparser/pacparser
I saw yum devels were solving the same issue: https://bugzilla.redhat.com/show_bug.cgi?id=542224#c27 They wanted to use libproxy with pacrunner plugin [1] [2], but they was waiting for pacrunner support in Network Manager. There is a document about Network Manager and proxy support [3] - the support is not implemented yet. [1] https://admin.fedoraproject.org/pkgdb/package/rpms/pacrunner/ [2] https://apps.fedoraproject.org/packages/libproxy-pacrunner [3] https://wiki.gnome.org/Projects/NetworkManager/Proxies
Thanks for investigation, Tomas. We will wait for Network manager to support it first.
This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component.
What is the status of this bug? Now that NM 1.6 is released, can we have pacrunner updated to 0.10 in Fedora? And compiled with --enable-libproxy? If I get the design right: - pacrunner RPM (or a pacrunner-libproxy subpackage) would Obsoletes+Provides libproxy - dnf would ask libproxy.so for proxy configuration - pacrunner's libproxy implementation would start pacrunner daemon - NM would notice pacrunner is running and configure it via D-Bus with WPAD proxies (and manual ones too?) Relevant info: https://atulhjp.wordpress.com/author/atulhjp/ https://cgit.freedesktop.org/NetworkManager/NetworkManager/commit/?h=bg/pacrunner&id=9f0eeb29854c5d85e4fcc60fb15bdc1c52bd932c (not merged yet in NM 1.6 branch)
pacrunner update request: https://bugzilla.redhat.com/show_bug.cgi?id=1429122
Any progress here?