Development/Howto/Proxy Support

From Mandriva Community Wiki

Jump to: navigation, search
Proxy Settings

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) Image:bug_small.png Bug #10875
  • Have settings applied immediately without requiring logout.
    • This is not going to happen in the near future see Image:bug_small.png Bug #20052
  • 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 Image:bug_small.png Bug #10875.

[edit] Bugs related to proxy support

This is the list of bugs related to proxy support in Mandriva

Personal tools