{"push_id":930025503,"size":12,"distinct_size":2,"ref":"refs/heads/lr/default-unmanaged-bgo746566","head":"6b7228b3b06b91a2cead485d7c52344fc1b01a98","before":"e3094011c74fedc0d9c5cc82b118454f23d73111","commits":[{"sha":"4c6b991bb04210d98878e2b0fb106deb3dfbb865","author":{"email":"16e26612e4159990a6b3691e92592e691ff74132@redhat.com","name":"Thomas Haller"},"message":"device: move implementation of NMDevice:setup_start() to realize_start_setup()\n\nAll implementations of NMDevice:setup_start() in derived classes\ninvoke the parent implementation first. Enforce that by moving\nNMDevice:setup_start() to realize_start_setup() and only notify\nderived classes afterwards via NMDevice:realize_start_notify().","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/4c6b991bb04210d98878e2b0fb106deb3dfbb865"},{"sha":"492691dfb2e4f839b30bc693e7a2756facb9e3ca","author":{"email":"16e26612e4159990a6b3691e92592e691ff74132@redhat.com","name":"Thomas Haller"},"message":"device: remove unneeded implementations of realize()\n\nThe virtual function NMDevice:realize() is only called by\nnm_device_realize() and immediately followed by nm_device_setup_start().\n\nDevices already overwrite setup_start_notify() to update their properties.\nNo need to duplicate that in realize().","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/492691dfb2e4f839b30bc693e7a2756facb9e3ca"},{"sha":"225ce48b8ad37029cee0bddac4575e44755ccfb7","author":{"email":"16e26612e4159990a6b3691e92592e691ff74132@redhat.com","name":"Thomas Haller"},"message":"device/vlan: remove unreachable code from realize()\n\nplnk->id is unsigned. It cannot be negative.","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/225ce48b8ad37029cee0bddac4575e44755ccfb7"},{"sha":"eee00a8355108130c680e4df9c3c1eb0979d88ae","author":{"email":"16e26612e4159990a6b3691e92592e691ff74132@redhat.com","name":"Thomas Haller"},"message":"device/vlan: refactor handling platform properties for NMDeviceVlan\n\nExtract a function update_properties() similar to other device\nimplementations. It reads the device specific data from platform\nand raises property-changed notifications.\n\nupdate_properties() is now called by realize_start_notify().\nNMDeviceVlan:realize() -- which previously implemented something like\nupdate_properties() -- now does nothing. Note that previously\nrealize() might have failed, but this is different from other device\nimplementations and it was unclear what a failure really meant.\nOk, it might fail because the link was not found in the platform cache.\nBut other implementations don't check that either, so why vlan? And\nhow to handle that properly anyway?\nTherefore realize()'s implementation is no longer needed because\nnm_device_realize() already calls realize_start_setup(), which\ncalls realize_start_notify() and update_properties().\n\nupdate_connection() no longer refreshes the device properties.\nInstead it only modifies the passed-in NMConnection. It's a bit\nugly that update_connection() uses both cached properties from\nNMDeviceVlan (vlan_id) and platform properties (xgress maps).\nAlso, update_connection() doesn't return early on error but continues\ntrying to update the NMConnection. The reason is that update_connection()\ncannot return a failure status.","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/eee00a8355108130c680e4df9c3c1eb0979d88ae"},{"sha":"169c5b7a525d3ebf6f203db5a248fd92438b6040","author":{"email":"16e26612e4159990a6b3691e92592e691ff74132@redhat.com","name":"Thomas Haller"},"message":"device: remove unused virtual function NMDevice:realize()\n\nThe idea of NMDevice:realize() was to\n  (1) update the device properties\n  (2) fail realization if some critical properties are missing\n\n(1) is already done during nm_device_setup_start().\n(2) was only implemented by NMDeviceVlan:realize(), but it\nbasically was just checking whether such a platform device exists.\nOther implementations don't do that either and it opens up for a race\nwhen the device gets deleted externally.","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/169c5b7a525d3ebf6f203db5a248fd92438b6040"},{"sha":"633e105455516f0f8a53a59d6ea15e5abe6d03cd","author":{"email":"16e26612e4159990a6b3691e92592e691ff74132@redhat.com","name":"Thomas Haller"},"message":"device/trivial: rename realize/setup function in NMDevice","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/633e105455516f0f8a53a59d6ea15e5abe6d03cd"},{"sha":"2550850f54164c46f746a6f3a768e29f09961b10","author":{"email":"16e26612e4159990a6b3691e92592e691ff74132@redhat.com","name":"Thomas Haller"},"message":"device: pass NMPlatformLink instance as const pointer","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/2550850f54164c46f746a6f3a768e29f09961b10"},{"sha":"ec3613f27c30bfbd0cf1f2c55b1afd5b520dc7de","author":{"email":"16e26612e4159990a6b3691e92592e691ff74132@redhat.com","name":"Thomas Haller"},"message":"device/trivial: rename virtual function NMDevice:unrealize() to unrealize_notify()","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/ec3613f27c30bfbd0cf1f2c55b1afd5b520dc7de"},{"sha":"a602b18f74e17d479aa5690c861172707571bd60","author":{"email":"16e26612e4159990a6b3691e92592e691ff74132@redhat.com","name":"Thomas Haller"},"message":"device: refactor virtual function NMDevice:unrealize_notify() to only clear properties\n\nChange the meaning of unrealize_notify() similar to realize_start_notify(),\nwhich only resets device properites during unrealize.","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/a602b18f74e17d479aa5690c861172707571bd60"},{"sha":"61f400ac0361d72308db772fd94cb191aefc620d","author":{"email":"16e26612e4159990a6b3691e92592e691ff74132@redhat.com","name":"Thomas Haller"},"message":"core/device: merge branch 'th/device-realize-bgo760450'\n\nhttps://bugzilla.gnome.org/show_bug.cgi?id=760450","distinct":false,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/61f400ac0361d72308db772fd94cb191aefc620d"},{"sha":"d8384aa8e647b9eb77ea38c53981098b0b503f2f","author":{"email":"16e26612e4159990a6b3691e92592e691ff74132@redhat.com","name":"Thomas Haller"},"message":"trivial: fix whitespace","distinct":true,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/d8384aa8e647b9eb77ea38c53981098b0b503f2f"},{"sha":"6b7228b3b06b91a2cead485d7c52344fc1b01a98","author":{"email":"16e26612e4159990a6b3691e92592e691ff74132@redhat.com","name":"Thomas Haller"},"message":"device: remove default-unmanaged and refactor unamanged flags\n\nGet rid of NM_UNMANAGED_DEFAULT and refine the interaction between\nunmanaged flags, device state and managed property.\n\nPreviously, the NM_UNMANAGED_DEFAULT was special in that a device was\nconsidered managed if it had solely the NM_UNMANAGED_DEFAULT flag set and\nits state was managed. Thus, whether the device was managed, depended\non the device state too -- which is strange, because the state should\ninstead depend on the managed flags.\n\nNow, a device is considered managed (or unmanaged) only based on the\nunmanaged flags alone. At the same time, the device state directly\ncorresponds to the managed property of the device. Of course, while\nchanging the unmanaged flags, that invariant is shortly violated until\nthe state transistion is complete.\n\nIntroduce more unmanaged flags whereas some of them are non-authorative.\nFor example, the EXTERNAL_DOWN flag has only effect as long as the user\ndidn't explicitly manage the device (NM_UNMANAGED_USER_EXPLICIT). In other\nwords, certain flags can render other flags ineffective. Whether the device\nis considered managed depends on the flags but also at the explicitly unset flags.\nIn a way, this is similar to previous where NM_UNMANAGED_DEFAULT was ignored\n(if no other flags were present).\n\nAlso, previously a device that was NM_UNMANAGED_DEFAULT and in disconnected\nstate would transition back to unmanaged.\nNo longer do that. Once a device is managed, it stays managed as long as the\nflags indicate it should be managed. However, the user can already modify the\nunmanaged flags via the D-Bus API.\n\nhttps://bugzilla.gnome.org/show_bug.cgi?id=746566\n\nBased-on-patch-by: Lubomir Rintel <lkundrak@v3.sk>","distinct":true,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/6b7228b3b06b91a2cead485d7c52344fc1b01a98"}]}