Proxy support

Registered by Jason Warner

We started discussing proxy support in Ubuntu last cycle [1]. Keeping
in line and expanding on that discussion (and really, taking back some
of the work items from there), we should spend some time working with
upstream NetworkManager to properly fold in proxy into NetworkManager
connections for the desktop.

Per-connection proxy support has been in TODO/roadmap for
NetworkManager for a little while now; I think we'd benefit from
seeing this to completion.

Basically, this would mean:
 - Adding the necessary sections in NM config files for connections to
describe proxy settings.
 - Moving/reworking proxy code elsewhere in GNOME to a "proxy manager"
in NetworkManager.
 - Adding the necessary UI bits to nm-applet, as an extra tab for connections.
 - Testing, testing, testing.

Proxy settings tend to be highly location-dependant, which is why it
makes sense to tie them to connections, which also change depending on
where a computer is located. This would make the life of mobile
workers easier, since they could use a proxy automatically when logged
in to their "work" wifi connections, and disabling it automatically
when they go home...

We should also more generally discuss the current state of proxy
support in Ubuntu and what has improved from last cycle, the next
steps. etc.

In line with testing and with the documentation I started [2], we may
also want to spend time setting up the necessary infrastructure for
testing proxy support automatically.

[1] https://blueprints.launchpad.net/ubuntu/+spec/desktop-q-full-proxy-support
[2] https://wiki.ubuntu.com/Testing/Proxy

Blueprint information

Status:
Not started
Approver:
Sebastien Bacher
Priority:
Low
Drafter:
Mathieu Trudel-Lapierre
Direction:
Needs approval
Assignee:
Mathieu Trudel-Lapierre
Definition:
Approved
Series goal:
Accepted for raring
Implementation:
Unknown
Milestone target:
milestone icon ubuntu-13.04-beta-1

Related branches

Sprints

Whiteboard

[mpt] See also <https://blueprints.launchpad.net/ubuntu/+spec/foundations-r-networking>.

- Ability to set up proxies in the UI
- Ability for application developers to connect to the Internet without worrying about proxies
  - We'll know we've succeeded when:
    - Ubuntu One client doesn't use its own proxy authentication dialog any more
    - the Polly developer is happy :-)
- Eliminate situations where applications ignore proxy settings
- Ability for developers and triagers to test proxy variations
  - http://ur1.ca/aqhsw
Proxy support
- How g-c-c handles PAC, and providing PAC data to command-line applications
apt might want to speak to NM directly to get the information, there probably should be a way to query proxy data directly from NM over dbus for applications
how to handle multiple connections: using the proxy setup for the connection that owns the default gateway
- Testing
- Other things that are broken right now
- Making it easier for users (NM integration ?)
- Are we considering DE-independence? I think the gsettings schema for proxy settings is installed only if GNOME itself is installed
 - Yes, via /etc/environment, and because NM itself would save proxy settings in connection files with other connection data.

mathieu-tl, 2013-03-19:
marking the proxy tasks all postponed -- we're focusing on mobile, and it seems as though there is interest upstream in NM to do the proxy development, whereas I can't really spend time on it at this point. It will definitely come back later if it isn't relatively quickly implemented by NM upstream.

(?)

Work Items

Work items:
[cyphermox] as a first pass; implement status quo from g-c-c into NM: POSTPONED
[cyphermox] provide dbus api for querying proxy settings: POSTPONED
[cyphermox] investigate getting pac to command-line apps: POSTPONED
[cyphermox] investigate two-factor auth for proxy: POSTPONED