mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager
synced 2024-07-21 02:04:17 +00:00
todo: update item about proxy handling
This commit is contained in:
parent
38d5770f3e
commit
a752a07875
33
TODO
33
TODO
|
@ -264,6 +264,14 @@ 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
|
||||
|
@ -291,22 +299,19 @@ Proxy control panel; this should include at a minimum:
|
|||
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 and send the results to the system. 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.
|
||||
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.
|
||||
|
||||
The merged proxy configuration would then be sent to the system. There is no
|
||||
canonical proxy daemon in-use, so we should have plugins (if not separate
|
||||
shared libraries, then certainly encapsulated source files that implement a
|
||||
common glib GInterface or are subclasses of eg a parent NMProxyHandler class)
|
||||
that handle different system proxy handlers. Some of the proxy handlers are:
|
||||
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.
|
||||
|
||||
libproxy: need to figure out how it gets proxy info and have NM write merged
|
||||
proxy config out to that location
|
||||
pacrunner: a D-Bus enabled daemon, NM would call D-Bus methods of the
|
||||
pacrunner service with the proxy information
|
||||
GNOME/KDE: how do these desktop environments retrieve proxy configuration?
|
||||
Second, it should be exported via the dispatcher to dispatcher scripts when
|
||||
with the "up" and "down" events.
|
||||
|
||||
|
||||
* Better Tablet/Mobile Behavior
|
||||
|
|
Loading…
Reference in a new issue