luci-app-xinetd: rearrange params in tabs
Signed-off-by: Helge Mader <ma@dev.tdt.de>
This commit is contained in:
parent
f2e45c9280
commit
aa9db41a47
2 changed files with 43 additions and 47 deletions
|
@ -7,17 +7,12 @@
|
||||||
|
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=luci-app-xinetd
|
|
||||||
PKG_VERSION:=1.0
|
|
||||||
PKG_RELEASE:=1
|
|
||||||
PKG_LICENSE:=Apache-2.0
|
|
||||||
PKG_MAINTAINER:=Helge Mader <ma@dev.tdt.de>
|
|
||||||
|
|
||||||
# LuCI specific settings
|
|
||||||
LUCI_TITLE:=LuCI Support for xinetd
|
LUCI_TITLE:=LuCI Support for xinetd
|
||||||
LUCI_DEPENDS:=+xinetd
|
LUCI_DEPENDS:=+xinetd
|
||||||
LUCI_PKGARCH:=all
|
LUCI_PKGARCH:=all
|
||||||
|
|
||||||
|
PKG_MAINTAINER:=Helge Mader <ma@dev.tdt.de>
|
||||||
|
|
||||||
include ../../luci.mk
|
include ../../luci.mk
|
||||||
|
|
||||||
# call BuildPackage - OpenWrt buildroot signature
|
# call BuildPackage - OpenWrt buildroot signature
|
||||||
|
|
|
@ -59,11 +59,10 @@ return view.extend({
|
||||||
o.rmempty = false;
|
o.rmempty = false;
|
||||||
o.modalonly = true;
|
o.modalonly = true;
|
||||||
|
|
||||||
o = s.taboption('basic', form.ListValue, 'type', _('Type'), _('Type of service'));
|
o = s.taboption('basic', form.ListValue, 'protocol', _('Protocol'), _('The protocol to be used for this service'));
|
||||||
o.default = 'UNLISTED';
|
o.default = 'tcp';
|
||||||
// FIXME for now we will only support unlisted services, maybe later we could use the (very long) list from /etc/services if needed
|
o.value('tcp', _('TCP'));
|
||||||
// o.value('INTERNAL', _('INTERNAL'));
|
o.value('udp', _('UDP'));
|
||||||
o.value('UNLISTED', _('UNLISTED'));
|
|
||||||
o.rmempty = false;
|
o.rmempty = false;
|
||||||
o.modalonly = true;
|
o.modalonly = true;
|
||||||
|
|
||||||
|
@ -83,31 +82,9 @@ return view.extend({
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
|
||||||
o = s.taboption('basic', form.ListValue, 'wait', _('Threading behaviour'), _('Selection of the threading for this service'));
|
o = s.taboption('basic', form.DynamicList, 'only_from', _('Allowed hosts'), _('List of allowed hosts to access this service'));
|
||||||
o.default = 'no';
|
o.datatype = 'host';
|
||||||
o.value('yes', _('Single-Threaded Service'));
|
o.cast = 'string';
|
||||||
o.value('no', _('Multi-Threaded Service'));
|
|
||||||
o.rmempty = false;
|
|
||||||
o.modalonly = true;
|
|
||||||
|
|
||||||
o = s.taboption('basic', form.ListValue, 'socket_type', _('Socket type'), _('The type of the socket used for this service'));
|
|
||||||
o.default = 'stream';
|
|
||||||
o.value('stream', _('stream-based service'));
|
|
||||||
o.value('dgram', _('datagram-based service'));
|
|
||||||
o.value('raw', _('direct access to IP service'));
|
|
||||||
o.value('seqpacket', _('sequential datagram transmission service'));
|
|
||||||
o.rmempty = false;
|
|
||||||
o.modalonly = true;
|
|
||||||
|
|
||||||
o = s.taboption('basic', form.ListValue, 'protocol', _('Protocol'), _('The protocol to be used for this service'));
|
|
||||||
o.default = 'tcp';
|
|
||||||
o.value('tcp', _('TCP'));
|
|
||||||
o.value('udp', _('UDP'));
|
|
||||||
o.rmempty = false;
|
|
||||||
o.modalonly = true;
|
|
||||||
|
|
||||||
o = s.taboption('basic', widgets.UserSelect, 'user', _('User (UID)'), _('User ID for the server process for this service'));
|
|
||||||
o.rmempty = false;
|
|
||||||
o.modalonly = true;
|
o.modalonly = true;
|
||||||
|
|
||||||
o = s.taboption('basic', form.Value, 'server', _('Server'), _('Complete path to the executable server file'));
|
o = s.taboption('basic', form.Value, 'server', _('Server'), _('Complete path to the executable server file'));
|
||||||
|
@ -129,19 +106,48 @@ return view.extend({
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
o = s.taboption('basic', form.Value, 'server_args', _('Server arguments'), _('Additional arguments passed to the server. There is no validation of this input.'));
|
// Advanced settings
|
||||||
|
o = s.taboption('advanced', form.ListValue, 'type', _('Type'), _('Type of service'));
|
||||||
|
o.default = 'UNLISTED';
|
||||||
|
// FIXME for now we will only support unlisted services, maybe later we could use the (very long) list from /etc/services if needed
|
||||||
|
// o.value('INTERNAL', _('INTERNAL'));
|
||||||
|
o.value('UNLISTED', _('UNLISTED'));
|
||||||
|
o.rmempty = false;
|
||||||
|
o.modalonly = true;
|
||||||
|
|
||||||
|
o = s.taboption('advanced', form.ListValue, 'wait', _('Threading behaviour'), _('Selection of the threading for this service'));
|
||||||
|
o.default = 'no';
|
||||||
|
o.value('yes', _('Single-Threaded Service'));
|
||||||
|
o.value('no', _('Multi-Threaded Service'));
|
||||||
|
o.rmempty = false;
|
||||||
|
o.modalonly = true;
|
||||||
|
|
||||||
|
o = s.taboption('advanced', form.ListValue, 'socket_type', _('Socket type'), _('The type of the socket used for this service'));
|
||||||
|
o.default = 'stream';
|
||||||
|
o.value('stream', _('stream-based service'));
|
||||||
|
o.value('dgram', _('datagram-based service'));
|
||||||
|
o.value('raw', _('direct access to IP service'));
|
||||||
|
o.value('seqpacket', _('sequential datagram transmission service'));
|
||||||
|
o.rmempty = false;
|
||||||
|
o.modalonly = true;
|
||||||
|
|
||||||
|
o = s.taboption('advanced', widgets.UserSelect, 'user', _('User (UID)'), _('User ID for the server process for this service'));
|
||||||
|
o.rmempty = false;
|
||||||
|
o.modalonly = true;
|
||||||
|
|
||||||
|
o = s.taboption('advanced', form.Value, 'server_args', _('Server arguments'), _('Additional arguments passed to the server. There is no validation of this input.'));
|
||||||
o.datatype = 'string';
|
o.datatype = 'string';
|
||||||
o.modalonly = true;
|
o.modalonly = true;
|
||||||
|
|
||||||
// Advanced settings
|
// Advanced settings
|
||||||
o = s.taboption('advanced', form.DynamicList, 'only_from', _('Allowed hosts'), _('List of allowed hosts to access this service'));
|
o = s.taboption('advanced', form.DynamicList, 'no_access', _('Forbidden hosts'), _('List of forbidden hosts to access this service'));
|
||||||
o.datatype = 'host';
|
o.datatype = 'host';
|
||||||
o.cast = 'string';
|
o.cast = 'string';
|
||||||
o.modalonly = true;
|
o.modalonly = true;
|
||||||
|
|
||||||
o = s.taboption('advanced', form.DynamicList, 'no_access', _('Forbidden hosts'), _('List of forbidden hosts to access this service'));
|
o = s.taboption('advanced', form.Value, 'instances', _('Number of instances'), _('Number of simultaneously running servers for this service. Argument is any number or the keyword \'UNLIMITED\''));
|
||||||
o.datatype = 'host';
|
o.datatype = 'or("UNLIMITED", uinteger)';
|
||||||
o.cast = 'string';
|
o.value('UNLIMITED', 'UNLIMITED');
|
||||||
o.modalonly = true;
|
o.modalonly = true;
|
||||||
|
|
||||||
o = s.taboption('advanced', form.DynamicList, 'access_times', _('Access times'), _('Time intervals within service is available (Format hh:mm-hh:mm)'));
|
o = s.taboption('advanced', form.DynamicList, 'access_times', _('Access times'), _('Time intervals within service is available (Format hh:mm-hh:mm)'));
|
||||||
|
@ -167,11 +173,6 @@ return view.extend({
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
o = s.taboption('advanced', form.Value, 'instances', _('Number of instances'), _('Number of simultaneously running servers for this service. Argument is any number or the keyword \'UNLIMITED\''));
|
|
||||||
o.datatype = 'or("UNLIMITED", uinteger)';
|
|
||||||
o.value('UNLIMITED', 'UNLIMITED');
|
|
||||||
o.modalonly = true;
|
|
||||||
|
|
||||||
o = s.taboption('advanced', form.MultiValue, 'log_on_success', _('Log on success'), _('Informations that should be logged for this service in case of successful connection'));
|
o = s.taboption('advanced', form.MultiValue, 'log_on_success', _('Log on success'), _('Informations that should be logged for this service in case of successful connection'));
|
||||||
o.value('PID', _('Server PID'));
|
o.value('PID', _('Server PID'));
|
||||||
o.value('HOST', _('Remote host address '));
|
o.value('HOST', _('Remote host address '));
|
||||||
|
|
Loading…
Reference in a new issue