blob: a6d1abac612c8a405b610b7f138cf77136547ccd [file] [log] [blame]
developere6670672023-10-25 17:01:28 +08001From 85f654326e723173bc1c8329624ecbf75a0f98be Mon Sep 17 00:00:00 2001
2From: mtk27745 <rex.lu@mediatek.com>
3Date: Wed, 25 Oct 2023 16:20:01 +0800
4Subject: [PATCH] rdkb uc script support
5
6---
7 common.uc | 22 ++++++++++++----------
8 hostapd.uc | 6 +++---
9 wdev.uc | 20 ++++++++++----------
10 wpa_supplicant.uc | 4 ++--
11 4 files changed, 27 insertions(+), 25 deletions(-)
12
13diff --git a/common.uc b/common.uc
14index ccffe3e..2b48d3e 100644
15--- a/common.uc
16+++ b/common.uc
17@@ -1,6 +1,6 @@
18 import * as nl80211 from "nl80211";
19 import * as rtnl from "rtnl";
20-import { readfile, glob, basename, readlink } from "fs";
21+import * as fs from "fs";
22
23 const iftypes = {
24 ap: nl80211.const.NL80211_IFTYPE_AP,
25@@ -19,12 +19,14 @@ function __phy_is_fullmac(phyidx)
26 {
27 let data = nl80211.request(nl80211.const.NL80211_CMD_GET_WIPHY, 0, { wiphy: phyidx });
28
29+ if (data == null)
30+ return 1;
31 return !data.software_iftypes.ap_vlan;
32 }
33
34 function phy_is_fullmac(phy)
35 {
36- let phyidx = int(trim(readfile(`/sys/class/ieee80211/${phy}/index`)));
37+ let phyidx = int(trim(fs.readfile(`/sys/class/ieee80211/${phy}/index`)));
38
39 return __phy_is_fullmac(phyidx);
40 }
41@@ -39,14 +41,14 @@ function find_reusable_wdev(phyidx)
42 nl80211.const.NLM_F_DUMP,
43 { wiphy: phyidx });
44 for (let res in data)
45- if (trim(readfile(`/sys/class/net/${res.ifname}/operstate`)) == "down")
46+ if (trim(fs.readfile(`/sys/class/net/${res.ifname}/operstate`)) == "down")
47 return res.ifname;
48 return null;
49 }
50
51 function wdev_create(phy, name, data)
52 {
53- let phyidx = int(readfile(`/sys/class/ieee80211/${phy}/index`));
54+ let phyidx = int(fs.readfile(`/sys/class/ieee80211/${phy}/index`));
55
56 wdev_remove(name);
57
58@@ -96,7 +98,7 @@ function wdev_create(phy, name, data)
59
60 function phy_sysfs_file(phy, name)
61 {
62- return trim(readfile(`/sys/class/ieee80211/${phy}/${name}`));
63+ return trim(fs.readfile(`/sys/class/ieee80211/${phy}/${name}`));
64 }
65
66 function macaddr_split(str)
67@@ -111,7 +113,7 @@ function macaddr_join(addr)
68
69 function wdev_macaddr(wdev)
70 {
71- return trim(readfile(`/sys/class/net/${wdev}/address`));
72+ return trim(fs.readfile(`/sys/class/net/${wdev}/address`));
73 }
74
75 const phy_proto = {
76@@ -221,10 +223,10 @@ const phy_proto = {
77 },
78
79 for_each_wdev: function(cb) {
80- let wdevs = glob(`/sys/class/ieee80211/${this.name}/device/net/*`);
81- wdevs = map(wdevs, (arg) => basename(arg));
82+ let wdevs = fs.glob(`/sys/class/ieee80211/${this.name}/device/net/*`);
83+ wdevs = map(wdevs, (arg) => fs.basename(arg));
84 for (let wdev in wdevs) {
85- if (basename(readlink(`/sys/class/net/${wdev}/phy80211`)) != this.name)
86+ if (fs.basename(fs.readlink(`/sys/class/net/${wdev}/phy80211`)) != this.name)
87 continue;
88
89 cb(wdev);
90@@ -234,7 +236,7 @@ const phy_proto = {
91
92 function phy_open(phy)
93 {
94- let phyidx = readfile(`/sys/class/ieee80211/${phy}/index`);
95+ let phyidx = fs.readfile(`/sys/class/ieee80211/${phy}/index`);
96 if (!phyidx)
97 return null;
98
99diff --git a/hostapd.uc b/hostapd.uc
100index 1bce754..5f5ca35 100644
101--- a/hostapd.uc
102+++ b/hostapd.uc
103@@ -1,5 +1,5 @@
104 let libubus = require("ubus");
105-import { open, readfile } from "fs";
106+import * as fs from "fs";
107 import { wdev_create, wdev_remove, is_equal, vlist_new, phy_is_fullmac, phy_open } from "common";
108
109 let ubus = libubus.connect();
110@@ -562,7 +562,7 @@ function config_add_bss(config, name)
111
112 function iface_load_config(filename)
113 {
114- let f = open(filename, "r");
115+ let f = fs.open(filename, "r");
116 if (!f)
117 return null;
118
119@@ -620,7 +620,7 @@ function iface_load_config(filename)
120 }
121
122 if (hostapd.data.file_fields[val[0]])
123- bss.hash[val[0]] = hostapd.sha1(readfile(val[1]));
124+ bss.hash[val[0]] = hostapd.sha1(fs.readfile(val[1]));
125
126 push(bss.data, line);
127 }
128diff --git a/wdev.uc b/wdev.uc
129index cf438f7..5eb5e3c 100644
130--- a/wdev.uc
131+++ b/wdev.uc
132@@ -1,7 +1,7 @@
133 #!/usr/bin/env ucode
134 'use strict';
135 import { vlist_new, is_equal, wdev_create, wdev_remove, phy_open } from "/usr/share/hostap/common.uc";
136-import { readfile, writefile, basename, readlink, glob } from "fs";
137+import * as fs from "fs";
138 let libubus = require("ubus");
139
140 let keep_devices = {};
141@@ -32,7 +32,7 @@ function iface_start(wdev)
142 {
143 let ifname = wdev.ifname;
144
145- if (readfile(`/sys/class/net/${ifname}/ifindex`)) {
146+ if (fs.readfile(`/sys/class/net/${ifname}/ifindex`)) {
147 system([ "ip", "link", "set", "dev", ifname, "down" ]);
148 wdev_remove(ifname);
149 }
150@@ -89,7 +89,7 @@ function iface_cb(new_if, old_if)
151 function drop_inactive(config)
152 {
153 for (let key in config) {
154- if (!readfile(`/sys/class/net/${key}/ifindex`))
155+ if (!fs.readfile(`/sys/class/net/${key}/ifindex`))
156 delete config[key];
157 }
158 }
159@@ -108,23 +108,23 @@ function delete_ifname(config)
160
161 function add_existing(phy, config)
162 {
163- let wdevs = glob(`/sys/class/ieee80211/${phy}/device/net/*`);
164- wdevs = map(wdevs, (arg) => basename(arg));
165+ let wdevs = fs.glob(`/sys/class/ieee80211/${phy}/device/net/*`);
166+ wdevs = map(wdevs, (arg) => fs.basename(arg));
167 for (let wdev in wdevs) {
168 if (config[wdev])
169 continue;
170
171- if (basename(readlink(`/sys/class/net/${wdev}/phy80211`)) != phy)
172+ if (fs.basename(fs.readlink(`/sys/class/net/${wdev}/phy80211`)) != phy)
173 continue;
174
175- if (trim(readfile(`/sys/class/net/${wdev}/operstate`)) == "down")
176+ if (trim(fs.readfile(`/sys/class/net/${wdev}/operstate`)) == "down")
177 config[wdev] = {};
178 }
179 }
180
181 function usage()
182 {
183- warn(`Usage: ${basename(sourcepath())} <phy> <command> [<arguments>]
184+ warn(`Usage: ${fs.basename(sourcepath())} <phy> <command> [<arguments>]
185
186 Commands:
187 set_config <config> [<device]...] - set phy configuration
188@@ -150,7 +150,7 @@ const commands = {
189 exit(1);
190 }
191
192- let old_config = readfile(statefile);
193+ let old_config = fs.readfile(statefile);
194 if (old_config)
195 old_config = json(old_config);
196
197@@ -175,7 +175,7 @@ const commands = {
198
199 drop_inactive(config.data);
200 delete_ifname(config.data);
201- writefile(statefile, sprintf("%J", config.data));
202+ fs.writefile(statefile, sprintf("%J", config.data));
203 },
204 get_macaddr: function(args) {
205 let data = {};
206diff --git a/wpa_supplicant.uc b/wpa_supplicant.uc
207index 2a9de67..cd149dc 100644
208--- a/wpa_supplicant.uc
209+++ b/wpa_supplicant.uc
210@@ -1,5 +1,5 @@
211 let libubus = require("ubus");
212-import { open, readfile } from "fs";
213+import * as fs from "fs";
214 import { wdev_create, wdev_remove, is_equal, vlist_new, phy_open } from "common";
215
216 let ubus = libubus.connect();
217@@ -62,7 +62,7 @@ function iface_cb(new_if, old_if)
218
219 function prepare_config(config)
220 {
221- config.config_data = readfile(config.config);
222+ config.config_data = fs.readfile(config.config);
223
224 return { config: config };
225 }
226--
2272.18.0
228