Review Request: Add systemwide connection support for NM 0.8

Andrey Borzenkov arvidjaar at gmail.com
Fri Mar 25 19:43:50 CET 2011


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

Review request for Network Management.


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.


Diffs
-----

  applet/networkmanager.cpp f60c55041076184d8e5e195d15424905f18c1468 
  backends/NetworkManager/CMakeLists.txt f6ff3720f293b0e1acc59a08a06bd9504af5d933 
  backends/NetworkManager/connectiondbus.h 428429bf6cb2bba1173ccbeddf6c9b5b8d4817ad 
  backends/NetworkManager/connectiondbus.cpp 4a142e9b23dc7de217377e29ad2b8a3fbcf64422 
  backends/NetworkManager/generateDbusAdapters.sh 58f2e006a937b6284bbf8b4c48c7acda38cc5075 
  backends/NetworkManager/nm-exported-connection-secrets-interface.h PRE-CREATION 
  backends/NetworkManager/nm-exported-connection-secrets-interface.cpp PRE-CREATION 
  backends/NetworkManager/nmdbussettingsconnectionprovider.h 3245f84e850fd5de0fea802207663acd7da77737 
  backends/NetworkManager/nmdbussettingsconnectionprovider.cpp b7996941296708518042ed192a3d58430ff50aae 
  backends/NetworkManager/settings/802-11-wireless-securitydbus.cpp 46671034114d626a38f89bf9056680daacf3ec73 
  backends/NetworkManager/settings/802-11-wirelessdbus.cpp 05bc049bb031c301d61d8c4c7b7314f428d6ca97 
  backends/NetworkManager/settings/802-1xdbus.cpp 0707ee2354d2207da2cc13ad96fd9b77b887ac71 
  backends/NetworkManager/settings/gsmdbus.cpp 9912df6eee8908bcf407b5fb26e91fca8afd52f3 
  backends/NetworkManager/settings/ipv4dbus.cpp f77d421039e03953c04fe228a7b66b5c7033592d 
  backends/NetworkManager/settings/pppoedbus.cpp e889177d0963214e4278c0b1a6adfbd959e560bf 
  libs/client/remoteactivatablelist.cpp 035531fc21a073dbafe2f191ae8114d7b0761625 
  libs/internals/connection.h 8c6978270213d3dfe491f4478253379f3c5cc0fb 
  libs/internals/connection.cpp fdf34314894f60ca9b4311ebc1d02e40745efda4 
  libs/internals/connectionpersistence.cpp 7c52bb14b5f351fef74328c76bf4a26f3cc8f515 
  libs/internals/settings/802-11-wireless-security.h a9328bb1af579013ee1184c3e4935ef87e1735e1 
  libs/internals/settings/802-11-wireless-security.cpp a803c61b7022c604e129cd1014b72348526559e0 
  libs/internals/settings/802-11-wireless.h 12839800c4256d5a05a8f70cab4a2aa5e35914d7 
  libs/internals/settings/802-1x.cpp f3bdb3724b043270196aebacf90b8cac85f9f8ea 
  libs/internals/settings/802-3-ethernet.h 24d64a2dd0888bd19f57d2e5e4af45a172ad13d5 
  libs/internals/settings/gsm.h b380af09ab419059d344c3856415b2b446314f12 
  libs/internals/settings/gsmpersistence.cpp ce87fbe9a05a2bed8ab12bd9cd36bdfb44ad2e8a 
  libs/ui/802_11_wirelesswidget.cpp b654bc42aad578bbee83eea7ca8d856744ebe020 
  libs/ui/cdmaconnectioneditor.h b3e53d3414ee6b27b75a5afeee7df7b90768058d 
  libs/ui/cdmaconnectioneditor.cpp f12638e2cd98903f97c323c7420a28c783ba3c9a 
  libs/ui/connection.ui b6e9bb7390a931bdfc45b15a835d117a0242f191 
  libs/ui/connectioneditor.h 423de5a393a88f20818ddf790678eb2e38d7439d 
  libs/ui/connectioneditor.cpp e8831d59b182fd0198bd0f7ff292f10347b857be 
  libs/ui/connectionprefs.h 4a36dfadda71f5fae820480bbaa8fc74d6b72e6b 
  libs/ui/connectionprefs.cpp f532dbb4b97e069e8f7be69311d8eff094127e6b 
  libs/ui/connectionsecretsjob.cpp 80f5ca6402db0e7ccd7142ceacc11d2a15ba5459 
  libs/ui/connectionwidget.cpp 47daa17979305577322f01d48a4f107894df7d1c 
  libs/ui/gsm.ui eeaaa41281cd383f7d7adeda07dd6d4c63c1c97e 
  libs/ui/gsmconnectioneditor.h 2a3ccb1bab86f73158a2f8c384d50ca8dd7af1d5 
  libs/ui/gsmconnectioneditor.cpp 5a26c7ce3b1fad946b065fced45ed4dc7cb207ef 
  libs/ui/gsmwidget.cpp 6c266baee3a1d593cb3701ded5f3c4315b2c34e6 
  libs/ui/networkmanagement_vpnuiplugin.desktop 695cb6d65745a7d317b79140755acd8a9929d179 
  libs/ui/pppoepreferences.h 6f391506f4d30008e82041a923e5dde107134a84 
  libs/ui/pppoepreferences.cpp 0cabcd0ae5e2548132271311f5f0defd7aa797e3 
  libs/ui/security/eapmethodstack.h 552f5c9d0a1de16879f3e9c804ebe6faeaf7363e 
  libs/ui/security/eapmethodstack.cpp e89e8874af86661c1bece00c97068fb100eba524 
  libs/ui/security/nullsecuritywidget.h a0faa4643e4a9c0841313170364a0d2c489f70ef 
  libs/ui/security/nullsecuritywidget.cpp 5edc5cd2b2459c38ab0d2e1201951f445d8f2f83 
  libs/ui/security/securityeap.h 26ed2035bcdaec977ae4453a2cd470061e37838e 
  libs/ui/security/securityeap.cpp db35037ceb4653b7de34734509dffbaed307d0a8 
  libs/ui/security/securityleap.h 5d9b0341c2ae724f297c893e7246b7264709810f 
  libs/ui/security/securityleap.cpp 95ba530a92f9d1aa083c82505904fe3c57ec52d5 
  libs/ui/security/securitywidget.h 71ebf4aede355a8434a3cc06e71fc19dcd12fba4 
  libs/ui/security/securitywidget.cpp 53cdc5e7ffe98152c9f95191bd788ae9970987e4 
  libs/ui/security/securitywidget_p.h 6ec8d9c2dcfe367647c12bff6f3e2491b0a6388d 
  libs/ui/security/wepwidget.h e78338c6bb79dd5de4bf529b39b8fd4a62c87738 
  libs/ui/security/wepwidget.cpp 88b422f4df9dd1631e147f33c137aa210bfe03ee 
  libs/ui/security/wirelesssecuritysettingwidget.cpp 6fff4a6a017534b593e8e1281c0c34a24786bb96 
  libs/ui/security/wpapskwidget.h 70778367a6b5d8db9b2248437730f2316f572450 
  libs/ui/security/wpapskwidget.cpp d2d221d196da3304d91cc45105bbdaed1fd2b813 
  libs/ui/vpnpreferences.h 39dd52b7f5414138fc8bfa1e80f08cbf8cb2414c 
  libs/ui/vpnpreferences.cpp 5274d14f734d0e42481487df6147c760b7f4141c 
  libs/ui/wiredpreferences.h 59b4f16574f2ad317bdc27a3d842e04f1caed1f7 
  libs/ui/wiredpreferences.cpp 60b79327bdf7bca44609d62efd969711315f42ed 
  libs/ui/wiredwidget.cpp 2229f74469e1a9dad7c448dcf55a6651b5796f48 
  libs/ui/wirelesspreferences.h 5d6a30c33809a7897d9667d58431d0fe630e5c6b 
  libs/ui/wirelesspreferences.cpp 7f901c272c3371fe920f4c790d6158502fc10b62 
  settings/config/CMakeLists.txt 0d4cd0020e80de765869a84363267a581893ba13 
  settings/config/manageconnectionwidget.h c0fccd9b6b987300a5df854581a1698cd88df956 
  settings/config/manageconnectionwidget.cpp 78909e0a2e5c5f1e52413061b2ac4dcd767baff6 
  settings/config/managetraywidget.cpp 38680ce8b73d587e683df0af0da28b0c971d0434 
  settings/config/mobileproviders.cpp 1ef26fcddeded9e612571a3fd4d1e0771e763bce 
  settings/configshell/CMakeLists.txt d900ae726783ff416bbe7d5dababdec32217de15 
  settings/configshell/main.cpp 43248e21d1b99b7e591664315968819fa75a798b 
  vpnplugins/novellvpn/networkmanagement_novellvpnui.desktop 6bc2b5671d8ae531afb8717726de34757e75e660 
  vpnplugins/openvpn/networkmanagement_openvpnui.desktop 33b2b893bfcaad3e8343aa1dc10a5c3aa0f7afe6 
  vpnplugins/pptp/networkmanagement_pptpui.desktop 95a6bf7e76f3fa649a4763f482d7bd5b75181086 
  vpnplugins/strongswan/networkmanagement_strongswanui.desktop a5b016eb31ce8e4345292d25a8e36762cb7fe70b 
  vpnplugins/vpnc/networkmanagement_vpncui.desktop b4081121a5684a9154500e0e6f64442ea6f21417 

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/20110325/52e6a240/attachment.htm 


More information about the kde-networkmanager mailing list