Review Request: Add systemwide connection support for NM 0.8

Andrey Borzenkov arvidjaar at gmail.com
Wed Mar 30 07:50:59 CEST 2011



> On March 29, 2011, 2:55 a.m., Lamarque Vieira Souza wrote:
> > applet/networkmanager.cpp, line 232
> > <http://git.reviewboard.kde.org/r/100947/diff/3/?file=13048#file13048line232>
> >
> >     I think notice in this patch is that it writes the wireless encryption keys in kwallet using the suffix 802-1x instead of 802-11-wireless-security. Is that really necessary? Users will have to re-enter all their encryption keys because of this change.
> >     
> >     Even if it is really necessary it would great if we could automatically rename the kwallet entry to avoid users re-entering the keys.

Do you mean this one?

commit f91f6698a5e861b9dbdfc9144e306800bfb0686f
Author: Gökcen Eraslan <gokcen at pardus.org.tr>
Date:   Mon Nov 29 14:29:51 2010 +0000

    Fix Dynamic WEP (ieee802.1x)connections.
    
    If user selects Dynamic WEP, we should use Ieee8021x as key-mgmt value[1], not wpa-eap.
    
    [1] http://projects.gnome.org/NetworkManager/developers/settings-spec-08.html

Well ... this appears to be bug fix indeed. It does not affect secrets store, just single parameter that is returned. I am rather reluctant to change anything as I cannot test it myself; unless there is but report we can assume nobody ever used it :)

But WEP case was broken indeed (secrets were never saved), should be fixed in next patch version.

BTW 802.1x is always added although it is disabled ... probably it should check whether it is enabled in the first place before returning secrets.


> On March 29, 2011, 2:55 a.m., Lamarque Vieira Souza wrote:
> > backends/NetworkManager/nmdbussettingsconnectionprovider.cpp, line 137
> > <http://git.reviewboard.kde.org/r/100947/diff/2/?file=12954#file12954line137>
> >
> >     Should not you pass the object path here?

No, that is really just "something happened". It is used only in manageconnectionwidget to refresh connections list in UI, and it does it by completely rebuilding from scratch, so object is useless.

[Hmm ... was it never published?]

Replying to your other comment - I suggest to wait until at least one more consumer appears before changing it. In this case we probably want to signal actual event (i.e. connectionAdded, connectionRemoved etc), not just "something happened with this connection".


- Andrey


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


On March 29, 2011, 7:36 p.m., Andrey Borzenkov wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/100947/
> -----------------------------------------------------------
> 
> (Updated March 29, 2011, 7:36 p.m.)
> 
> 
> 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.
> 
> 
> This addresses bug 204340.
>     http://bugs.kde.org/show_bug.cgi?id=204340
> 
> 
> 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-securitypersistence.cpp f223d92213d33fc1970e6f153a8e84accd2350b3 
>   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/service/connectionlistpersistence.cpp b90e8cf3bb866445b81b03ec8a28475cd36df309 
>   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 fce537afe3f8e598d556733e18560c8aa803919d 
>   libs/ui/connectionwidget.cpp 47daa17979305577322f01d48a4f107894df7d1c 
>   libs/ui/gsm.ui eeaaa41281cd383f7d7adeda07dd6d4c63c1c97e 
>   libs/ui/gsmconnectioneditor.h 2a3ccb1bab86f73158a2f8c384d50ca8dd7af1d5 
>   libs/ui/gsmconnectioneditor.cpp 5a26c7ce3b1fad946b065fced45ed4dc7cb207ef 
>   libs/ui/gsmwidget.cpp 82e015a9206ce3c1167e5728eaa1dd8959230d94 
>   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 
>   monolithic/tooltipbuilder.cpp a09734a5d5f17ddebd679dc3941b1ef232a87b74 
>   settings/config/CMakeLists.txt 0d4cd0020e80de765869a84363267a581893ba13 
>   settings/config/manageconnectionwidget.h c0fccd9b6b987300a5df854581a1698cd88df956 
>   settings/config/manageconnectionwidget.cpp 15a6251f086a679e26eb212697c004de2b532ebd 
>   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/20110330/f2ad4b69/attachment-0001.htm 


More information about the kde-networkmanager mailing list