From Fedora Project Wiki
No edit summary
No edit summary
Line 1: Line 1:
==Integrate Proxy Settings with NetworkManager==
'''Integrate Proxy Settings with NetworkManager'''


===Overview===
==Overview==


Currently Proxy Settings are handled separately (by gnome-control-center in gnome) from NetworkManager. However, since proxy settings are connection dependent, they have to be updated as connections get (de-)activated. NetworkManager which handles that is the perfect place to do it.
Currently Proxy Settings are handled separately (by gnome-control-center in gnome) from NetworkManager. However, since proxy settings are connection dependent, they have to be updated as connections get (de-)activated. NetworkManager which handles that is the perfect place to do it.




===Needs Addressed===
==Needs Addressed==


It makes proxy setting configuration and its propagation to all desktop and console processes automated on a per-connection basis instead of the user setting them each time manually on connection changes.
It makes proxy setting configuration and its propagation to all desktop and console processes automated on a per-connection basis instead of the user setting them each time manually on connection changes.
Line 13: Line 13:




===Implementation===
==Implementation==


An NMProxyManager Gobject derivative class will be added to NetworkManager and initialized during start. This new module will expose the proxy settings over DBUS and call relevant executables to set the proxy settings, as connections get activated\deactivated. For settings, an NMSettingProxy subclass of NMSetting has to be implemented.
An NMProxyManager Gobject derivative class will be added to NetworkManager and initialized during start. This new module will expose the proxy settings over DBUS and call relevant executables to set the proxy settings, as connections get activated\deactivated. For settings, an NMSettingProxy subclass of NMSetting has to be implemented.




===Timeline===
==Timeline==


*Implement NMSettingProxy
*Implement NMSettingProxy
Line 28: Line 28:




===Current Progress===
==Current Progress==
 
[This section is changing continuously.]
 
*

Revision as of 14:40, 28 April 2013

Integrate Proxy Settings with NetworkManager

Overview

Currently Proxy Settings are handled separately (by gnome-control-center in gnome) from NetworkManager. However, since proxy settings are connection dependent, they have to be updated as connections get (de-)activated. NetworkManager which handles that is the perfect place to do it.


Needs Addressed

It makes proxy setting configuration and its propagation to all desktop and console processes automated on a per-connection basis instead of the user setting them each time manually on connection changes.

Relevant Experience: I understand the D-BUS architecture and NetworkManager's code base. I have also thoroughly investigated how applications (of gnome, kde and terminal) seek proxy information as a first step. That said, I understand the concepts of networking and can effortlessly read and write programs in C\C++\bash.


Implementation

An NMProxyManager Gobject derivative class will be added to NetworkManager and initialized during start. This new module will expose the proxy settings over DBUS and call relevant executables to set the proxy settings, as connections get activated\deactivated. For settings, an NMSettingProxy subclass of NMSetting has to be implemented.


Timeline

  • Implement NMSettingProxy
  • Implement NMProxyManager and its DBUS Interfaces
  • Write dispatcher scripts (using gsettings, kwriteconfig, profile.d scripts)
  • Make them build-configurable (update Makefiles)
  • Test it on gnome, kde and console applications
  • Send a pull request


Current Progress

[This section is changing continuously.]