Make Ubuntu fully proxy compatible

Registered by Eduard Gotwig

Rationale:
Proxy support in some applications is partial, in some others it's completely missing. To provide an useful experience to every user we need to be able to support users who need proxies.

Goal:
To define the level of proxy support in applications in the default install, test and identify shortcomings, and provide a reasonable test plan.

Blueprint information

Status:
Complete
Approver:
Sebastien Bacher
Priority:
Low
Drafter:
Mathieu Trudel-Lapierre
Direction:
Approved
Assignee:
Mathieu Trudel-Lapierre
Definition:
Approved
Series goal:
Accepted for quantal
Implementation:
Implemented
Milestone target:
milestone icon ubuntu-12.10-beta-1
Started by
Kate Stewart
Completed by
Kate Stewart

Whiteboard

UDS Discussion Points:
#uds-p #track #topic

Ubuntu 12.10 should be fully proxy compatible, what means that every app should work with proxies for http, https, ftp, etc.

Topics:
 - Current known issues:
   - add-apt-repository, see bug #994569
   - gpg, see bug #443404
   - bzr, bug #?
   - Sudo bug w/ getting /etc/environment
   - Dbus-activated (and upstart) services not getting environment
 - Testing
   - A testing setup has been made already (see work items)
 - Location for proxy settings
   - Auth data in keyring?
   - Gsettings fields for proxy hosts, auth, ports, & exclusions
 - Network device to proxy all traffic - possibly useful, should be discussed upstream, doesn't replace per-app proxy settings but can be very useful for apps that don't currently have this support
 - Use cases for proxy
   - Ubuntu One have a survey about usage (types, auth, etc.) http://blog.protocultura.net/post/12660278531/u1-proxy-support

 - mathieu-tl to fold proxy settings into NM (winning for free per-connection proxy settings) -- this is a work item in foundations-q-networking

Status for applications:
 - Browsers:
   - Firefox
   - Chromium, etc.
 - Gnome:
  - glib-networking
  - libsoup
    - depend on the settings from gnome-control-center
 - Unity:
   - LENSES: dbus-activated, so likely to fail (see above)
 - Software-center:
   - httplib2
 - Launchpadlib:
   - python-lazr.restfulclient

---

User Stories:
John works in a large company where Internet access is carefully monitored and requires going through a proxy. He needs to be able to use his browser, and any other applications from the default CD.

Yann works in the same company as John and happens to contribute to Ubuntu. To be able to use his system and spend some of his time contributing, he requires to be able to access to GPG servers, extra repositories, etc; which are all already allowed through the proxy server.

Assumptions:
Proxy support is inherently a per-application thing, and highly dependent on libraries used by programs to retrieve data on the network.
Careful testing of the default install will lead to identifying some of the most crippling issues with using proxies.

Test Plans:

1) HTTP/HTTPS proxy:
Browsers, command-line applications for data retrieval (wget, etc.), software-center and others must be able to download data, new applications, etc.

2) SOCKS:
GnuPG and/or seahorse should be able to retrieve GPG keys.

3) Configuration:
Setting proxy configurations in GNOME should properly apply to any newly started application.

Further notes:

2012-08-31; mathieu-tl:
- Proxy setup documentation done; available at https://wiki.ubuntu.com/Testing/Proxy.

(?)

Work Items

Work items:
[cyphermox] ask Chipaca (UTC) and/or mandel (UTC+1) about the proxy testing setup: DONE
[cyphermox] Send call for testing for proxy support in applications to ubuntu-devel: DONE
[cyphermox] Test various proxy settings, identify low-hanging fruit, opportunities (for the default desktop): DONE
[cyphermox] Define bug triaging strategy for proxy issues (new tag, etc.): POSTPONED
[cyphermox] Document standard proxy setups, how to get the configuration done: DONE