'require form';
'require network';
-var callHostname = rpc.declare({
- object: 'luci',
- method: 'getHostname',
- expect: { result: '' }
+var callFileRead = rpc.declare({
+ object: 'file',
+ method: 'read',
+ params: [ 'path' ],
+ expect: { data: '' },
+ filter: function(value) { return value.trim() }
});
return network.registerProtocol('dhcp', {
o = s.taboption('general', form.Value, 'hostname', _('Hostname to send when requesting DHCP'));
o.datatype = 'hostname';
o.load = function(section_id) {
- return callHostname().then(L.bind(function(hostname) {
+ return callFileRead('/proc/sys/kernel/hostname').then(L.bind(function(hostname) {
this.placeholder = hostname;
return form.Value.prototype.load.apply(this, [section_id]);
}, this));
return rv
end
- },
-
- getHostname = {
- call = function()
- local fs = require "nixio.fs"
- local hostname, code, err = fs.readfile("/proc/sys/kernel/hostname")
- if err then
- return { error = err }, 1
- end
- return { result = hostname:gsub("\n$", "") }
- end
}
}
"read": {
"file": {
"/": [ "list" ],
- "/*": [ "list" ]
+ "/*": [ "list" ],
+ "/proc/sys/kernel/hostname": [ "read" ]
},
"ubus": {
- "file": [ "list", "stat" ],
+ "file": [ "list", "read", "stat" ],
"iwinfo": [ "assoclist", "freqlist", "txpowerlist", "countrylist" ],
- "luci": [ "getBoardJSON", "getDUIDHints", "getHostHints", "getIfaddrs", "getInitList", "getLocaltime", "getTimezones", "getDHCPLeases", "getLEDs", "getNetworkDevices", "getUSBDevices", "getHostname", "getWirelessDevices" ],
+ "luci": [ "getBoardJSON", "getDUIDHints", "getHostHints", "getIfaddrs", "getInitList", "getLocaltime", "getTimezones", "getDHCPLeases", "getLEDs", "getNetworkDevices", "getUSBDevices", "getWirelessDevices" ],
"network.device": [ "status" ],
"network.interface": [ "dump" ],
"network": [ "get_proto_handlers" ],