mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-25 01:20:07 +01:00
TODO: Remove Proxies from the list of TODO
Remove Proxies from the list once proxy patches are successfully merged.
This commit is contained in:
parent
2cb75e08d6
commit
3ef7d316f6
2 changed files with 1 additions and 59 deletions
59
TODO
59
TODO
|
|
@ -245,65 +245,6 @@ because the user has no physical access to the router itself, but has been given
|
||||||
as passphrase/PSK instead.
|
as passphrase/PSK instead.
|
||||||
|
|
||||||
|
|
||||||
* Proxies
|
|
||||||
|
|
||||||
HTTP and other proxies are per-connection configuration. It's highly unlikely
|
|
||||||
that the same proxy you need to use at work is used at home or in a coffee shop.
|
|
||||||
Thus, it makes sense that which proxy settings to use should be updated when
|
|
||||||
network connections change. NetworkManager is a perfect place to do this since
|
|
||||||
it tracks which network connections are active, and it already queries the
|
|
||||||
network for automatic proxy configuration via DHCP and WPAD.
|
|
||||||
|
|
||||||
However, proxy handling is complicated and may require use of Javascript to
|
|
||||||
parse PAC files provided by WPAD, and this is not something NetworkManager
|
|
||||||
should do itself. Instead, that should be left to "proxy handlers", or external
|
|
||||||
utilities like libproxy or pacrunner that take raw proxy information, parse it,
|
|
||||||
and tell applications what proxy server to use for a specific network resource.
|
|
||||||
NetworkManager should provide all the proxy information it can find to these
|
|
||||||
external proxy handlers via the D-Bus interface and dispatcher scripts.
|
|
||||||
|
|
||||||
We should add a new NMSetting subclass called NMSettingProxy that holds
|
|
||||||
necessary proxy configuration. The properties of this setting should be a
|
|
||||||
superset of what is provided in the Firefox proxy configuration screen and the
|
|
||||||
various desktop environment proxy configuration tools like the GNOME Network
|
|
||||||
Proxy control panel; this should include at a minimum:
|
|
||||||
|
|
||||||
method: "auto", "manual", "none"
|
|
||||||
default-proxy: string
|
|
||||||
default-proxy-port: uint
|
|
||||||
default-always: boolean (use default proxy for all protocols)
|
|
||||||
ssl-proxy: string
|
|
||||||
ssl-proxy-port: uint
|
|
||||||
ftp-proxy: string
|
|
||||||
ftp-proxy-port: uint
|
|
||||||
socks-proxy: string
|
|
||||||
socks-proxy-port: uint
|
|
||||||
socks-version: uint, either 4 or 5
|
|
||||||
no-proxy-for: array of strings (things not to use the proxy for, ie ".foobar.com",
|
|
||||||
"192.168.0.1/24", an IPv6 address, etc)
|
|
||||||
pac-url: string (URL of PAC file, overrides DHCP-provided WPAD value)
|
|
||||||
(FIXME: proxy authentication? do we need separate user/pass properties for
|
|
||||||
each protocol type? should NM handle proxy auth or should it be punted
|
|
||||||
to each application?)
|
|
||||||
|
|
||||||
After completing IP configuration but still during the NM_DEVICE_STATE_IP_CONFIG
|
|
||||||
activation stage, NetworkManager would merge the automatically supplied proxy
|
|
||||||
configuration (from DHCP's WPAD option) with user-provided overrides from the
|
|
||||||
NMSettingProxy export the resulting proxy configuration via D-Bus and dispatcher
|
|
||||||
scripts. The 'default' connection's proxy configuration would be preferred, so
|
|
||||||
we'd have to update proxy configuration from nm-policy.c the same time we update
|
|
||||||
DNS information and the default route.
|
|
||||||
|
|
||||||
Merged proxy information should be exposed in two places. First, it should be
|
|
||||||
exported over D-Bus as a property of the org.freedesktop.NetworkManager.Device
|
|
||||||
interface. This property should be named "ProxyInfo" and should have the
|
|
||||||
D-Bus signature "a{sv}" (eg, dictionary) and should mirror the properties from
|
|
||||||
the NMSettingProxy object.
|
|
||||||
|
|
||||||
Second, it should be exported via the dispatcher to dispatcher scripts when
|
|
||||||
with the "up" and "down" events.
|
|
||||||
|
|
||||||
|
|
||||||
* Better Tablet/Mobile Behavior
|
* Better Tablet/Mobile Behavior
|
||||||
|
|
||||||
There are a few components to this:
|
There are a few components to this:
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
libnm-core/nm-setting-proxy.c
|
||||||
data/NetworkManager.service.in
|
data/NetworkManager.service.in
|
||||||
examples/python/NetworkManager.py
|
examples/python/NetworkManager.py
|
||||||
examples/python/systray/eggtrayicon.c
|
examples/python/systray/eggtrayicon.c
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue