Development/Howto/Proxy Support
From Mandriva Community Wiki
How applications support proxy settings and proposed improvements to this system
Contents |
[edit] Proxy settings support
[edit] Drakproxy
Drakproxy is a drakxtool whose purpose is to set the $http_proxy and $ftp_proxy environment variables system-wide (also called *_proxy environment variables), change the per-system firefox proxy configuration file (/etc/firefox.cfg). I'm not sure whether it changes the urpmi proxy settings... Changing the local user settings 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 you need to launch a login shell).
[edit] 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.
[edit] Mozilla Firefox
Mozilla firefox now uses a global per-system configuration file which is a raw, but working solution (I mean the file is called "/etc/firefox.cfg" and the settings are really firefox specific, the proxy settings can't be parsed easily by another application). It would be better to have a "sharable" and standard configuration file called /etc/proxy.conf or similar.
[edit] KDE
All KDE apps (including konqueror) use global KDE settings set through kcontrol. The default is to use *_proxy environment variables. Which implies your konqueror proxy settings will only be applied after you log out/log in.
[edit] Gnome
All Gnome apps (including epiphany) use global Gnome settings set through the gnome-control-center.
[edit] wget
[edit] curl
[edit] MandrivaOnline
MandrivaOnline uses the urpmi settings.
[edit] Summary
This table states wether a specific application supports proxy settings and to which extent.
Application | $[ftp|http]_proxy variables support | Automatic proxy settings support | Authenticating proxy support | Default behaviour | System-wide config | Per-user config |
---|---|---|---|---|---|---|
urpmi | ? | N | Y | Connect directly | /etc/urpmi/proxy.cfg | N/A |
Mozilla Firefox | N | Y | Y | Connect directly | /etc/firefox.cfg | gui |
KDE | Y | Y | Y | $*_proxy | $*_proxy | gui |
Gnome | N | Y | Y | Connect directly | ? | gui (gconf) |
wget | Y | N | Y | $*_proxy | $*_proxy | $HOME/.wgetrc |
curl | Y | N | Y | Connect directly | ? | ? |
MandrivaOnline | ? | N | Y | Connect directly | /etc/urpmi/proxy.cfg | N/A |
freshclam | ? | ? | ? | ? | ? | ? |
[edit] Applications without proxy support
List here applications known for not supporting proxy settings at all :
- None known (mc ? emacs ?)
[edit] Improvements
[edit] Portland
Portland (freedesktop standards implementation for both KDE and Gnome) is working on this specific subject
[edit] General improvements
The general ideal situation would be :
- Have drakproxy handle proxy settings of all applications system-wide (user-overridable)
Bug #10875
- 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.
[edit] Mozilla Firefox (and Mozilla Thunderbird)
There's no majore problem anymore with Firefox proxy settings because it can now deal with a global configuration file. For reference, though, you may have a look at Bug #10875.
[edit] Bugs related to proxy support
This is the list of bugs related to proxy support in Mandriva