luci-mod-network: migrate network config depending on netifd version

Checking netifd version is important for users of the most recent LuCI
that didn't update netifd (e.g. OpenWrt package).

Suggested-by: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit 17af33ee48)
This commit is contained in:
Rafał Miłecki 2021-05-26 13:25:24 +02:00
parent 482fc216ac
commit 3c34c4645b
2 changed files with 8 additions and 3 deletions

View file

@ -294,6 +294,7 @@ return view.extend({
network.getDSLModemType(),
network.getDevices(),
fs.lines('/etc/iproute2/rt_tables'),
fs.read('/usr/lib/opkg/info/netifd.control'),
uci.changes()
]);
},
@ -354,8 +355,11 @@ return view.extend({
},
render: function(data) {
if (this.interfaceWithIfnameSections().length ||
this.deviceWithIfnameSections().length)
var netifdVersion = (data[3] || '').match(/Version: ([^\n]+)/);
if (netifdVersion && netifdVersion[1] >= "2021-05-20" &&
(this.interfaceWithIfnameSections().length ||
this.deviceWithIfnameSections().length))
return this.renderMigration();
var dslModemType = data[0],

View file

@ -5,7 +5,8 @@
"cgi-io": [ "exec" ],
"file": {
"/etc/iproute2/rt_tables": [ "read" ],
"/usr/libexec/luci-peeraddr": [ "exec" ]
"/usr/libexec/luci-peeraddr": [ "exec" ],
"/usr/lib/opkg/info/netifd.control": [ "read" ]
},
"ubus": {
"file": [ "exec" ],