Review Request: Add systemwide connection support for NM 0.8

Andrey Borzenkov arvidjaar at gmail.com
Wed Mar 30 20:04:19 CEST 2011


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/100947/
-----------------------------------------------------------

(Updated March 30, 2011, 6:04 p.m.)


Review request for Network Management.


Changes
-------

523ddcd revert lines swap; no real changes
daaf95d remove empty line, no real changes
ddc123a remove redundant locale catalog request


Summary
-------

The patch is based on work of Gökçen Eraslan and extends it by retrofitting user connections support. Design summary:

kded gets system wide connections from NM org.freedesktop.NetworkManagerSystemSettings and reads user connections directly from disk and exports them via org.freedesktop.NetworkManagerUserSettings

Connections, received from org.freedesktop.NetworkManagerSystemSettings, are marked as having System scope; connections read from disk are marked as having User scope.

KCM module (manage connections widget) does the same. Additionally, it checks whether user marked connection as System connection and forwards it to NM or saves directly on disk.

Plasma applet is not touched and continues to receive activatables list from kded, which is now merged list of system + user connections.

The patch set of Gökçen changed parts of KNM core to act directly on Connection object to handle connections received via D-Bus. My patches additionally move connection storing up from connectioneditor into manageconnectionwidet, so lower code does not need to know whether connection is user or systemwide.

Additionally handling of VPN plugins for systemwide connections (or more general - for connections from D-Bus) is fixed.

As discussed on ml, patch is against current master and includes both Gökçen and my changes. Breakdown is available in my clone repository in branch systemwide.


This addresses bug 204340.
    http://bugs.kde.org/show_bug.cgi?id=204340


Diffs (updated)
-----

  backends/NetworkManager/CMakeLists.txt f6ff372 
  backends/NetworkManager/connectiondbus.h 428429b 
  backends/NetworkManager/connectiondbus.cpp 4a142e9 
  backends/NetworkManager/generateDbusAdapters.sh 58f2e00 
  backends/NetworkManager/nm-exported-connection-secrets-interface.h PRE-CREATION 
  backends/NetworkManager/nm-exported-connection-secrets-interface.cpp PRE-CREATION 
  backends/NetworkManager/nmdbussettingsconnectionprovider.h 3245f84 
  backends/NetworkManager/nmdbussettingsconnectionprovider.cpp b799694 
  backends/NetworkManager/settings/802-11-wireless-securitydbus.cpp 4667103 
  backends/NetworkManager/settings/802-11-wirelessdbus.cpp 05bc049 
  backends/NetworkManager/settings/802-1xdbus.cpp 0707ee2 
  backends/NetworkManager/settings/gsmdbus.cpp 9912df6 
  backends/NetworkManager/settings/ipv4dbus.cpp f77d421 
  backends/NetworkManager/settings/pppoedbus.cpp e889177 
  libs/client/remoteactivatablelist.cpp 035531f 
  libs/internals/connection.h 8c69782 
  libs/internals/connection.cpp fdf3431 
  libs/internals/connectionpersistence.cpp 7c52bb1 
  libs/internals/settings/802-11-wireless-security.h a9328bb 
  libs/internals/settings/802-11-wireless-security.cpp a803c61 
  libs/internals/settings/802-11-wireless-securitypersistence.cpp f223d92 
  libs/internals/settings/802-11-wireless.h 1283980 
  libs/internals/settings/802-1x.cpp f3bdb37 
  libs/internals/settings/802-3-ethernet.h 24d64a2 
  libs/internals/settings/gsm.h b380af0 
  libs/internals/settings/gsmpersistence.cpp ce87fbe 
  libs/service/connectionlistpersistence.cpp b90e8cf 
  libs/ui/802_11_wirelesswidget.cpp b654bc4 
  libs/ui/cdmaconnectioneditor.h b3e53d3 
  libs/ui/cdmaconnectioneditor.cpp f12638e 
  libs/ui/connection.ui b6e9bb7 
  libs/ui/connectioneditor.h 423de5a 
  libs/ui/connectioneditor.cpp e8831d5 
  libs/ui/connectionprefs.h 4a36dfa 
  libs/ui/connectionprefs.cpp f532dbb 
  libs/ui/connectionsecretsjob.cpp fce537a 
  libs/ui/connectionwidget.cpp 47daa17 
  libs/ui/gsm.ui eeaaa41 
  libs/ui/gsmconnectioneditor.h 2a3ccb1 
  libs/ui/gsmconnectioneditor.cpp 5a26c7c 
  libs/ui/gsmwidget.cpp 82e015a 
  libs/ui/networkmanagement_vpnuiplugin.desktop 695cb6d 
  libs/ui/pppoepreferences.h 6f39150 
  libs/ui/pppoepreferences.cpp 0cabcd0 
  libs/ui/security/eapmethodstack.h 552f5c9 
  libs/ui/security/eapmethodstack.cpp e89e887 
  libs/ui/security/nullsecuritywidget.h a0faa46 
  libs/ui/security/nullsecuritywidget.cpp 5edc5cd 
  libs/ui/security/securityeap.h 26ed203 
  libs/ui/security/securityeap.cpp db35037 
  libs/ui/security/securityleap.h 5d9b034 
  libs/ui/security/securityleap.cpp 95ba530 
  libs/ui/security/securitywidget.h 71ebf4a 
  libs/ui/security/securitywidget.cpp 53cdc5e 
  libs/ui/security/securitywidget_p.h 6ec8d9c 
  libs/ui/security/wepwidget.h e78338c 
  libs/ui/security/wepwidget.cpp 88b422f 
  libs/ui/security/wirelesssecuritysettingwidget.cpp 6fff4a6 
  libs/ui/security/wpapskwidget.h 7077836 
  libs/ui/security/wpapskwidget.cpp d2d221d 
  libs/ui/vpnpreferences.h 39dd52b 
  libs/ui/vpnpreferences.cpp 5274d14 
  libs/ui/wiredpreferences.h 59b4f16 
  libs/ui/wiredpreferences.cpp 60b7932 
  libs/ui/wiredwidget.cpp 2229f74 
  libs/ui/wirelesspreferences.h 5d6a30c 
  libs/ui/wirelesspreferences.cpp 7f901c2 
  monolithic/tooltipbuilder.cpp a09734a 
  settings/config/CMakeLists.txt 0d4cd00 
  settings/config/manageconnectionwidget.h c0fccd9 
  settings/config/manageconnectionwidget.cpp 15a6251 
  settings/config/managetraywidget.cpp 38680ce 
  settings/config/mobileproviders.cpp 1ef26fc 
  settings/configshell/CMakeLists.txt d900ae7 
  settings/configshell/main.cpp 43248e2 
  vpnplugins/novellvpn/networkmanagement_novellvpnui.desktop 6bc2b56 
  vpnplugins/openvpn/networkmanagement_openvpnui.desktop 33b2b89 
  vpnplugins/pptp/networkmanagement_pptpui.desktop 95a6bf7 
  vpnplugins/strongswan/networkmanagement_strongswanui.desktop a5b016e 
  vpnplugins/vpnc/networkmanagement_vpncui.desktop b408112 

Diff: http://git.reviewboard.kde.org/r/100947/diff


Testing
-------

I am using it myself and am able to see and use system connections. User connections work as well (tested with VPN). Creation of user connections work; system connections not tested so far. According to information I got system connections were successfully used by at least one distribution.


Thanks,

Andrey

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/kde-networkmanager/attachments/20110330/68df92a5/attachment.htm 


More information about the kde-networkmanager mailing list