Development/Howto/Proxy Support
From Mandriva
How applications support proxy settings and proposed improvements to this system
Contents |
Proxy settings support
Drakproxy
Drakproxy is a simple drakxtool whose only purpose is to set the $http_proxy and $ftp_proxy environment variables system-wide (also called *_proxy environment variables). It is done by creating two scripts in /etc/profile.d/ named proxy.sh and proxy.csh. These scripts are executed at login which means you have to log out to apply your proxy settings (or launch a login shell). Setting these variables is the only purpose of that tool : no change is done to any configuration file.
urpmi
urpmi has two ways to deal with proxy settings : globally and per-repository. Parameters are set in /etc/urpmi/proxy.cfg (for more information, see "man proxy.cfg"). Parameters can be set by editing this file or by using rpmdrake.
Mozilla Firefox
Mozilla firefox uses only its own settings and does not care about *_proxy environment variables. See below for a discussion about this issue.
KDE
All KDE apps (including konqueror) use global KDE settings set through kcontrol. The default is to use *_proxy environment variables.
Gnome
All Gnome apps (including epiphany) use global Gnome settings set through the gnome-control-center.
wget
curl
MandrivaOnline
Summary
This table states wether a specific application supports proxy settings and to which extent.
Application | [ftp|http]_proxy support | Automatic proxy settings support | Authenticating proxy support | Default behaviour |
---|---|---|---|---|
urpmi | ? | N | Y | Connect directly |
Mozilla Firefox | N | Y | Y | Connect directly |
KDE | Y | Y | Y | $*_proxy |
Gnome | N | Y | N | Connect directly |
wget | Y | N | Y | $*_proxy |
curl | Y | N | Y | Connect directly |
MandrivaOnline | ? | ? | ? | ? |
clamav | ? | ? | ? | ? |
Applications without proxy support
List here applications known for not supporting proxy settings at all :
- Unknown
Improvements
General improvements
The general ideal situation would be :
- Have drakproxy handle proxy settings of all applications system-wide (user-overridable)
- Have settings applied immediately without requiring logout.
- This is not going to happen in the near future see
Bug #20052
- This is not going to happen in the near future see
- All applications should be able to use *_proxy variables
- All applications should use *_proxy variables as their default
To achieve these goals, drakproxy needs major improvements and several applications should be patched or modified upstream.
The other solution is to handle this problem with the help of freedesktop : dbus could be used to notify proxy settings to applications requiring them.
Supporting automatic proxy settings and authentication system-wide is much more difficult. It probably involves developing a library handling all proxy-related stuff and having programs calling it.
Mozilla Firefox (and Mozilla Thunderbird)
See Bug #10875