There shouldn't be anything huge -- but there does need to be consistency.
Multiple apps need proxy settings, but store them differently.
* Synaptic has proxy settings.
* gconf has proxy settings.
* command-line environment variables have proxy settings.
* firefox has proxy settings.
* (maybe) NetworkManager has proxy settings <- maybe they should be here. Proxies should be different depending on your network.
The next problem to tackle is that a proxy server can have authentication. So you're dealing with a username and password, which is privileged information, which needs to be transferred between users. Maybe through a gnome keyring, or maybe the way NetworkManager stores WAP/WPA passwords. Find the right place. Create policy. Keep in mind that usernames and passwords can contain non-alphanumerics. A proxy server has the right to re-authenticate at any GET/POST request.
A proxy server could have automatic WPAD settings -- which means you need a JavaScript interpreter. This gets used to exclude certain domains, and to redirect to different proxys depending on the protocol.
There shouldn't be anything huge -- but there does need to be consistency.
Multiple apps need proxy settings, but store them differently.
* Synaptic has proxy settings.
* gconf has proxy settings.
* command-line environment variables have proxy settings.
* firefox has proxy settings.
* (maybe) NetworkManager has proxy settings <- maybe they should be here. Proxies should be different depending on your network.
The next problem to tackle is that a proxy server can have authentication. So you're dealing with a username and password, which is privileged information, which needs to be transferred between users. Maybe through a gnome keyring, or maybe the way NetworkManager stores WAP/WPA passwords. Find the right place. Create policy. Keep in mind that usernames and passwords can contain non-alphanumerics. A proxy server has the right to re-authenticate at any GET/POST request.
A proxy server could have automatic WPAD settings -- which means you need a JavaScript interpreter. This gets used to exclude certain domains, and to redirect to different proxys depending on the protocol.