* Runtime Information, Logview and Station Overview are now dynamically
updated via XHR poll
* New runtime information for "Faulty Stations" (Travelmate backend will
no longer rename faulty uplinks)
* Add a new "Restart" button to reset "Faulty Stations" information and
trigger a Travelmate restart
* In Stations overview the currently used uplink is emphasized in blue,
faulty uplinks in red
* Numerous cleanups (e.g. space=>tab indentation) and other small fixes
luci-proto-relay: propagate up state, do not forward netifd errors
Due to historical reasons, the relayd daemon configuration resides in the
form of a fake "config interface" section in /etc/config/network without
actually registering a protocol handler.
This causes netifd to emit an "INVALID_PROTO" error for the interface
which is technically correct, but confusing for LuCI users.
This situation needs to be resolved upstream by either moving relayd
configuration out of the network config, or by converting the relayd
service into a proper protocol handler.
Until this happens, do not report any netifd errors since we're not
operating on an actual interface.
While we're at it, also propagate the protocol up state from the fake
virtual device to ensure that LuCI displays the relay bridge as "up"
when all relayed interfaces are up as well.
Rework the apply confirmation mechanism to be session agnostic in order to
circumvent cross domain restrictions which prevent the JS code from issuing
apply confirm requests in some cases, e.g. when changing the LAN IP.
Confirmation calls may now be done from unauthenticated pages, as long as a
matching confirmation token is sent along with the request.
The reasoning behind this is that there is little security impact in
confirming pending apply sessions, especially since those sessions can only
be initiated while being authenticated.
After this change, LuCI will now launch a confirmation process on every
rendered page when a rollback is pending. The confirmation will happen
regardless of whether the user is logged in or not, or if the current page
is a CBI form or static template.
A confirmation request now also requires a random one-time token which is
rendered along with the confirmation JavaScript code in order to succeed.
This token is not meant to provide security but to ensure that the confirm
was triggered from an interactive browser session and not some background
HTTP requests that happened to end up in the admin ui.
As a consequence, the different apply/confirm/rollback code paths in CBI
maps and the UCI change/revert pages have been consolidated into one common
implementation residing in the common global theme agnostic footer template.
luci-base: add description annotations to tblsection cells
Add a "data-description" attribute to CBI fields which have a description
set, this allows responsive design themes to render a field description
when decomposing the table grid.
Also reuse the precalculated "typename" property if it exists, instead of
deriving it from the template name yet again.
backend:
* add low priority mode (nice level 10), disabled by default
* enhance 'Force DNS' to redirect ports 53, 853 and 5353
frontend:
* switch to dynamic XHR polling for runtime information and logfile
viewing
* add new 'Refresh' button to reload blocklists
* various cleanups & small fixes
This removes all options 100% unrelated to NCM protocol.
Some options like 'dns' are not currently used by connection scripts,
but may be used in the future.
luci-base: fix bad CSS class names in table section template
The previous refactoring of the template caused the row stripying CSS
classes to be interpolated in such a way, that a separating space to
previous CSS classes was missing, leading to not rendered row names
and other side effects.
Ansuel Smith [Tue, 17 Jul 2018 23:23:46 +0000 (01:23 +0200)]
luci-admin-full: add further wifi options
This commit adds option to disable scan for 40mhz channel, permit to tweak
beacon interval and other advanced settings.
Signed-off-by: Ansuel Smith <redacted>
[fix whitespace, add range constraint to dtim_period, add dtim_period
to local vars, reword commit message] Signed-off-by: Jo-Philipp Wich <redacted>
luci-mod-admin-full: use incremental background scanning for wireless join
The previous approach of synchroneously scanning while building the result
page was suboptimal since it frequently led to connection resets when
accessing LuCI via wireless.
It also exhibited problems when accessed via SSL on recent Firefox versions
where the page were only loaded partially.
Rework the wireless scanning to gather scan results in a background process
and put them into the ubus session data area where they can be readily
accessed without causing network interruptions.
Subsequently rebuild the wireless join page to use XHR polling to
incrementally fetch updated scan results.
luci-mod-admin-full: properly reset internal device form field
In some cases the hidden internal device field was not reset, e.g. after
aborting a wifi scan and using the browser back buttons to navigate to the
overview page again.
In such a case, the previous device hidden field was still present and a new
one getting created, causing further wireless scan attempts to get invoked
with multiple radio names as parameter which fails.
Fix this issue by using the new generic cbi_submit() helper any by dropping
the faulty wifi_action() function.
- Make sure that hitting enter in the form hits the CBI save action and not
apply or cancel
- Hide action panel if no actions are available
- CLeanup code
- The wifi_big.png / wifi_big_disabled.png icons were used on the wireless
overview page which now uses badges with normal sized icons
- The encryption.png / encryption_disabled.png icons were never used at all
luci-base: fix field section add button/input field names
Some CBI map models, mainly the Network -> VLAN page, expect a valid
previous section ID in their Section:create() callback.
Previous refactoring of the tblsection markup broke this behaviour as
the "section" loop variable was accidentally localized, causing it to
be undefined outside of the loop body which caused the section add
button and name input fields to get rendered with a wrong "name"
attribute.
Fix this by moving the "section" variable declaration out of the loop
and by readding references to it in the non-anonymous section add case.
Fixes FS#1657
Fixes 002c4d1d5 ("luci-base: add "Name" label to autogenerated title column") Signed-off-by: Jo-Philipp Wich <redacted>